從零學(xué)java筆錄-第11篇 程序流程控制 一

本文是《凱哥陪你學(xué)系列之java基礎(chǔ)篇》

本講主要內(nèi)容:

判斷結(jié)構(gòu)

程序執(zhí)行順序,從上到下一行一行的執(zhí)行的。

1判斷語(yǔ)句

if語(yǔ)句:

三種格式:

1:只有if語(yǔ)句

2:if ….else語(yǔ)句

3:if ….else嵌套使用

1:只有if語(yǔ)句的

語(yǔ)法:

if(條件表達(dá)式) {

執(zhí)行語(yǔ)句

}

作用:?jiǎn)螚l件判斷

注意:條件表達(dá)式的結(jié)果只能是true或是false

代碼演示

//需求:如果x>2輸出yes

int x = 3;

if(x >2){

System.out.println("YES");

}

System.out.println("GAME OVER");

結(jié)果:

輸出結(jié)果分析:

if語(yǔ)句中條件表達(dá)式為true的時(shí)候才會(huì)執(zhí)行被if 大括號(hào)包含的代碼瞒瘸。

如果條件表達(dá)式為false的時(shí)候,if語(yǔ)句及其大括號(hào)包含的代碼都不會(huì)被執(zhí)行。

而 3>2 返回true所以會(huì)執(zhí)行if大括號(hào)內(nèi)的代碼。

注意

雖然if語(yǔ)句有自己的控制范圍(就是if后面大括號(hào)的內(nèi)容)离福。但是如下代碼輸入的結(jié)果是什么?

int b = 1;

if(x>0)

System.out.println(b);

System.out.println("GAME OVER");

輸出結(jié)果

分析原因

雖然if有自己控制范圍炼蛤,但是當(dāng)if語(yǔ)句后面只有一行執(zhí)行語(yǔ)句的時(shí)候妖爷,此時(shí)if后面的一對(duì)大括號(hào)可以省略。

也即是說:如果if后面沒有大括號(hào)確定范圍理朋。那么if語(yǔ)句只能控制離其最近的單條代碼絮识。

擴(kuò)展:

if 語(yǔ)句嵌套使用:

語(yǔ)法:

if語(yǔ)句嵌套使用

if(表達(dá)式){

if(條件表達(dá)式2){

執(zhí)行代碼

}

}

代碼演示:

if(x>2){

if(x==3){

System.out.println("YES");

}

}

System.out.println("GAME OVER");

執(zhí)行結(jié)果:

思考:自己試著分析結(jié)果由來。

思考:如下代碼輸入結(jié)果

if(x>2)

if(x>3)

System.out.println("YES");

System.out.println("GAME OVER");

數(shù)據(jù)結(jié)果:

分析輸出結(jié)果原因:

代碼中兩個(gè)if都沒有大括號(hào)指明范圍嗽上。所以if只能控制離其最近的單條語(yǔ)句笋除。

所以:if(x>2) 這句離其最近的是 if(x>3)

而 if(x>3)離其最近的一句是:System.out.println("YES");

又因?yàn)?x = 3 是大于2的。所以 x>2 返回true.就會(huì)接著執(zhí)行下面一句 if(x>3)這一句炸裆。

而 x=3不大于3的。所以 x>3返回false鲜屏。這時(shí)候就不會(huì)再執(zhí)行其下面的一句国拇。也就是:System.out.println("YES");

而直接在往下一行執(zhí)行。

所以YES不會(huì)被輸出惯殊。而GAME OVER會(huì)被輸出酱吝。

2:if()….else使用

語(yǔ)法:

if(條件表達(dá)式){

執(zhí)行語(yǔ)句

}eles{

執(zhí)行語(yǔ)句

}

作用:?jiǎn)螚l件判斷。如果不成立執(zhí)行else語(yǔ)句

代碼演示:

//需求:如果x>2輸出yes 否則輸出no

int x = 3;

if(x >2){

System.out.println("YES");

}else{

System.out.println("NO");

}

輸出結(jié)果:

輸出結(jié)果分析:

3>2結(jié)果是true土思。所以就執(zhí)行輸出YES這條語(yǔ)句务热。而else語(yǔ)句不執(zhí)行。

簡(jiǎn)單理解:

if(你的性別是男){

請(qǐng)去男廁所

}else{

請(qǐng)去女廁所

}

思考:

如下代碼輸出什么己儒?

int a = 2 ,b;

if(a>1)

b = 100;

else

b = 200;

System.out.println("b="+b);

輸出結(jié)果:

擴(kuò)展:

簡(jiǎn)單的if else可以使用三元運(yùn)算符代替

上面代碼使用三元運(yùn)算符表示:

b = (a>1?100:200);

完整代碼:

int a = 2 ,b;

if(a>1)

b = 100;

else

b = 200;

System.out.println("b="+b);

//使用三元運(yùn)算符

b = (a>1?100:200);

System.out.println("b="+b);

System.out.println("GAME OVER");

輸出結(jié)果

注意:

if else簡(jiǎn)化成三元運(yùn)算符前提:

當(dāng)if else 運(yùn)算后崎岂,有一個(gè)具體的結(jié)果時(shí)候,可以簡(jiǎn)寫成三元運(yùn)算符闪湾。

3:ifelse嵌套使用

語(yǔ)法:

