for循環相較while循環可以說更復雜一點,但是也更直觀一點
方法/步驟
for循環的格式為
for(語句1;語句2;語句3)
{
做事;
}
其中
語句1一般用來定義變量,可以不寫,即只寫一個分號";"
語句2是一個邏輯值,這個邏輯值如果是真,那循環繼續,是假,則循環結束,如果是空,則循環繼續,即變成死循環
語句3一般是跟語句1一樣,也是可有可無,一般用來自增或自減,即循環的步長(不明白沒事,一會看例子)
for (; ; )
{
Console.Write(1);
}
這段代碼,因為語句二為空,所以即是個死循環,程序不停地輸出"1"
語言入門:[13]for循環語句#
for (; true; )
{
Console.Write(1);
}
這段程序的語句二是邏輯true,所以程序也會一直不停循環,一直輸出"1"
語言入門:[13]for循環語句#
for (; false; )
{
Console.Write(1);
}
這個代碼,語句二為邏輯false,所以程序什麼也不會輸出
語言入門:[13]for循環語句#
語句一可以用來定義變量,並且這個語句只有循環開始時執行一次, 這裡,我們輸出語句一定義的變量 i
語言入門:[13]for循環語句#
語句一可以同時定義兩個變量,但必須是同樣類型 ,中間用逗號隔開
語言入門:[13]for循環語句#
語句三可以理解為,每一次循環執行完成後才執行的語句
代碼
for (int i=9; true; i++)
{
Console.Write(i);
}
和代碼
for (int i=9; true;)
{
Console.Write(i);
i++
}
你可以認為是等價的
如果以上你都不能理解,那麼你死記硬背般記住這個循環的格式
for (int i=0; i<10; i++)
{
Console.Write(i);
}
這個代碼的執行過程是這樣的
首選程序執行語句一:int i=0;
然後程序比較語句二:i<10是true還是false,這裡明顯是true,所以程序執行循環體
{
Console.Write(i);
}
執行完循環體後,執行語句三i++;
此時不會再執行語句一(前面說了,語句一隻執行一次),比較語句二:i<10是true還是false,這裡明顯是true,所以程序執行循環體
{
Console.Write(i);
}
執行完循環體後,執行語句三i++;
再比較語句二:i<10是true還是false,這裡明顯是true,所以程序執行循環體
{
Console.Write(i);
}
如此循環,直到語句二的值是false,也就是直到i<10是false,也就是i>=10,循環體執行完畢
我們看看這段代碼的運行結果,從零輸出到9,沒錯
語言入門:[13]for循環語句#
複雜一點的循環,其實就是循環的內嵌,也就是兩個循環嵌套使用,再說一次,對簡單的熟悉了,複雜的也就簡單了,大家不要去研究很多層的嵌套循環,只要把單層的循環吃透了,那就算你一百層,說白了,也只是單層循環的疊加,沒有什麼意義,這裡我寫個例子,看不懂的,也不用著急,好好練習單層的循環就好
語言入門:[13]for循環語句#
注意事項
語句一和語句二和語句三都不必寫,但是必須有寫分號";",for後面的括號裡,一定是兩個分號,千萬不要出錯,否則無法執行