只要給定條件為真,Java編程語言中的while
迴圈語句就會重複執行目標語句。
語法
while
迴圈的語法是 -
while(boolean_expression) {
// 執行語句
}
這裏,語句可以是單個語句或語句塊。 條件(boolean_expression
)可以是任何運算式,true
是任何非零值。
執行時,如果boolean_expression
結果為true
,則執行迴圈內的操作。只要運算式結果為true
,它將繼續執行。
當條件變為false
時,程式控制將傳遞到緊接迴圈之後的代碼。
這裏,while
迴圈有一個關鍵點是迴圈可能永遠不會運行。 當測試運算式並且結果為false
時,將跳過循環體並且將執行while
迴圈之後的第一個語句。
示例1. Java while迴圈
這是一個簡單的java while迴圈示例,用於列印5
到10
之間的數字。
//package com.zaixian.javawhileloop;
public class JavaWhileLoop {
public static void main(String[] args) {
int i = 5;
while (i <= 10) {
System.out.println(i);
i++;
}
}
}
請注意,在迴圈中增加了i
的值,否則while
迴圈永遠不會終止,因為它變成了無限迴圈。 終止程式在無限迴圈中運行的唯一方法是手動退出它或JVM記憶體不足時。
請注意,如果布爾運算式返回false
,則while
迴圈內的語句將不會執行。 所以while
迴圈中的語句有可能永遠不會執行。
示例2. Java迭代迴圈與迭代器
Java while
迴圈在java中經常與迭代器一起使用。 下麵來看一個使用while
迴圈迭代ArrayList
的簡短示例。
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class JavaWhileLoop {
public static void main(String[] args) {
List<String> veggies = new ArrayList<>();
veggies.add("油麥菜");
veggies.add("紅豆角");
veggies.add("番茄");
Iterator<String> it = veggies.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
}
執行上面示例代碼,得到以下結果 -
油麥菜
紅豆角
番茄
示例3. while無限迴圈示例
有時希望迴圈無限運行。在這種情況下,可以使用while
迴圈。 無限運行的一個例子是在特定位置連續查找檔,如果找到則然後處理它。 下麵是java中while
迴圈的偽代碼示例。
//package com.zaixian.javawhileloop;
public class WhileTrueJava {
public static void main(String[] args) {
while(true) {
System.out.println("開始處理");
// 在特定目錄中查找檔
// 如果找到則處理它,比如將檔資訊插入資料庫
System.out.println("結束處理");
// 等待10秒,再繼續處理...
try {
Thread.sleep(10*1000);
} catch (InterruptedException e) {
System.out.println("Thread Interrupted, exit now");
System.exit(0);
}
}
}
}
如果運行上面的程式,需要在終端上使用Ctrl + C
手動退出程式。 如果使用的是Eclipse,則會有一個紅色按鈕來終止當前正在運行的程式。
上一篇:
java中方法重載和方法重寫的區別
下一篇:無