關於 for 循環和 while 循環?

下列關於for循環和while循環的說法中哪一個是正確的(  )
A while循環能實現的操做,for循環也都能實現
B while循環判斷條件通常是程序結果,for循環判斷條件通常是非程序結果
C 兩種循環任什麼時候候均可替換
D 兩種循環結構中都必須有循環體,循環體不能爲空java

選:A學習

B:判斷條件和結果無關係spa

C: for循環適用於已知循環次數,while循環適用於未知循環次數的時候 ,如for不知道循環次數怎麼互換使用for循環?因此有時候不能互換。code

for(init; test; increment) , while(test) 因而可知,當for語句的初始化及自增部分爲空時才能替換內存

D:雖然空循環體沒意義,不過都是可用的。例:for(int i=0;i<10;i++);  及 int i=0; while(i++<10);作用域

注意:rem

while和for有時候能夠互換,區別在於for爲了斷定循環而初始化定義的變量在for循環結束後在內存中釋放,而while循環使用的變量則在循環結束後能夠繼續使用(兩個循環的變量的做用域不一樣)。 it

用while構造死循環時,通常會使用while(TRUE)來構造死循環;而用for來構造死循環時,則使用for(;;)來構造死循環。 for循環

//問:我國最高山峯是珠穆朗瑪峯:8848m,我如今有一張足夠大的紙張,厚度爲:0.0
//請問,我摺疊多少次,就能夠保證厚度不低於珠穆朗瑪峯的高度?
//此時循環次數不明確,因此選擇 while循環比較合適。
class WhileTest {
  public static void main(String[] args) {
    //定義一個統計變量,默認值是0
    int count = 0;
    //最高山峯是珠穆朗瑪峯:8848m這是最終的厚度
    int end = 884800;
    int start = 1;
    while(start<end) {
      //只要每次變化的厚度沒有超過珠穆朗瑪峯的高度,就摺疊,統計變量++
      count++;
      //摺疊一次有什麼變化呢?就是厚度是之前的2倍。
      start *= 2;
      System.out.println("第"+count+"次厚度是"+start);
    }
    //輸出統計變量。
    System.out.println("要疊"+count+"次,高度才能不低於珠穆朗瑪峯的高度");
  }
}

 

 

水平有限,如有問題請留言交流!class

互相學習,共同進步:) 轉載請註明出處謝謝!

相關文章
相關標籤/搜索