iT邦幫忙

2024 iThome 鐵人賽

DAY 9
0

無窮迴圈

  • 當for、while、do...while等迴圈的判斷條件一直成立,則迴圈內的敘述便會不斷地重複執行,即為無窮迴圈。
    1.手動中斷:在執行程式時,透過手動方式強制中斷程式的執行來停止無窮迴圈。
    2.break指令:再程式開發時,可以提前預知無窮迴圈的發生或有線迴圈但需要在某一條件強制終止時,便可以透過在使用break指令來結束迴圈。
    以下為迴圈內部終止的範例語法:
while(true){
    程式敘述;
    if(判斷條件)break;
}

程式範例實做:

public class Alex0923_1{
    public static void main(String[] args){
        int cnt=0, value=0,
        while (true){
            value=(int)(Math.random()*100+1);
            if(value==100)
                break;
            cnt++;
        }
        System.out.println("累積產生亂數的次數:"+cnt+"次,才產生100的數。");
    }
}

程式執行結果:

  • 由於是隨機產生亂數,所以執行次數不確定。
累積產生亂數的次數:76次,才產生100的數。

3.System.exit(0)方法:break是強制結束迴圈的執行,並執行迴圈之後的程式,但System.exit(0)則可以直接強制結束程式的執行。
程式範例實做:

public class Alex0923_2
    public static void main(String[]args){
        int i=0;
        while (true){
            i++;
            if(1 == 100)
            System.exit(0);
        }
        System.out.println("i = "+i);
    }
}

break與continue

1.break的作用

  • 在switch中用來結束程式敘述進行下一個case的比對;在for、while、do...whille中,用於中段目前迴圈,並進行之後的程式執行。
    2.continue的作用
  • 用處與break相似,主要用於迴圈,continue只會結束接下來區域中的程式敘述,並跳迴迴圈的開頭繼續下一個迴圈,而不是離開或中斷。
    程式範例實做:
public class Alex0923_3
    public static void main(String[] args){
        for(int i = 0;i < 100;i++){
            if(i == 74) break;
            if(i % 9 != 0) continue;
            System.out.print(i + "\t");
        }
        int i = 0;
        while (true){
            i++;
            int j = i *27;
            if (j == 1269) break;
            if (i % 10 != 0)continue;
            System.out.println;
        }
    }
}

程式執行結果:

0 9 18 27 36 45 54 63 72 10
20
30
40

上一篇
Java流程控制-2
下一篇
Java程式陣列-1
系列文
自學Java物件導向程式語言30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言