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

本文是《凱哥陪你學系列之java基礎篇》

本講主要內容:

判斷結構

程序執行順序,從上到下一行一行的執行的。

1判斷語句

if語句:

三種格式:

1:只有if語句

2:if ….else語句

3:if ….else嵌套使用

1:只有if語句的

語法:

if(條件表達式) {

執行語句

}

作用:單條件判斷

注意:條件表達式的結果只能是true或是false

代碼演示

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

int x = 3;

if(x >2){

System.out.println("YES");

}

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

結果:

輸出結果分析:

if語句中條件表達式為true的時候才會執行被if 大括號包含的代碼。

如果條件表達式為false的時候,if語句及其大括號包含的代碼都不會被執行。

而 3>2 返回true所以會執行if大括號內的代碼。

注意

雖然if語句有自己的控制范圍(就是if后面大括號的內容)。但是如下代碼輸入的結果是什么?

int b = 1;

if(x>0)

System.out.println(b);

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

輸出結果

分析原因

雖然if有自己控制范圍,但是當if語句后面只有一行執行語句的時候,此時if后面的一對大括號可以省略。

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

擴展:

if 語句嵌套使用:

語法:

if語句嵌套使用

if(表達式){

if(條件表達式2){

執行代碼

}

}

代碼演示:

if(x>2){

if(x==3){

System.out.println("YES");

}

}

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

執行結果:

思考:自己試著分析結果由來。

思考:如下代碼輸入結果

if(x>2)

if(x>3)

System.out.println("YES");

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

數據結果:

分析輸出結果原因:

代碼中兩個if都沒有大括號指明范圍。所以if只能控制離其最近的單條語句。

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

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

又因為 x = 3 是大于2的。所以 x>2 返回true.就會接著執行下面一句 if(x>3)這一句。

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

而直接在往下一行執行。

所以YES不會被輸出。而GAME OVER會被輸出。

2:if()….else使用

語法:

if(條件表達式){

執行語句

}eles{

執行語句

}

作用:單條件判斷。如果不成立執行else語句

代碼演示:

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

int x = 3;

if(x >2){

System.out.println("YES");

}else{

System.out.println("NO");

}

輸出結果:

輸出結果分析:

3>2結果是true。所以就執行輸出YES這條語句。而else語句不執行。

簡單理解:

if(你的性別是男){

請去男廁所

}else{

請去女廁所

}

思考:

如下代碼輸出什么?

int a = 2 ,b;

if(a>1)

b = 100;

else

b = 200;

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

輸出結果:

擴展:

簡單的if else可以使用三元運算符代替

上面代碼使用三元運算符表示:

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

完整代碼:

int a = 2 ,b;

if(a>1)

b = 100;

else

b = 200;

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

//使用三元運算符

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

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

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

輸出結果

注意:

if else簡化成三元運算符前提:

當if else 運算后,有一個具體的結果時候,可以簡寫成三元運算符。

3:ifelse嵌套使用

語法:

if(條件表達式){

執行語句

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

執行語句2

}else{

執行語句3

}

作用:多條件判斷。

注意:雖然上面代碼很多。但是都是對同一個事物做判斷的。所以運算完成后,最終有且只有一個執行語句被執行。

代碼演示:

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");

輸出結果:

分析原因:

因為 x = 3 所以 x>1返回true 。所以輸出1。雖然 3>2 也返回的是ture.但是 (x>2)是在else語句的。只有當上面if條件返回false的時候才會執行else的語句。

所以,只輸出1.

思考:

如果去掉else后,修改成如下代碼,運行結果又是什么?

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");

運行結果:

分析輸出結果:

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

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

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

所以在執行完輸出j1后,也會執行輸出j2的語句。

有因為3不大于3.所以 j>3返回false.所以會執行else的語句,也就是輸出j4的語句。

所以,輸出結果就是 j1 j2 j4

if 語句練習:

1:根據用戶輸入的數值,輸出對應的星期。

if語句練習2

需求:

根據用戶輸入的數值,輸出對應的月中上中下旬值。

各位自己練習下。答案下節公布。

ps:歡迎關注凱哥微信公眾號:凱哥Java

相關推薦:

從零學java筆錄-第10篇 數據類型四

從零學java筆錄-第9篇 數據類型 三

從零學java筆錄-第8篇 數據類型二

從零學java筆錄-第7篇 數據類型一

從零學java筆錄-第6篇 進制之間轉換

從零學java筆錄-第5篇 java語言基礎組成

從零學java筆錄 Helloword 細節說明

從零學java筆錄-第3篇 Helloworld

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

從零學java筆錄-第1篇 環境搭建

?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,362評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,013評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,346評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,421評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,146評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,534評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,585評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,767評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,318評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,074評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,258評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,828評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,486評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,916評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,156評論 1 290
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,993評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,234評論 2 375

推薦閱讀更多精彩內容