```java public class InterruptTest { /** * 第一種中斷執行的狀況,break * */ public static void test1() { for (int i = 0; i < 10; i ++) { if (i == 5) { break; //中斷整個迴圈運作 } System.out.println("test1 : " + i); } //因為只是中斷迴圈運作,所以這句會印出 System.out.println("test1 finish"); } public static void test2() { for (int i = 0; i < 10; i ++) { if (i == 5) { //跳過目前這一趟迴圈的執行。 //不過 continue 跟中斷程式執行無關, //純粹是講到了 break 就順便提到 continue 這樣 continue; } System.out.println("test2 : " + i); } //因為完全跟中斷程式運作無關,所以一定會印出這句 System.out.println("test2 finish"); } /** * 第二種中斷執行的狀況,return * */ public static void test3() { for (int i = 0; i < 10; i ++) { if (i == 5) { //中斷整個方法執行,如果放在 main 裡面,就會中斷整個程式運作 return; } System.out.println("test3 : " + i); } //也因為中斷整個方法運作,所以這句不會印出 System.out.println("test3 finish"); } /** * 第三種中斷執行的狀況,System.exit * */ public static void test4() { for (int i = 0; i < 10; i ++) { if (i == 5) { System.exit(0); //直接強制中斷所有程式運作,包含伺服器 //所以在單機使用沒問題,在 web container 上就別使用了 // //帶入 0 的意思代表正常結束這個程式。 //如果帶入 1 的話,代表在你的認知裡面這個中斷是不正常的 } System.out.println("test4 : " + i); } //因為中斷整個程式運作,所以這句不會印出 System.out.println("test4 finish"); } public static void main(String[] args) { test1(); test2(); test3(); //test4(); System.out.println("all method finish"); //如果 test4 有執行,那麼這句就不會印出,因為已經中斷整個程式了 } } ```