while循環


循環語句-while循環

while循環完整格式:

初始化語句;
while (條件判斷語句) {
    循環體語句;
    條件控制語句;
}

while循環執行流程:

  ①執行初始化語句

  ②執行條件判斷語句,看其結果是true還是false

    如果是false,循環結束

​     如果是true,繼續執行

  ③執行循環體語句

  ④執行條件控制語句

  ⑤回到②繼續

  • 示例代碼:

public class WhileDemo {
    public static void main(String[] args) {
        //需求:在控制台輸出5次"HelloWorld"
        //for循環實現
        for(int i=1; i<=5; i++) {
            System.out.println("HelloWorld");
        }
        System.out.println("--------");
        //while循環實現
        int j = 1;
        while(j<=5) {
            System.out.println("HelloWorld");
            j++;
        }
    }
}

while循環案例

/*需求:世界最高山峰是珠穆朗瑪峰(8844.43米=8844430毫米),假如我有一張足夠大的紙,它的厚度是0.1毫米。請問,我折疊多少次,可以折成珠穆朗瑪峰的高度?*/
public class WhileTest {
    public static void main(String[] args) {
        //定義一個計數器,初始值為0
        int count = 0;
        //定義紙張厚度
        double paper = 0.1;
        //定義珠穆朗瑪峰的高度
        int zf = 8844430;
        //因為要反復折疊,所以要使用循環,但是不知道折疊多少次,這種情況下更適合使用while循環
        //折疊的過程中當紙張厚度大於珠峰就停止了,因此繼續執行的要求是紙張厚度小於珠峰高度
        while(paper <= zf) {
            //循環的執行過程中每次紙張折疊,紙張的厚度要加倍
            paper *= 2;
            //在循環中執行累加,對應折疊了多少次
            count++;
        }
        //打印計數器的值
        System.out.println("需要折疊:" + count + "");
    }
}
View Code

循環語句-dowhile循環

完整格式:

初始化語句;
do {
    循環體語句;
    條件控制語句;
}while(條件判斷語句);

執行流程:

  ① 執行初始化語句

  ② 執行循環體語句

  ③ 執行條件控制語句

  ④ 執行條件判斷語句,看其結果是true還是false

    如果是false,循環結束

    如果是true,繼續執行

  ⑤ 回到②繼續

public class DoWhileDemo {
    public static void main(String[] args) {
        //需求:在控制台輸出5次"HelloWorld"
        //for循環實現
        for(int i=1; i<=5; i++) {
            System.out.println("HelloWorld");
        }
        System.out.println("--------");
        //do...while循環實現
        int j = 1;
        do {
            System.out.println("HelloWorld");
            j++;
        }while(j<=5);
    }
}

三種循環的區別

  • 三種循環的區別

    • for循環和while循環先判斷條件是否成立,然后決定是否執行循環體(先判斷后執行)

    • do...while循環先執行一次循環體,然后判斷條件是否成立,是否繼續執行循環體(先執行后判斷)

  • for循環和while的區別

    • 條件控制語句所控制的自增變量,因為歸屬for循環的語法結構中,在for循環結束后,就不能再次被訪問到了

    • 條件控制語句所控制的自增變量,對於while循環來說不歸屬其語法結構中,在while循環結束后,該變量還可以繼續使用

  • 死循環(無限循環)的三種格式

    1. for(;;){}

    2. while(true){}

    3. do {} while(true);

死循環

for死循環格式 :
for(;;){

}

while死循環格式 :

while(true){

}

do..while死循環格式 :

do{

}while(true);

死循環案例

/*
    問題: 死循環有應用場景嗎?
        
                例如: 鍵盤錄入一個1-100之間的整數
                
                顧慮: 鍵盤錄入是用戶操作的, 用戶就可能會出現一些誤操作的現象
        
*/
public static void main(String[] args) {
    /*
        for(;;){
            System.out.println("我停不下來了~");
        }
        */

    /*
        while(true){
            System.out.println("我停不下來了~");
        }
        */

    do{
        System.out.println("我停不下來了~");    
    }while(true);

    System.out.println("看看我能被執行嗎?~");    // 無法訪問的語句
}
}
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM