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

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

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

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

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

1判斷語句

if語句:

三種格式:

1:只有if語句

2:if ….else語句

3:if ….else嵌套使用

1:只有if語句的

語法:

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

執(zhí)行語句

}

作用:?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語句中條件表達(dá)式為true的時(shí)候才會(huì)執(zhí)行被if 大括號(hào)包含的代碼。

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

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

注意

雖然if語句有自己的控制范圍(就是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語句后面只有一行執(zhí)行語句的時(shí)候,此時(shí)if后面的一對(duì)大括號(hào)可以省略。

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

擴(kuò)展:

if 語句嵌套使用:

語法:

if語句嵌套使用

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只能控制離其最近的單條語句。

所以: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使用

語法:

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

執(zhí)行語句

}eles{

執(zhí)行語句

}

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

代碼演示:

//需求:如果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這條語句。而else語句不執(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嵌套使用

語法:

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

執(zhí)行語句

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

執(zhí)行語句2

}else{

執(zhí)行語句3

}

作用:多條件判斷。

注意:雖然上面代碼很多。但是都是對(duì)同一個(gè)事物做判斷的。所以運(yùn)算完成后,最終有且只有一個(gè)執(zhí)行語句被執(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語句的。只有當(dāng)上面if條件返回false的時(shí)候才會(huì)執(zhí)行else的語句。

所以,只輸出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àn)?if(j>2)前面沒有else 所以 if(j>2){}這又是一條完整的語句

同理,if(j>3){}else{}這是一條完整的語句。

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

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

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

if 語句練習(xí):

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

if語句練習(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語言基礎(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)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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