public class CoreJava {
public int show(){
System.out.println("调用show函数");
// System.exit(0);
return 1;
}
public static void main(String [] args){
CoreJava cj= new CoreJava();
System.out.println(cj.show());
System.out.println("执行到此");
}
}
对于上面的这个小程序来讲所要表现的就是System.exit(0)的用法,如果把System.exit(0)注释掉在编译器中运行会出现如下结果:
调用show函数
1
执行到此
如果加入注释之后就会出现下面的结果:
调用show函数
也就是说System.exit()这个方法就是退出系统甚至如果在return之前调用的话连return语句都不会执行,此时也许你会想那么在return语句后面调用会怎么样呢,呵呵,很简单连编译都无法通过,会出现 Unreachable code 的错误,那下面的代码呢?有会如何。
try{
System.out.println("执行方法的第一步");
//System.exit(0);
return ;
}finally{
System.out.println("看看finally程序块是否执行");
}
这个程序和最上面的程序有明显的区别就是加入了finally程序块,那么执行的情况是怎么样的呢?真会像我们一般情况下理解的finally块的程序都会执行吗?答案是否定的,如果把System.exit()注释掉输出这下面这样的:
执行方法的第一步
看看finally程序块是否执行
也就是说执行了finally程序块里面的代码,但是如果把注释删除掉就不会输出finally块的代码了
执行方法的第一步
总结:相信看了上面的说明你会对exit()这个函数有了一个比较形象的认识了吧.并且也对finally一个比较容易范的误区有了理解了吧,简单一句话 return仍然执行,exit后不执行。