6、for與while,循環(huán)兩兄弟的自白

標準格式:

for:

    for(初始化語句;判斷條件語句;控制條件語句) {
        循環(huán)體語句;
    }

執(zhí)行流程:
A:執(zhí)行初始化語句
B:執(zhí)行判斷條件語句,看其返回值是true還是false

  • 如果是true,就繼續(xù)執(zhí)行
  • 如果是false,就結束循環(huán)

C:執(zhí)行循環(huán)體語句;
D:執(zhí)行控制條件語句
E:回到B繼續(xù)。

while:

    while(判斷條件語句) {
        循環(huán)體語句;
    }

擴展格式:

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

使用區(qū)別:

1、如果你想在循環(huán)結束后,繼續(xù)使用控制條件的那個變量,用while循環(huán),否則用for循環(huán)。

2、不知道到底用什么循環(huán)的時候,用for循環(huán),因為變量及早的從內(nèi)存中消失,可以提高內(nèi)存的使用效率。

舉例:

class Demo {
    public static void main(String[] args) {
    //for循環(huán)
    for(int x=0; x<10; x++) {
        System.out.println("厲害了word哥!");
    }
    //這里不能繼續(xù)訪問x了
    //System.out.println(x);
    //----------------------------------------
    //while循環(huán)
    int y = 0;
    while(y<10) {
        System.out.println("承讓了word妹!");
        y++;
    }
    //這里可以繼續(xù)訪問y
    System.out.println(y);
    }
} 

3、如果是不明確要做多少次,用while循環(huán)較為合適。

舉例:

珠穆朗瑪峰:8848m,我現(xiàn)在有一張足夠大的紙張,厚度為:0.000088m。

請問,我需要折疊多少次,就可以保證其厚度不低于珠穆朗瑪峰的高度?

class Demo {
    public static void main(String[] args) {
    //定義一個統(tǒng)計變量,默認值是0
    int count = 0;
    
    //最高山峰是珠穆朗瑪峰:8848m這是最終的厚度
    //我現(xiàn)在有一張足夠大的紙張,厚度為:0.000088m這是初始厚度
    //為了簡單,我把0.000088變成88,同理8848就變成了8848000000
    long end = 8848000000L;
    long start = 88L;
    
    while(start<end) {
        //只要每次變化的厚度沒有超過珠穆朗瑪峰的高度,就折疊,統(tǒng)計變量++
        count++;
        
        //折疊一次有什么變化呢?就是厚度是以前的2倍。
        start *= 2;
        
        System.out.println("第"+count+"次厚度是"+start);
    }
    
    //輸出統(tǒng)計變量。
    System.out.println("要疊"+count+"次");
    }
}

突然覺得,看似高不可攀的珠穆朗瑪峰,其實也不過就是一張A4紙被27次折疊的高度而已啦。
.
.

?To Be Continue...?

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容