本文是《凱哥陪你學(xué)系列之java基礎(chǔ)篇》。歡迎關(guān)注本賬號(hào),持續(xù)更新中~
本講主要內(nèi)容:
1:while語句語法
2:do while語句
3:while和do while語句區(qū)別
4:本系列教程第0至第10篇傳送門
為什么需要循環(huán)語句:
何為循環(huán)?就是重復(fù)不斷的執(zhí)行某些代碼
循環(huán)三種語句:
1:while語句
2: do…while語句
3: for語句
1 while語句
語法:
while(條件表達(dá)式){
執(zhí)行語句
}
While語句理解:
/**
while語法:
while(條件表達(dá)式){
執(zhí)行語句;
}
條件表達(dá)式結(jié)果:true/false
當(dāng)是true的時(shí)候進(jìn)行執(zhí)行語句
否則跳出,不執(zhí)行語句。
while語句和if語句的區(qū)別:
while是循環(huán)判斷的,if只是判斷的。
理解:
while是循環(huán)的去判斷,如果條件成立就一直循環(huán)執(zhí)行表達(dá)式
而if只是一次判斷的。
舉例說明:
斗地主輸了轉(zhuǎn)圈:10圈
使用if的時(shí)候和使用while的時(shí)候
if語句中的執(zhí)行語句執(zhí)行一次
使用while可多次。
代碼提現(xiàn):
**/
代碼:
int i = 1;
if(i
}
while(i
}
執(zhí)行結(jié)果:
大家試試就知道了~。
結(jié)果分析:
編譯執(zhí)行后,我們發(fā)現(xiàn) if語句只執(zhí)行了一句
而while語句卻始終在執(zhí)行,一直轉(zhuǎn)圈。
所以:我們可以知道在while條件中必須要有個(gè)結(jié)束標(biāo)志。不然會(huì)一直循環(huán)知道內(nèi)存溢出為止。
也就是說,斗地主輸了轉(zhuǎn)圈有個(gè)結(jié)束條件比如說10次,需要有個(gè)計(jì)數(shù)的。不然一直轉(zhuǎn)下去,
哥們非轉(zhuǎn)圈轉(zhuǎn)吐。
所以,修改上面代碼,在while語句中添加個(gè)計(jì)數(shù)器
修改后的代碼:
while(i
i++;//用來計(jì)數(shù)的
}
結(jié)果:
總結(jié):
循環(huán)兩個(gè)必要條件:
1:能夠執(zhí)行語句判斷條件是否成立
2:循環(huán)結(jié)束標(biāo)志
理解:斗地主轉(zhuǎn)圈
條件1:哥們會(huì)斗地主嗎?
條件2:輸了轉(zhuǎn)十圈。
這兩個(gè)條件如果其中一個(gè)不滿足,循環(huán)要么不能執(zhí)行,要么執(zhí)行了停不下來
如果只滿足條件1:
會(huì)斗地主,那么輸了怎么辦?一直轉(zhuǎn)圈,只到轉(zhuǎn)懵逼。那就沒法斗地主了
如果只滿足條件2呢?
哥們就不會(huì)斗地主,滿足輸了轉(zhuǎn)十圈還有意義嗎?那哥們要是斗地主了,最后還是轉(zhuǎn)懵逼~~
3.2 do..while語句
語法:
do{
執(zhí)行語句;
}while(條件表達(dá)式);
理解:
do{}while()語法:
do{
執(zhí)行語句
}
while(條件表達(dá)式);
先執(zhí)行后判定。
理解舉例:斗地主
輸了轉(zhuǎn)圈。
先轉(zhuǎn)圈在進(jìn)行判斷
代碼:
int i = 1;
do{
i++;
}while(i
執(zhí)行結(jié)果:
While和do while的區(qū)別:
先看上面輸了轉(zhuǎn)十圈的while和dowhile的結(jié)果:
修改代碼:
輸了只轉(zhuǎn)一圈。十圈太多了。在看執(zhí)行結(jié)果:
修改while語句中條件表達(dá)式為 i
while(i
i++;//用來計(jì)數(shù)的
}
修改do while的表達(dá)式條件也為 i
int i = 1;
do{
i++;
}while(i
運(yùn)行結(jié)果
結(jié)果分析:
While循環(huán)不執(zhí)行:
因?yàn)楸磉_(dá)式 1
而do while語句執(zhí)行了一次。
因?yàn)橄葓?zhí)行然后在進(jìn)行判斷的。
所以得到的結(jié)論:
While 和do while的區(qū)別:
While只有當(dāng)表達(dá)式返回true的時(shí)候才執(zhí)行循環(huán)體內(nèi)代碼(也就是while后面一對(duì)大括號(hào)內(nèi)的代碼)
而do while 無論表達(dá)式返回結(jié)果true或是false都要先執(zhí)行一次循環(huán)體內(nèi)代碼塊然后在執(zhí)行表達(dá)式。當(dāng)表達(dá)式返回false時(shí)候,不在進(jìn)行下一次循環(huán)。如果返回true,繼續(xù)執(zhí)行循環(huán)體內(nèi)的代碼塊。
ps:本系列第0篇--第十篇傳送門:
從零學(xué)java筆錄 Helloword 細(xì)節(jié)說明
從零學(xué)java筆錄-第5篇 java語言基礎(chǔ)組成
從零學(xué)java筆錄-第6篇 進(jìn)制之間轉(zhuǎn)換
從零學(xué)java筆錄-第7篇 數(shù)據(jù)類型一
從零學(xué)java筆錄-第8篇 數(shù)據(jù)類型二