Java While循環 do-while循環用法
循環語句就是讓計算機根據條件做循環計算,在條件滿足時繼續循環,條件不滿足時退出循環。
Java提供了while條件循環。它的基本用法是:
while (條件表達式) { 循環語句}// 繼續執行后續代碼
while循環在每次循環開始前,先會判斷條件是否成立。如果計算結果為true,就把循環體內的語句執行一遍,如果計算結果為false,那就直接跳到while循環的末尾,繼續往下執行。
do while循環的基本結構
do{//循環體}while(條件);
與while不同的是,do while先不進行判斷,直接先將循環體中的代碼執行一遍,然后根據while中的條件的返回值判斷,如果符合條件,則再一次運行循環體,如果不符合,則執行do while外面的代碼
注意:不論是do while還是while循環,他們的本質都是相同的,符合條件則執行循環體,不符合則執行其他代碼,但是,while后面的小括號中的是true的時候,才會循環。
舉個例子,用while循環來計算1到100的累加。
public class Main { public static void main(String[] args) { int sum = 0; // 累加的和,初始化為0 int n = 1; while (n <= 100) { // 循環條件是n <= 100 sum = sum + n; // 把n累加到sum中 n ++; // n自身加1 } System.out.println(sum); // 5050 }}
執行結果:
5050
值得注意的是while循環是先判斷循環條件,再循環,因此,有可能一次循環都不做。如果循環條件永遠滿足,那這個循環就變成了死循環。死循環將導致100%的CPU占用,用戶會感覺電腦運行緩慢,所以要避免編寫死循環代碼。如果循環條件的邏輯寫得有問題,也會造成意料之外的結果。
下面舉個例子:
public class Main { public static void main(String[] args) { int sum = 0; int n = 1; while (n > 0) { sum = sum + n; n ++; } System.out.println(n); // -2147483648 System.out.println(sum); }}
執行結果:
-2147483648-1073741824
表面上看,上面的while循環是一個死循環,但是,Java的int類型有最大值,達到最大值后,再加1會變成負數,結果,就會退出while循環。
小提示
while循環先判斷循環條件是否滿足,再執行循環語句;
while循環可能一次都不執行;
編寫循環時要注意循環條件,并避免程序進入死循環。
do-while循環前面一篇介紹了while循環語句,這里介紹do-while循環。do-while和while唯一的區別就是,do-while是先做循環,然后去判斷,而while循環是先判斷,再去循環。說得有點繞口,在同一個例子去實現用while和do-while實現從1到100的求和。
相關代碼如下:
package lessons; public class MyClass { public static void main(String[] args) {int a= 1;int sum = 0;while(a <= 100){sum += a;a++;}System.out.println(sum);int x = 1; int sum1 = 0; do{ sum1 += x;x++; }while(x <= 100); System.out.println(sum1);}}
運行結果,發現兩個循環結果都是5050.自己好好去理解下先循環再判斷,這是do-while循環的基本語法。
相關文章: