???????做任何事情都要遵循一定的原則。程序設(shè)計(jì)也是如此啡省,需要有流程控制語言實(shí)現(xiàn)與用戶的交流内斯,并根據(jù)用戶的輸入決定程序要“做什么”吼鱼、“怎么做”等严肪。
一戳玫、復(fù)合語句
???????與C語言以及其他語言相同缆瓣,Java語言的復(fù)合語句是以整個(gè)區(qū)塊為單位的語句烟瞧,所以又稱為塊語句畴蒲。復(fù)合語句由開括號“{”開始悠鞍,閉括號“}”結(jié)束。復(fù)合語句的每個(gè)語句都是從上往下被執(zhí)行模燥。復(fù)合語句以整個(gè)塊為單位咖祭,可以用在任何一個(gè)單獨(dú)語句可以用到的地方,并且在復(fù)合語句中還可以嵌套符合語句蔫骂。
示例如下:
???????在使用復(fù)合語句時(shí)需要注意么翰,復(fù)合語句為局部變量創(chuàng)建了一個(gè)作用域,該作用域?yàn)槌绦虻囊徊糠至尚谠撟饔糜蛑心硞€(gè)變量被創(chuàng)建并能夠被使用浩嫌。
二、條件語句
1.if條件語句
???????使用if條件語句补胚,可選擇是否要執(zhí)行緊跟在條件之后的那個(gè)語句码耐。關(guān)鍵字if之后是作為條件的“布爾表達(dá)式”,如果該表達(dá)式返回的結(jié)果為true溶其,則執(zhí)行其后的語句骚腥;若為false,則不執(zhí)行if條件之后的語句握联。
1.1簡單的if條件語句
語法如下:
if(布爾表達(dá)式){
語句序列
}
布爾表達(dá)式:必要參數(shù)桦沉,表示它最后返回的結(jié)果必須是一個(gè)布爾值。它可以是一個(gè)單純的布爾變量或常量金闽,也可以是使用關(guān)系或布爾運(yùn)算符的表達(dá)式纯露。
語句序列:可選參數(shù)〈撸可以是一條或者多條語句埠褪,當(dāng)表達(dá)式的值為true時(shí)執(zhí)行這些語句。若語句序列中僅有一條語句挤庇,則可以省略條件語句中的“{}”钞速。
1.2if...else語句
語法如下:
if(表達(dá)式){
若干語句
}
else{
若干語句
}
if后面()內(nèi)的表達(dá)式的值必須是boolean型的。如果表達(dá)式的值為true嫡秕,則執(zhí)行緊跟if語句的復(fù)合語句渴语;如果表達(dá)式的值為false,則執(zhí)行else后面的復(fù)合語句昆咽。if...else語句的執(zhí)行過程如圖所示:
1.3if...else if多分支語句
語法如下:
if(條件表達(dá)式1){
語句序列1
}
else if(條件表達(dá)式2){
語句序列2
}
...
else if(表達(dá)式n){
語句序列n
}
條件表達(dá)式1——條件表達(dá)式n:必要參數(shù)驾凶⊙栏Γ可以由多個(gè)表達(dá)式組成,但最后返回的結(jié)果一定要為boolean類型调违。
語句序列:可以是一條或者多條語句窟哺,當(dāng)表達(dá)式1的值為true時(shí),執(zhí)行語句序列1技肩;當(dāng)條件表達(dá)式2的值為true時(shí)且轨,執(zhí)行語句序列2,依次類推虚婿。if...else if多分支語句的執(zhí)行過程如圖所示:
2.switch多分支語句
???????在Java語言中旋奢,可以使用switch語句將動(dòng)作組織起來,以一個(gè)簡單明了的方式來實(shí)現(xiàn)“多選一”的選擇雳锋。語法如下:
switch(表達(dá)式)
{
case 常量值1:
語句塊1
[break;]
...
case 常量值n:
語句塊n
[break;]
default;
語句塊n+1
[break;]
}
???????switch語句中表達(dá)式的值必須是整型黄绩、字符型或字符串類型,常量值1~n必須也是整型玷过、字符型或字符串類型爽丹。switch語句首先計(jì)算表達(dá)式的值,如果表達(dá)式的值和某個(gè)case后面的變量值相同辛蚊,則執(zhí)行case語句后的若干個(gè)語句直到遇到break語句為止粤蝎。此時(shí)如果該語句中沒有break語句,將繼續(xù)執(zhí)行后面case中的若干語句袋马,直到遇到break語句為止初澎。若沒有一個(gè)常量與表達(dá)式的值相同,則執(zhí)行default后面的語句虑凛。default語句為可選的碑宴,如果它不存在,且switch語句中表達(dá)式的值不與任何case的常量值相同桑谍,switch則不做任何處理延柠。switch語句的執(zhí)行過程如下:
三、循環(huán)語句
1.while語句
???????while語句也稱條件判斷語句锣披,它的循環(huán)方式為利用一個(gè)條件來控制是否要繼續(xù)反復(fù)執(zhí)行這個(gè)語句贞间。語法如下:
while(條件表達(dá)式){
執(zhí)行語句
}
???????當(dāng)條件表達(dá)式的返回值為真時(shí),則執(zhí)行“{}”中的語句雹仿,當(dāng)執(zhí)行完“{}”中的語句后增热,重新判斷條件表達(dá)式的返回值,直到表達(dá)式返回的結(jié)果為假時(shí)胧辽,退出循環(huán)峻仇。while循環(huán)語句的執(zhí)行過程如圖所示:
2.do...while語句
???????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循環(huán)語句的執(zhí)行過程如下:
3.for循環(huán)語句
3.1for語句
語法如下:
for(表達(dá)式1豆同;表達(dá)式2;表達(dá)式3)
{
語句序列
}
???????在執(zhí)行for循環(huán)時(shí)含鳞,首先執(zhí)行表達(dá)式1影锈,完成某一變量的初始化工作;下一步判斷表達(dá)式2的值蝉绷,若表達(dá)式2的值為true鸭廷,則進(jìn)入循環(huán)體;在執(zhí)行完循環(huán)體后緊接著計(jì)算表達(dá)式3熔吗,這部分通常是增加或減少循環(huán)控制變量的一個(gè)表達(dá)式辆床。這樣一輪循環(huán)就結(jié)束了。第二輪循環(huán)從計(jì)算表達(dá)式2開始桅狠,若表達(dá)式2返回true讼载,則繼續(xù)循環(huán),否則跳出整個(gè)for語句中跌。for循環(huán)語句執(zhí)行過程如下圖所示:
3.2foreach語句
???????foreach語句是for語句的特殊簡化版本咨堤,不能完全替代for語句,但任何foreach語句都可以改寫為for語句版本漩符。foreach語句在遍歷數(shù)組等方面有很大的方便一喘。語法如下:
for(元素變量x:遍歷對象obj)
引用了x的Java語句;
}