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后不執行。