1. 程式人生 > >網友:有沒有一段程式碼,看起來簡單,實則威力無窮,程式設計師:有啊

網友:有沒有一段程式碼,看起來簡單,實則威力無窮,程式設計師:有啊

話不多說,直接上圖

程式碼: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是用來表示這個程式是非正常退出。