1、do while
使用場(chǎng)景:do...while 循環(huán)是 while 循環(huán)的變體。在檢查while()條件是否為真之前,該循環(huán)首先會(huì)執(zhí)行一次do{}之內(nèi)的語(yǔ)句,然后在while()內(nèi)檢查條件是否為真,如果條件為真的話,就會(huì)重復(fù)do...while這個(gè)循環(huán),直至while()為假。
語(yǔ)法:
do
{
循環(huán)體;
}
例子:
int X; //定義全局變量,換成傳感器返回值也可。(可選)
do
{
i = X;
語(yǔ)句;//循環(huán)體內(nèi)可以對(duì) i 進(jìn)行數(shù)據(jù)操作處理,必須與while內(nèi)的條件有關(guān)聯(lián),否則會(huì)進(jìn)入死循環(huán)。
}
while( i<5 );
2、while
使用場(chǎng)景:當(dāng)某些語(yǔ)句需要執(zhí)行多次時(shí),就使用while也可以使用for,與for循環(huán)的區(qū)別在于:循環(huán)次數(shù)為條件語(yǔ)句。
語(yǔ)法:while(條件語(yǔ)句)
{}
例子:
int=0;
while(i<10)
{ i++;}
3、if,else
使用場(chǎng)景:需要判斷的時(shí)候,如果條件A成立執(zhí)行,不成立執(zhí)行else語(yǔ)句塊
語(yǔ)法:if(條件語(yǔ)句){}esle{}
例子:if(a>3)
{a++;}
else
{a--}
4、for
使用場(chǎng)景:用于循環(huán)執(zhí)行程序,如果需要定義變量控制循環(huán)次數(shù),建議使用for,因?yàn)閒or循環(huán)完畢,變量在內(nèi)存中釋放。
語(yǔ)法:for(賦初值;條件控制,變量自加){}
例子:for(int i=0;i<4;i++){
i=+i;
}
5、switch
使用場(chǎng)景:當(dāng)判斷固定個(gè)數(shù)的值的時(shí)候,可以使用if,也可以使用switch。
但是建議使用switch,效率相對(duì)較高。
工作原理:用小括號(hào)中的變量的值依次和case后面的值進(jìn)行對(duì)比,和哪個(gè)case后面的值相同了
就執(zhí)行哪個(gè)case后面的語(yǔ)句,如果沒(méi)有相同的則執(zhí)行default后面的語(yǔ)句;
細(xì)節(jié):
1):break是可以省略的,如果省略了就一直執(zhí)行到遇到break為止;
2):switch后面的小括號(hào)中的變量應(yīng)該是byte,char,short,int四種類型中的一種;
3):default可以寫(xiě)在switch結(jié)構(gòu)中的任意位置;如果將default語(yǔ)句放在了第一行,則不管expression與case中的value是否匹配,程序會(huì)從default開(kāi)始執(zhí)行直到第一個(gè)break出現(xiàn)。
2)、當(dāng)判斷數(shù)據(jù)范圍,獲取判斷運(yùn)算結(jié)果boolean類型時(shí),需要使用if。
3)、當(dāng)某些語(yǔ)句需要執(zhí)行很多次時(shí),就用循環(huán)結(jié)構(gòu)。
語(yǔ)法:
switch(變量){
case值:要執(zhí)行的語(yǔ)句;break;
…
default:要執(zhí)行的語(yǔ)句;
}
例子:
根據(jù)月份獲得每個(gè)月的天數(shù),不考慮閏年,的示例代碼如下:
int month=10;
int day=0;
swith(day)
{
case1: day=31;
break;
case2: day=28;
break;
case3: day=31;
break;
case3: day=30;
break;
case5: day=31;
break;
case6: day=30;
break;
case7: day=31;
break;
case8: day=31;
break;
case9: day=30;
break;
case10: day=31;
break;
case11: day=30;
break;
case12: day=31;
break;
}
也可以簡(jiǎn)化為:
int month = 10;
int days = 0;
switch(month){
case 2:
days = 28;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = 31;
}