網友:有沒有一段程式碼,看起來簡單,實則威力無窮,程式設計師:有啊
阿新 • • 發佈:2018-12-15
話不多說,直接上圖
程式碼:System.exit(0);
這句程式碼,很簡單,但是也非常暴力。就是結束整個程式。
1、下面先演示下不加上這個語句:
然後控制檯輸出兩個println;
2、現在加這句程式碼放在中間
然後執行的效果就是:
3、現在把語句放在開頭:
小編相信這裡有很多學習java的朋友,小編整理了一份java方面的學習資料,想要獲取的可以加我的java學習Q群的喲,92820,4055。歡迎愛學習Java的你們。
執行:
然後什麼都沒有了。顯示為空。
下面來看一下,exit這個靜態方法:
看了這段程式碼,你就會發現,這個是有一個靜態引數的,如果是非0表示非正常退出,如果是0表示是正常退出。
下面來總結一下,這個方法:
1、System.exit(0)是將你的整個虛擬機器裡的內容都停掉了 ,而dispose只是關閉這個視窗,但是並沒有停止整個application exit 。無論如何,記憶體都釋放了!也就是說連JVM都關閉了,記憶體里根本不可能還有什麼東西
2、System.exit(0)是正常退出程式,而System.exit(1)或者說非0表示非正常退出程式
3、System.exit(status)不管status為何值都會退出程式。和return 相比有以下不同點:return是回到上一層,而System.exit(status)是回到最上層
示例
在一個if-else判斷中,如果我們程式是按照我們預想的執行,到最後我們需要停止程式,那麼我們使用System.exit(0),而System.exit(1)一般放在catch塊中,當捕獲到異常,需要停止程式,我們使用System.exit(1)。這個status=1是用來表示這個程式是非正常退出。