if(條件表達(dá)式){

執(zhí)行語(yǔ)句

} else if(條件表達(dá)式2){

執(zhí)行語(yǔ)句2

}else{

執(zhí)行語(yǔ)句3

}

作用:多條件判斷冲甘。

注意:雖然上面代碼很多。但是都是對(duì)同一個(gè)事物做判斷的途样。所以運(yùn)算完成后江醇,最終有且只有一個(gè)執(zhí)行語(yǔ)句被執(zhí)行。

代碼演示:

int x = 3;

if(x >1){

System.out.println("1");

}else if(x >2){

System.out.println("2");

} else if( x>3){

System.out.println("3");

}else{

System.out.println("4");

}

System.out.println("GAME OVER");

輸出結(jié)果:

分析原因:

因?yàn)?x = 3 所以 x>1返回true 何暇。所以輸出1陶夜。雖然 3>2 也返回的是ture.但是 (x>2)是在else語(yǔ)句的。只有當(dāng)上面if條件返回false的時(shí)候才會(huì)執(zhí)行else的語(yǔ)句裆站。

所以条辟,只輸出1.

思考:

如果去掉else后,修改成如下代碼遏插,運(yùn)行結(jié)果又是什么捂贿?

int j = 3;

if(j >1){

System.out.println("j1");

}

if(j >2){

System.out.println("j2");

}

if( j>3){

System.out.println("j3");

}else{

System.out.println("j4");

}

System.out.println("GAME OVER");

運(yùn)行結(jié)果:

分析輸出結(jié)果:

if(j>1){}這個(gè)是完整的一條語(yǔ)句。

因?yàn)?if(j>2)前面沒有else 所以 if(j>2){}這又是一條完整的語(yǔ)句

同理胳嘲,if(j>3){}else{}這是一條完整的語(yǔ)句厂僧。

所以在執(zhí)行完輸出j1后,也會(huì)執(zhí)行輸出j2的語(yǔ)句了牛。

有因?yàn)?不大于3.所以 j>3返回false.所以會(huì)執(zhí)行else的語(yǔ)句颜屠,也就是輸出j4的語(yǔ)句。

所以鹰祸,輸出結(jié)果就是 j1 j2 j4

if 語(yǔ)句練習(xí):

1:根據(jù)用戶輸入的數(shù)值甫窟,輸出對(duì)應(yīng)的星期。

if語(yǔ)句練習(xí)2

需求:

根據(jù)用戶輸入的數(shù)值蛙婴,輸出對(duì)應(yīng)的月中上中下旬值粗井。

各位自己練習(xí)下。答案下節(jié)公布。

ps:歡迎關(guān)注凱哥微信公眾號(hào):凱哥Java

相關(guān)推薦:

從零學(xué)java筆錄-第10篇 數(shù)據(jù)類型四

從零學(xué)java筆錄-第9篇 數(shù)據(jù)類型 三

從零學(xué)java筆錄-第8篇 數(shù)據(jù)類型二

從零學(xué)java筆錄-第7篇 數(shù)據(jù)類型一

從零學(xué)java筆錄-第6篇 進(jìn)制之間轉(zhuǎn)換

從零學(xué)java筆錄-第5篇 java語(yǔ)言基礎(chǔ)組成

從零學(xué)java筆錄 Helloword 細(xì)節(jié)說明

從零學(xué)java筆錄-第3篇 Helloworld

從零學(xué)java筆錄-第2篇 jdk是否安裝成功

從零學(xué)java筆錄-第1篇 環(huán)境搭建

?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末浇衬,一起剝皮案震驚了整個(gè)濱河市懒构,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌耘擂,老刑警劉巖胆剧,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異醉冤,居然都是意外死亡秩霍,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門蚁阳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來铃绒,“玉大人,你說我怎么就攤上這事韵吨∧渎ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵归粉,是天一觀的道長(zhǎng)椿疗。 經(jīng)常有香客問我,道長(zhǎng)糠悼,這世上最難降的妖魔是什么届榄? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮倔喂,結(jié)果婚禮上铝条,老公的妹妹穿的比我還像新娘。我一直安慰自己席噩,他們只是感情好班缰,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著悼枢,像睡著了一般埠忘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上馒索,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天莹妒,我揣著相機(jī)與錄音,去河邊找鬼绰上。 笑死旨怠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蜈块。 我是一名探鬼主播鉴腻,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼迷扇,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了拘哨?” 一聲冷哼從身側(cè)響起谋梭,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎倦青,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盹舞,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡产镐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了踢步。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片癣亚。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖获印,靈堂內(nèi)的尸體忽然破棺而出述雾,到底是詐尸還是另有隱情,我是刑警寧澤兼丰,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布玻孟,位于F島的核電站,受9級(jí)特大地震影響鳍征,放射性物質(zhì)發(fā)生泄漏黍翎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一艳丛、第九天 我趴在偏房一處隱蔽的房頂上張望匣掸。 院中可真熱鬧,春花似錦氮双、人聲如沸碰酝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)送爸。三九已至,卻和暖如春造挽,著一層夾襖步出監(jiān)牢的瞬間碱璃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工饭入, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嵌器,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓谐丢,卻偏偏與公主長(zhǎng)得像爽航,于是被迫代替她去往敵國(guó)和親蚓让。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

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