catch语句中System.exit();

catch语句中System.exit();

System.exit()终止了程序运行,可以看成释放内存吗?那随后的finally语句可以不写吧,毕竟finally主要是用来释放内存,请问老师我的理解有误吗?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,System.exit()是停止运行。 如果同学希望程序关闭,就可以使用System.exit()语句,如:第一个作业中的退出程序操作。如图所示:

http://img1.sycdn.imooc.com//climg/5dd4fc2e09d4c46503880102.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕小尤 2019-11-20 16:14:28

同学你好,System.exit()是可以释放内存,但System.exit()会将整个虚拟机里的内容都停掉。所以建议同学书写finally模块,通过finally释放内存。如果没有finally进行关闭的话,会对这些造成内存浪费,如果有finally块的话,不管有没有出错,都会执行finally块里的内容,进行关闭。例如:

import java.util.Scanner;
 
public class Test {
    public static void main(String[] args) {
        Scanner sc=null;
        try {
            sc=new Scanner(System.in);
            int i =9/0;
        } catch ( java.lang.ArithmeticException e) {
            System.out.println("异常");
        }finally {
            sc.close();
        }
    }
 
}

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 课桌刻着小时候 #1
    多谢老师,那么System.exit()的适用场景是什么?
    2019-11-20 16:20:47
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师