1. 程式人生 > 其它 >Day8 while和do while

Day8 while和do while

While迴圈

他會一直迴圈下去,所以一般需要一個表示式讓他失效,從而停止迴圈,這裡的失效表示式就是i<100

package struct;

public class WhileDemo01 {
    public static void main(String[] args) {
        //輸出1-100
        int i = 0;
        while (i<100){
            i++;
            System.out.println(i);
        }

    }
}

基本句式

while非常簡單,但是也需要注意,非必要情況下,不要讓程式進行死迴圈


我們除非是等待客戶端連線,伺服器監聽相應,才會使用的無限迴圈程式碼

public class WhileDemo02 {
    public static void main(String[] args) {
        //死迴圈
        while (true){

        }
    }
}

最後,我們能運用while來做寫暴力運算

package struct;

public class WhileDemo03 {
    //計算1+2+3+...+100=?
    public static void main(String[] args) {
        int i =0;
        int sum =0;

        while(i<=100){
            sum=sum+i;
            i++;
        }
        System.out.println(sum);
    }


}

這裡從1+2+3+..+100。計算機用的是死辦法。

Do While迴圈


他的表示式和while的區別就是:無論他的表示式是否正確,她都會讓其先跑一次。

package struct;

public class DoWhileDemo01 {
    public static void main(String[] args) {
        int i =0;
        int sum =0;
        do {
            sum=sum+i;
            i++;
        }while (i<=100);
        System.out.println(sum);
    }
}

這裡和前面用while的運算結果是一樣的。

package struct;

public class DoWhileDemo02 {
    public static void main(String[] args) {
        int a =0;
        while (a<0){
            System.out.println(a);
            a++;
        }
        System.out.println("===========");
        do {
            System.out.println(a);
            a++;
        }while(a<0);
    }
}

這裡就能體現出他們兩個之間的區別了,inta=0,所以while(a<0)是不成立的,所以都沒有執行。
而do while中,先運行了0,之後再判斷對錯,因此結果也是0