詳解Java中的do...while循環(huán)語句的使用方法
對于while語句而言,如果不滿足條件,則不能進(jìn)入循環(huán)。但有時候我們需要即使不滿足條件,也至少執(zhí)行一次。
do…while循環(huán)和while循環(huán)相似,不同的是,do…while循環(huán)至少會執(zhí)行一次。
do {
//代碼語句
}while(布爾表達(dá)式);
請注意,布爾表達(dá)式在循環(huán)的末尾,因此循環(huán)中的語句在測試布爾值之前已經(jīng)執(zhí)行了一次。
如果布爾表達(dá)(boolean_expression)式評估結(jié)果為true,則控制跳回到do語句,循環(huán)中的語句再次執(zhí)行。 重復(fù)此過程,直到布爾表達(dá)式(boolean_expression)評估結(jié)果為false。
do..while循環(huán)語句也稱為后測試循環(huán)語句,它的循環(huán)重復(fù)執(zhí)行方式,也是利用一個條件來控制是否要繼續(xù)重復(fù)執(zhí)行這個語句。與while循環(huán)所不同的是,它先執(zhí)行一次循環(huán)語句,然后再去判斷是否繼續(xù)執(zhí)行。

例如,計算1到100之間所有整數(shù)的和,也可以使用do...while循環(huán)語句實(shí)現(xiàn)。
具體代碼如下:
int sum=0;
int i=1;
do{
sum+=i;
i++;
}while (i<=100);
System.out.println("1到100之間所有整數(shù)的和是: "+sum);
do...while循環(huán)語句執(zhí)行的過程是:先執(zhí)行一次循環(huán)體,然后再判斷條件表達(dá)式,如果條件表達(dá)式的值為true,則繼續(xù)執(zhí)行,否則跳出循環(huán)。也就是說,do...while循環(huán)語句中的循環(huán)體至少被執(zhí)行一次。
注意:布爾表達(dá)式在循環(huán)體的后面,所以語句塊在檢測布爾表達(dá)式之前已經(jīng)執(zhí)行了。 如果布爾表達(dá)式的值為true,則語句塊一直執(zhí)行,直到布爾表達(dá)式的值為false。
示例2. do…while循環(huán)
這是一個簡單的java do while循環(huán)示例,用于打印5到10之間的數(shù)字。/
public class JavaDoWhileLoop {
public static void main(String[] args) {
int i = 5;
do {
System.out.println(i);
i++;
} while (i <= 10);
}
}
執(zhí)行上面示例代碼,得到以下結(jié)果:
5
6
7
8
9
10
實(shí)例3 輸出從10開始但小于20的數(shù)
public class Test {
public static void main(String args[]){
int x = 10;
do{
System.out.print("value of x : " + x );
x++;
System.out.print("\n");
}while( x < 20 );
}
}
以上實(shí)例編譯運(yùn)行結(jié)果如下:
value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19
示例4. do…while無限循環(huán)
通過在do...while循環(huán)中將布爾表達(dá)式使用true值來創(chuàng)建無限循環(huán)。下面是一個簡單的做java無限循環(huán)的例子(偽代碼)。
//package com.java.javadowhileloop;
public class DoWhileTrueJava {
public static void main(String[] args) throws InterruptedException {
do {
System.out.println("Start Processing inside do while loop");
// 在指定目錄中查找文件
// 如果找到,則處理它,例如:將文件信息插入數(shù)據(jù)庫
System.out.println("End Processing of do while loop");
Thread.sleep(5 * 1000); // 暫停5秒,接著執(zhí)行
} while (true);
}
}
請注意,如果在終端中執(zhí)行程序,則可使用Ctrl + C手動退出應(yīng)用程序。 如果已在Eclipse IDE中執(zhí)行程序,則會有一個紅色按鈕來終止程序。
do…while與while循環(huán)比較
當(dāng)希望在循環(huán)內(nèi)的語句至少執(zhí)行一次時,則應(yīng)該使用do...while循環(huán)。 否則,使用while循環(huán)總是更好選擇。Java while循環(huán)看起來比do...while循環(huán)更干凈。
相關(guān)文章
使用Maven創(chuàng)建和管理多模塊項目的詳細(xì)步驟
使用Maven進(jìn)行多模塊項目管理是一種常見的做法,它可以幫助你組織大型項目,使其結(jié)構(gòu)更加清晰,便于維護(hù)和構(gòu)建,以下是使用Maven創(chuàng)建和管理多模塊項目的詳細(xì)步驟,需要的朋友可以參考下2024-10-10
Java 日期與時間API相關(guān)用法總結(jié)
這篇文章主要介紹了Java 日期與時間API相關(guān)用法總結(jié),幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2021-02-02
MyBatis無縫轉(zhuǎn)MyBatis-plus的基本使用
本文介紹了使用MyBatis-plus來優(yōu)化MyBatis的使用,包括引入依賴、改造Mapper、實(shí)體類注解使用、Service層方法改造等,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-10-10
IntelliJ IDEA 中使用jRebel進(jìn)行 Java 熱部署教程圖解
Rebel是一款JAVA虛擬機(jī)插件,它使得JAVA程序員能在不進(jìn)行重部署的情況下,即時看到代碼的改變對一個應(yīng)用程序帶來的影響。本文通過圖文并茂的形式給大家介紹了IntelliJ IDEA 中使用jRebel進(jìn)行 Java 熱部署教程圖解,需要的朋友參考下吧2018-04-04
一文帶你熟練掌握J(rèn)ava中的日期時間相關(guān)類
我們在開發(fā)時,除了數(shù)字、數(shù)學(xué)這樣的常用API之外,還有日期時間類,更是會被經(jīng)常使用,比如我們項目中必備的日志功能,需要記錄異常等信息產(chǎn)生的時間,本文就帶各位來學(xué)習(xí)一下相關(guān)的日期時間類有哪些2023-05-05
簡單講解奇偶排序算法及在Java數(shù)組中的實(shí)現(xiàn)
這篇文章主要介紹了奇偶排序算法及Java數(shù)組的實(shí)現(xiàn),奇偶排序的時間復(fù)雜度為O(N^2),需要的朋友可以參考下2016-04-04

