本文是《凱哥陪你學系列之java基礎篇》锯仪。歡迎關注本賬號齐媒,持續(xù)更新中~
本講主要內(nèi)容:
1:while語句語法
2:do while語句
3:while和do while語句區(qū)別
4:本系列教程第0至第10篇傳送門
為什么需要循環(huán)語句:
何為循環(huán)?就是重復不斷的執(zhí)行某些代碼
循環(huán)三種語句:
1:while語句
2: do…while語句
3: for語句
1 while語句
語法:
while(條件表達式){
執(zhí)行語句
}
While語句理解:
/**
while語法:
while(條件表達式){
執(zhí)行語句涎跨;
}
條件表達式結(jié)果:true/false
當是true的時候進行執(zhí)行語句
否則跳出得湘,不執(zhí)行語句募狂。
while語句和if語句的區(qū)別:
while是循環(huán)判斷的畜份,if只是判斷的诞帐。
理解:
while是循環(huán)的去判斷,如果條件成立就一直循環(huán)執(zhí)行表達式
而if只是一次判斷的爆雹。
舉例說明:
斗地主輸了轉(zhuǎn)圈:10圈
使用if的時候和使用while的時候
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條件中必須要有個結(jié)束標志册倒。不然會一直循環(huán)知道內(nèi)存溢出為止蚓挤。
也就是說,斗地主輸了轉(zhuǎn)圈有個結(jié)束條件比如說10次,需要有個計數(shù)的灿意。不然一直轉(zhuǎn)下去估灿,
哥們非轉(zhuǎn)圈轉(zhuǎn)吐。
所以脾歧,修改上面代碼甲捏,在while語句中添加個計數(shù)器
修改后的代碼:
while(i
i++;//用來計數(shù)的
}
結(jié)果:
總結(jié):
循環(huán)兩個必要條件:
1:能夠執(zhí)行語句判斷條件是否成立
2:循環(huán)結(jié)束標志
理解:斗地主轉(zhuǎn)圈
條件1:哥們會斗地主嗎演熟?
條件2:輸了轉(zhuǎn)十圈鞭执。
這兩個條件如果其中一個不滿足,循環(huán)要么不能執(zhí)行芒粹,要么執(zhí)行了停不下來
如果只滿足條件1:
會斗地主兄纺,那么輸了怎么辦?一直轉(zhuǎn)圈化漆,只到轉(zhuǎn)懵逼估脆。那就沒法斗地主了
如果只滿足條件2呢?
哥們就不會斗地主座云,滿足輸了轉(zhuǎn)十圈還有意義嗎疙赠?那哥們要是斗地主了,最后還是轉(zhuǎn)懵逼~~
3.2 do..while語句
語法:
do{
執(zhí)行語句;
}while(條件表達式);
理解:
do{}while()語法:
do{
執(zhí)行語句
}
while(條件表達式);
先執(zhí)行后判定朦拖。
理解舉例:斗地主
輸了轉(zhuǎn)圈圃阳。
先轉(zhuǎn)圈在進行判斷
代碼:
int i = 1;
do{
i++;
}while(i
執(zhí)行結(jié)果:
While和do while的區(qū)別:
先看上面輸了轉(zhuǎn)十圈的while和dowhile的結(jié)果:
修改代碼:
輸了只轉(zhuǎn)一圈。十圈太多了璧帝。在看執(zhí)行結(jié)果:
修改while語句中條件表達式為 i
while(i
i++;//用來計數(shù)的
}
修改do while的表達式條件也為 i
int i = 1;
do{
i++;
}while(i
運行結(jié)果
結(jié)果分析:
While循環(huán)不執(zhí)行:
因為表達式 1
而do while語句執(zhí)行了一次捍岳。
因為先執(zhí)行然后在進行判斷的。
所以得到的結(jié)論:
While 和do while的區(qū)別:
While只有當表達式返回true的時候才執(zhí)行循環(huán)體內(nèi)代碼(也就是while后面一對大括號內(nèi)的代碼)
而do while 無論表達式返回結(jié)果true或是false都要先執(zhí)行一次循環(huán)體內(nèi)代碼塊然后在執(zhí)行表達式睬隶。當表達式返回false時候锣夹,不在進行下一次循環(huán)。如果返回true苏潜,繼續(xù)執(zhí)行循環(huán)體內(nèi)的代碼塊银萍。
ps:本系列第0篇--第十篇傳送門: