Java語言——流程控制

???????做任何事情都要遵循一定的原則。程序設(shè)計(jì)也是如此啡省,需要有流程控制語言實(shí)現(xiàn)與用戶的交流内斯,并根據(jù)用戶的輸入決定程序要“做什么”吼鱼、“怎么做”等严肪。


Java語言

一戳玫、復(fù)合語句

???????與C語言以及其他語言相同缆瓣,Java語言的復(fù)合語句是以整個(gè)區(qū)塊為單位的語句烟瞧,所以又稱為塊語句畴蒲。復(fù)合語句由開括號“{”開始悠鞍,閉括號“}”結(jié)束。復(fù)合語句的每個(gè)語句都是從上往下被執(zhí)行模燥。復(fù)合語句以整個(gè)塊為單位咖祭,可以用在任何一個(gè)單獨(dú)語句可以用到的地方,并且在復(fù)合語句中還可以嵌套符合語句蔫骂。
示例如下:


復(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í)行這些語句。若語句序列中僅有一條語句挤庇,則可以省略條件語句中的“{}”钞速。

if條件語句的執(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í)行過程如圖所示:

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í)行過程如圖所示:

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í)行過程如下:


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í)行過程如圖所示:


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í)行過程如下:

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í)行過程如下圖所示:

for循環(huán)語句執(zhí)行過程

3.2foreach語句

???????foreach語句是for語句的特殊簡化版本咨堤,不能完全替代for語句,但任何foreach語句都可以改寫為for語句版本漩符。foreach語句在遍歷數(shù)組等方面有很大的方便一喘。語法如下:

for(元素變量x:遍歷對象obj)
    引用了x的Java語句;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市嗜暴,隨后出現(xiàn)的幾起案子凸克,更是在濱河造成了極大的恐慌,老刑警劉巖闷沥,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萎战,死亡現(xiàn)場離奇詭異,居然都是意外死亡狐赡,警方通過查閱死者的電腦和手機(jī)撞鹉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來颖侄,“玉大人鸟雏,你說我怎么就攤上這事±雷妫” “怎么了孝鹊?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長展蒂。 經(jīng)常有香客問我又活,道長苔咪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任柳骄,我火速辦了婚禮团赏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘耐薯。我一直安慰自己舔清,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布曲初。 她就那樣靜靜地躺著体谒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪臼婆。 梳的紋絲不亂的頭發(fā)上抒痒,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機(jī)與錄音颁褂,去河邊找鬼故响。 笑死,一個(gè)胖子當(dāng)著我的面吹牛痢虹,可吹牛的內(nèi)容都是我干的被去。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼奖唯,長吁一口氣:“原來是場噩夢啊……” “哼惨缆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起丰捷,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤坯墨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后病往,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捣染,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年停巷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了耍攘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡畔勤,死狀恐怖蕾各,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情庆揪,我是刑警寧澤式曲,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響吝羞,放射性物質(zhì)發(fā)生泄漏兰伤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一钧排、第九天 我趴在偏房一處隱蔽的房頂上張望敦腔。 院中可真熱鬧,春花似錦卖氨、人聲如沸会烙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至纸厉,卻和暖如春系吭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背颗品。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工肯尺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人躯枢。 一個(gè)月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓则吟,卻偏偏與公主長得像,于是被迫代替她去往敵國和親锄蹂。 傳聞我的和親對象是個(gè)殘疾皇子氓仲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Swift提供了多種控制流聲明。包括while循環(huán)來多次執(zhí)行一個(gè)任務(wù)得糜;if敬扛,guard和switch聲明來根據(jù)確定...
    BoomLee閱讀 1,950評論 0 3
  • Swift 提供了類似 C 語言的流程控制結(jié)構(gòu),包括可以多次執(zhí)行任務(wù)的for和while循環(huán)朝抖,基于特定條件選擇執(zhí)行...
    窮人家的孩紙閱讀 705評論 1 1
  • 本章將會(huì)介紹 控制流For-In 循環(huán)While 循環(huán)If 條件語句Switch 語句控制轉(zhuǎn)移語句 continu...
    寒橋閱讀 723評論 0 0
  • 生活是一道百味菜治宣,酸甜苦辣咸五味調(diào)和急侥,但是有時(shí)也是枯燥乏味的,因?yàn)樗挥邢涛暄痰饺藗冇X得苦澀坏怪。 老人們告訴年輕人經(jīng)...
    紅嘴唇卍閱讀 237評論 0 0