do while循环语句_流程控制之循环语句【while循环语句】
while循環(huán)語句
while語句也稱條件判斷語句,它的循環(huán)方式為利用一個(gè)條件來控制是否要繼續(xù)反復(fù)執(zhí)行這個(gè)語句。
語法如下:
while(條件表達(dá)式){
執(zhí)行語句
}
條件表達(dá)式:這是用于控制循環(huán)的條件。例如count<100。
循環(huán)體:這是條件表達(dá)式成立的情況下,執(zhí)行的程序代碼。
while循環(huán)語句的執(zhí)行過程,如圖1所示。
圖1 while語句的執(zhí)行過程
當(dāng)條件表達(dá)式的返回值為真時(shí),則執(zhí)行循環(huán)體中的語句,當(dāng)執(zhí)行完循環(huán)體中的語句后,重新判斷條件表達(dá)式的返回值,直到表達(dá)式返回的結(jié)果為假時(shí),退出循環(huán)。
例 在項(xiàng)目中創(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)變量滿足滿足條件表達(dá)式式,則執(zhí)行循環(huán)體語句
x++;
}
System.out.println("sum= " + sum); // 將變量sum輸出
}
}
運(yùn)行的結(jié)果如圖2所示。
圖2 運(yùn)行結(jié)果
注意:初學(xué)者經(jīng)常犯的一個(gè)錯(cuò)誤就是在while表達(dá)式的括號后加“;”,如:
while(x = = 5);
System.out.println("x的值為5");
這時(shí)程序會(huì)認(rèn)為要執(zhí)行一條空語句,而進(jìn)入無限循環(huán)。Java編譯器又不會(huì)報(bào)錯(cuò)。可能會(huì)浪費(fèi)很多時(shí)間去調(diào)試,應(yīng)注意這個(gè)問題。
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(條件表達(dá)式);
說明:do...while語句與while語句的一個(gè)明顯的區(qū)別是do…while語句在結(jié)尾處多了一個(gè)分號(;)。
根據(jù)do…while循環(huán)語句的語法特點(diǎn)總結(jié)出do…while循環(huán)語句的執(zhí)行過程如圖1所示。
圖1 do…while循環(huán)語句的執(zhí)行過程
do-while語句的執(zhí)行步驟為:
第一步:執(zhí)行循環(huán)體中的語句;
第二部:判斷條件表達(dá)式的值;如果該值為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; // 等價(jià)于sum=sum+num;
num += 2; //等價(jià)于num=num+2;
} while(num <= 100);
System.out.println("100以內(nèi)所有奇數(shù)的和是:" + sum);
}
}
運(yùn)行結(jié)果如圖4.19所示。
圖1 實(shí)例運(yùn)行結(jié)果
例 在項(xiàng)目中創(chuàng)建類Cycle,在主方法中編寫如下代碼,通過本實(shí)例可看出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);
}
}
運(yùn)行結(jié)果如圖2所示。
圖2 運(yùn)行結(jié)果
編輯不易,記得關(guān)注小編哦!
總結(jié)
以上是生活随笔為你收集整理的do while循环语句_流程控制之循环语句【while循环语句】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python flask框架发布问答平台
- 下一篇: boost::unorder_map如何