選擇結構
顧名思義,有選擇執行的控制結構,由條件來決定程式的執行順序,即程式按照順序結構執行到分支語句時,通過判斷條件,來決定往那條分支繼續執行。
舉個例子,「如果今天是周一,晚飯吃公尺飯,周二吃大餅,週三吃麵條.......」,很顯然這種情況順序結構是無法執行的,這時候就需要一些條件來進行判斷,通過判斷條件來判斷的語句,我們成為選擇語句或分支語句。
選擇結構通常分為兩類:
if語句:
if 語句是通過boolean表示式或者boolean值作為選擇條件,可以理解成 「如果....,就........」
第一種結構:
if ( boolean 表示式 )
if後的 表示了乙個整體的**塊,如果 boolean 表示式的值為true,就執行這一**塊。
package test;
/** *
* @author fydragon
* */
public class testdemo
if (a < b)
}}
分析:a = 2,b = 1;條件判斷中a > b成立,所以執行了第一句話。a < b不成立,所以第二句話不執行。
第二種結構:
if ( boolean 表示式 ) else
表示 boolean 表示式如果成立,進入條件執行體a,如果不成立,進入條件執行體b。
翻譯過來就相當於:「如果...,就.....;否則就.......」
package test;
/** *
* @author fydragon
* */
public class testdemo else
}}
分析: 條件判斷 a < b,a = 100、b = 20,明顯不成立,所以執行 else(否則)後的執行體。
第三種結構:
if ( boolean 表示式 ) else if( boolean 表示式 )else
這就相當於有了多種選擇的條件,先判斷第乙個boolean表示式,如果不成立,判斷第二個,以此類推。如果所有的boolean表示式均不成立,執行 else 的**塊。
現在做一下我們剛剛說的一周每天吃什麼的問題。
package test;
/** *
* @author fydragon
* */
public class testdemo else if(weekday == 2)else if(weekday == 3)else if(weekday == 4)else if(weekday == 5)else if(weekday == 6)else
}}
分析:首先定義了weekday = 4,首先判斷 weekday是否 等等於 1 ,不成立,可進行第二個判斷,判斷是否等等於 2 ,以此類推,最終判斷出 weekday == 4;執行其中的語句。
使用 if 語句時應注意:
(1)不能在 if ( boolean 表示式) 後使用分號。
(2)不能在else if ( boolean 表示式) 後使用分號。
(3)不能直接使用else if語句,必須先使用 if 語句
(4)第三種結構中的 else 語句,表示所有條件都不成立的情況下才執行。
switch語句:
語句結構:
switch ( 整型表示式 )
注意:switch 後的括號中是乙個整型表示式,不是判斷語句,相當於的傳乙個值進如表示式中,然後將 這個值與 所有case 進行匹配,如果匹配成功,執行其中的**。最後的default,是如果全部都匹配失敗,執行此處的**。break 表示跳出switch執結構體,後面我們會講到。
舉個例子,判斷這一天是週幾
package test;
/** *
* @author fydragon
* */
public class testdemo
}}
分析一下:首先將weekday傳入switch結構體中,進行逐個匹配,第乙個case不等於 4,第二個case不等於 4,第三個case不等於4,第四個匹配成功。執行其中的語句。
結果:
switch使用時需注意:
(1)switch語句適用於對多個整型值進行匹配判斷,從而實現條件的分支語句
(2)和 if 語句不同是因為根據boolean表示式進行判斷,而switch相當於是根於「表示式 == 數值」的boolean表示式進行判斷,所以實質上,if 表示式更強大。
(3)switch語句選擇的基本資料型別只有四種:byte、short、char、int ,沒有long。
(4)case只是用來為switch選擇乙個執行**的入口,如果一旦進入某個入口之後,後面的case實際上已經失去了判斷意義。
(5)default表示所有的case值都不正確,一般放在switch的最後,也不需要使用break語句。
if 和 switch 的選擇:
如果是對整數表示式判斷等於多少,首選用switch。其他情況首選 if 語句。
JAVA SE基礎 13 選擇結構語句
if選擇結構 語法 if 條件 public class test 輸出結果為a大於b 說明 if選擇結構 條件必須是乙個布林表示式,一旦條件中的值為true就執行 塊,否則跳過 if else選擇結構 語法 if 條件 else public class testelse 輸出結果為a大於b 說明...
選擇控制結構
知識點總結 關係運算子 關係表示式 條件運算子,條件表示式 邏輯運算子 邏輯表示式 單分支控制的條件語句 if 條件 語句a或者if 條件 語句a語句b 雙分支控制的條件語句 if 條件 語句a else 語句b 多分支控制的條件語句 if 條件 語句a else if 條件 語句b else if...
第五章 選擇控制結構
目錄 和 的優先順序 演算法在問題求解中有什麼作用?常用的演算法描述方法有哪些?break 語句在 switch語句中有什麼作用?計算機問題求解和生活中問題求解方法有什麼異同點?演算法有哪些基本特性?兩個浮點數如何比較相等?if x 3.5 的寫法是否正確?若int i float f 表示式i 0...