詳解Java中的do...while循環(huán)語句的使用方法
對(duì)于while語句而言,如果不滿足條件,則不能進(jìn)入循環(huán)。但有時(shí)候我們需要即使不滿足條件,也至少執(zhí)行一次。
do…while循環(huán)和while循環(huán)相似,不同的是,do…while循環(huán)至少會(huì)執(zhí)行一次。
do { //代碼語句 }while(布爾表達(dá)式);
請(qǐng)注意,布爾表達(dá)式在循環(huán)的末尾,因此循環(huán)中的語句在測(cè)試布爾值之前已經(jīng)執(zhí)行了一次。
如果布爾表達(dá)(boolean_expression)式評(píng)估結(jié)果為true,則控制跳回到do語句,循環(huán)中的語句再次執(zhí)行。 重復(fù)此過程,直到布爾表達(dá)式(boolean_expression)評(píng)估結(jié)果為false。
do..while循環(huán)語句也稱為后測(cè)試循環(huán)語句,它的循環(huán)重復(fù)執(zhí)行方式,也是利用一個(gè)條件來控制是否要繼續(xù)重復(fù)執(zhí)行這個(gè)語句。與while循環(huán)所不同的是,它先執(zhí)行一次循環(huán)語句,然后再去判斷是否繼續(xù)執(zhí)行。
例如,計(jì)算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)體的后面,所以語句塊在檢測(cè)布爾表達(dá)式之前已經(jīng)執(zhí)行了。 如果布爾表達(dá)式的值為true,則語句塊一直執(zhí)行,直到布爾表達(dá)式的值為false。
示例2. do…while循環(huán)
這是一個(gè)簡(jiǎ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)。下面是一個(gè)簡(jiǎ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ù)庫(kù) System.out.println("End Processing of do while loop"); Thread.sleep(5 * 1000); // 暫停5秒,接著執(zhí)行 } while (true); } }
請(qǐng)注意,如果在終端中執(zhí)行程序,則可使用Ctrl + C手動(dòng)退出應(yīng)用程序。 如果已在Eclipse IDE中執(zhí)行程序,則會(huì)有一個(gè)紅色按鈕來終止程序。
do…while與while循環(huán)比較
當(dāng)希望在循環(huán)內(nèi)的語句至少執(zhí)行一次時(shí),則應(yīng)該使用do...while循環(huán)。 否則,使用while循環(huán)總是更好選擇。Java while循環(huán)看起來比do...while循環(huán)更干凈。
相關(guān)文章
Java實(shí)現(xiàn)簡(jiǎn)易版猜燈謎游戲的示例代碼
燈謎是中秋節(jié)傳統(tǒng)的活動(dòng)之一,而現(xiàn)代化的方式則是將其制作成一個(gè)小游戲,讓用戶在游戲的過程中猜燈謎,互動(dòng)體驗(yàn)更佳,所以本文小編就用Java制作一款猜燈謎小游戲吧2023-09-09java數(shù)據(jù)結(jié)構(gòu)與算法之希爾排序詳解
這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)與算法之希爾排序,結(jié)合實(shí)例形式分析了希爾排序的概念、原理、實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-05-05JAVA NIO實(shí)現(xiàn)簡(jiǎn)單聊天室功能
這篇文章主要為大家詳細(xì)介紹了JAVA NIO實(shí)現(xiàn)簡(jiǎn)單聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11JAVA?兩個(gè)類同時(shí)實(shí)現(xiàn)同一個(gè)接口的方法(三種方法)
在Java中,兩個(gè)類同時(shí)實(shí)現(xiàn)同一個(gè)接口是非常常見的,接口定義了一組方法,實(shí)現(xiàn)接口的類必須提供這些方法的具體實(shí)現(xiàn),以下將展示如何實(shí)現(xiàn)這一要求,并提供具體的代碼示例,需要的朋友可以參考下2024-08-08Mybatis plus的自動(dòng)填充與樂觀鎖的實(shí)例詳解(springboot)
這篇文章主要介紹了Mybatis plus的自動(dòng)填充與樂觀鎖的實(shí)例詳解(springboot),本文給大家介紹的非常詳細(xì)對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11java面向?qū)ο蟮娜筇匦灾焕^承用法實(shí)例分析
這篇文章主要介紹了java面向?qū)ο蟮娜筇匦灾焕^承用法,結(jié)合實(shí)例形式分析了java面向?qū)ο蟪绦蛟O(shè)計(jì)中繼承的基本原理與具體使用方法,需要的朋友可以參考下2019-11-11