while循環(huán)語句
while語句也稱條件判斷語句,它的循環(huán)方式為利用一個條件來控制是否要繼續(xù)反復(fù)執(zhí)行這個語句。
語法如下:
while(條件表達式){
執(zhí)行語句
}
條件表達式:這是用于控制循環(huán)的條件。例如count<100。
循環(huán)體:這是條件表達式成立的情況下,執(zhí)行的程序代碼。
while循環(huán)語句的執(zhí)行過程,如圖1所示。
當(dāng)條件表達式的返回值為真時,則執(zhí)行循環(huán)體中的語句,當(dāng)執(zhí)行完循環(huán)體中的語句后,重新判斷條件表達式的返回值,直到表達式返回的結(jié)果為假時,退出循環(huán)。
例 在項目中創(chuàng)建類GetSum,在主方法中通過while循環(huán)將整數(shù)1~10相加,并將結(jié)果輸出。
publicclass GetSum { // 創(chuàng)建類
publicstaticvoidmain(String args[]) { // 主方法
int x = 1; // 定義int型變量x,并賦給初值
int sum = 0; // 定義變量用于保存相加后的結(jié)果
while (x <= 10) {
sum = sum + x; // while循環(huán)語句當(dāng)變量滿足滿足條件表達式式,則執(zhí)行循環(huán)體語句
x++;
}
System.out.println("sum= " + sum); // 將變量sum輸出
}
}
運行的結(jié)果如圖2所示。
注意:初學(xué)者經(jīng)常犯的一個錯誤就是在while表達式的括號后加“;”,如:
while(x = = 5);
System.out.println("x的值為5");
這時程序會認為要執(zhí)行一條空語句,而進入無限循環(huán)。Java編譯器又不會報錯??赡軙速M很多時間去調(diào)試,應(yīng)注意這個問題。
do…while循環(huán)語句
do…while循環(huán)語句與while循環(huán)語句類似。它們之間的區(qū)別是while語句為先判斷條件是否成立再執(zhí)行循環(huán)體,而do…while循環(huán)語句則先執(zhí)行一次循環(huán)后,再判斷條件是否成立。也就是說do…while循環(huán)語句中大括號中的程序段至少要被執(zhí)行一次。
語法:
do
{
執(zhí)行語句
}
while(條件表達式);
說明:do...while語句與while語句的一個明顯的區(qū)別是do…while語句在結(jié)尾處多了一個分號(;)。
根據(jù)do…while循環(huán)語句的語法特點總結(jié)出do…while循環(huán)語句的執(zhí)行過程如圖1所示。
do-while語句的執(zhí)行步驟為:
第一步:執(zhí)行循環(huán)體中的語句;
第二部:判斷條件表達式的值;如果該值為true,就跳轉(zhuǎn)到第一步。否則退出循環(huán)體,繼續(xù)執(zhí)行程序的其它代碼。
例 使用Do-While循環(huán)求100以內(nèi)所有奇數(shù)的和。
ublic classOddNumberForDoWhile {
publicstatic voidmain(String[] args) {
intnum = 1; // 定義循環(huán)控制變量
intsum = 0; // 定義總和變量
do{
sum += num; // 等價于sum=sum+num;
num += 2; //等價于num=num+2;
} while(num <= 100);
System.out.println("100以內(nèi)所有奇數(shù)的和是:" + sum);
}
}
運行結(jié)果如圖4.19所示。
例 在項目中創(chuàng)建類Cycle,在主方法中編寫如下代碼,通過本實例可看出while語句與do…while語句的區(qū)別。
publicclass WhilePK {
publicstatic voidmain(String[] args) {
// While循環(huán)
intnum1 = 50;
while(num1 < 50) {
System.out.println("While循環(huán)被執(zhí)行了");
num1++;
}
//Do-While循環(huán)
intnum2 = 50;
do{
System.out.println("Do-While循環(huán)被執(zhí)行了");
} while(num2 < 50);
}
}
運行結(jié)果如圖2所示。
圖2 運行結(jié)果
以上就是天津卓眾教育java培訓(xùn)機構(gòu)的小編針對“Java基礎(chǔ)學(xué)習(xí):java while無限循環(huán)語句”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。