作為 Codegym 大學課程一部分的導師授課片段。報名參加完整課程。


“我想再告訴你一個循環。for循環它只是表達 while 循環的另一種方式,只是更緊湊和方便(對於程序員)。這裡有一些例子:”

儘管
int i = 3;
while (i >= 0)
{
    System.out.println(i);
    i--;
}
為了

for (int i = 3; i >= 0; i--) { System.out.println(i); }
儘管
int i = 0;
while (i < 3)
{
    System.out.println(i);
    i++;
}
為了

for (int i = 0; i < 3; i++) { System.out.println(i); }
儘管
boolean isExit = false;
while (!isExit)
{
    String s = buffer.readLine();
    isExit = s.equals("exit");
}
為了

for (boolean isExit = false; !isExit; ) { String s = buffer.readLine(); isExit = s.equals("exit"); }
儘管
while (true)
    System.out.println("C");
為了
for (; true; )
    System.out.println("C");
儘管
while (true)
{
    String s = buffer.readLine();
    if (s.equals("exit"))
        break;    
}
為了
for (; true; )
{
    String s = buffer.readLine();
    if (s.equals("exit"))
        break;    
}

“嗯?”

“這些 循環是等價的。while循環在括號中包含一個條件,但是 for 循環語句中有三個元素。但是編譯器將for循環變成了等價的while循環。

“ for循環中的第一個表達式(以綠色突出顯示)在循環開始之前執行一次。”

"每次執行循環體之前都會對第二個表達式求值。這就像 while 循環中的條件。"

第三個表達式在每次循環體執行後計算。”

“為什麼我們還需要一個循環?有了while循環,一切都非常清楚。”

這是為了方便程序員。循環在編程中很常見。在一行中包含有關循環計數器的初始值、終止條件和遞增表達式的信息會很有幫助。”