第七節(jié):條件判斷

Java 條件判斷

在 Java 中有兩種類型的條件判斷語句,它們分別是:

if 語句
switch 語句
if 語句:

if 語句由一個(gè)布爾表達(dá)式后跟一個(gè)或多個(gè)語句組成盈厘。

語法

if 語句的語法是:

if(Boolean_expression)
{
   //Statements will execute if the Boolean expression is true
}

如果布爾表達(dá)式的值為 true,那么代碼里面的塊 if 語句將被執(zhí)行官边。如果不是 true沸手,在 if 語句大括號(hào)后結(jié)束后的第一套代碼將被執(zhí)行外遇。

示例

    public class Test {

       public static void main(String args[]){
        int x = 10;

        if(x < 20 ){
           System.out.print("This is if statement");
        }
     }
    }

這將產(chǎn)生以下結(jié)果:

This is if statement
if...else 語句

任何 if 語句后面可以跟一個(gè)可選的 else 語句,當(dāng)布爾表達(dá)式為 false契吉,語句被執(zhí)行跳仿。

語法

if...else 的語法是:

if(Boolean_expression){
//Executes when the Boolean expression is true
}else{
//Executes when the Boolean expression is false
}
示例

public class Test {

public static void main(String args[]){
int x = 30;

  if( x < 20 ){
     System.out.print("This is if statement");
  }else{
     System.out.print("This is else statement");
  }

}
}
這將產(chǎn)生以下結(jié)果:

This is else statement
if...else if...else 語句

if 后面可以跟一個(gè)可選的 else if...else 語句,在測試不同條件下單一的 if 語句和 else if 語句是非常有用的捐晶。

當(dāng)使用 if , else if , else 語句時(shí)有幾點(diǎn)要牢記菲语。

一個(gè) if 語句可以有0個(gè)或一個(gè) else 語句 且它必須在 else if 語句的之后。
一個(gè) if 語句 可以有0個(gè)或多個(gè) else if 語句且它們必須在 else 語句之前惑灵。
一旦 else if 語句成功, 余下 else if 語句或 else 語句都不會(huì)被測試執(zhí)行山上。
語法

邏輯封閉與否

if...else 的語法是:

if(Boolean_expression 1){
//Executes when the Boolean expression 1 is true
}else if(Boolean_expression 2){
//Executes when the Boolean expression 2 is true
}else if(Boolean_expression 3){
//Executes when the Boolean expression 3 is true
}else {
//Executes when the none of the above condition is true.
}
示例

public class Test {

public static void main(String args[]){
int x = 30;

  if( x == 10 ){
     System.out.print("Value of X is 10");
  }else if( x == 20 ){
     System.out.print("Value of X is 20");
  }else if( x == 30 ){
     System.out.print("Value of X is 30");
  }else{
     System.out.print("This is else statement");
  }

}
}
這將產(chǎn)生以下結(jié)果:

Value of X is 30
嵌套 if...else 語句與邏輯與(&&)

它始終是合法的嵌套 if-else 語句,這意味著你可以在另一個(gè) if 或 else if 語句中使用一個(gè) if 或 else if 語句英支。

語法

嵌套 if...else 的語法如下:

if(Boolean_expression 1){
//Executes when the Boolean expression 1 is true
if(Boolean_expression 2){
//Executes when the Boolean expression 2 is true
}
}
因?yàn)槲覀冇星短椎?if 語句佩憾,所以可以用類似的方式嵌套 else if...else。

示例

public class Test {

public static void main(String args[]){
int x = 30;
int y = 10;

  if( x == 30 ){
     if( y == 10 ){
         System.out.print("X = 30 and Y = 10");
      }
   }
}

}
這將產(chǎn)生以下結(jié)果:

X = 30 and Y = 10
switch 語句

switch 語句允許一個(gè)變量來對一系列值得相等性進(jìn)行測試干花。每個(gè)值被稱為一 case妄帘,并且被啟動(dòng)的變量會(huì)為每一個(gè) case 檢查。

語法

增強(qiáng)的 for 循環(huán)的語法是:

switch(expression){
case value :
//Statements
break; //optional
case value :
//Statements
break; //optional
//You can have any number of case statements.
default : //Optional
//Statements
}
以下規(guī)則適用于 switch 語句:

在 switch 語句中使用的變量池凄,short抡驼,int 或 char。
在一個(gè) switch 語句中可以有任何數(shù)量的 case 語句肿仑。每個(gè) case 后跟著即將被比較的值和一個(gè)冒號(hào)致盟。
對于 case 的值必須是相同的數(shù)據(jù)類型作為開關(guān)變量,它必須是一個(gè)常量或文字柏副。
當(dāng)被啟動(dòng)了的變量與 case 是相等的勾邦,那 case 后的語句將執(zhí)行,一直到 break 為止割择。
當(dāng)達(dá)到一個(gè) break 語句眷篇,switch 終止,并且控制流跳轉(zhuǎn)到跟著 switch 語句的下一行荔泳。
不是每一個(gè) case 需要包含一個(gè) break蕉饼。如果沒有出現(xiàn) break,控制流將貫穿到后面的 case 直到 break 為止玛歌。
switch 語句可以有一個(gè)可選默認(rèn) case 昧港,它必須出現(xiàn)在 switch 的結(jié)束處。在執(zhí)行一項(xiàng)任務(wù)時(shí)沒有任何 case 是真支子,那默認(rèn) case 可被使用创肥。在默認(rèn) case 中不需要 break。
示例

public class Test {

   public static void main(String args[]){
      //char grade = args[0].charAt(0);
      char grade = 'C';

      switch(grade)
      {
         case 'A' :
            System.out.println("Excellent!"); 
            break;
         case 'B' :
         case 'C' :
            System.out.println("Well done");
            break;
         case 'D' :
            System.out.println("You passed");
         case 'F' :
            System.out.println("Better try again");
            break;
         default :
            System.out.println("Invalid grade");
      }
      System.out.println("Your grade is " + grade);
   }
}

編譯并運(yùn)行上面使用各種命令行參數(shù)的程序。這將產(chǎn)生以下結(jié)果:

$ java Test
Well done
Your grade is a C
$

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末叹侄,一起剝皮案震驚了整個(gè)濱河市巩搏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌趾代,老刑警劉巖贯底,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異撒强,居然都是意外死亡禽捆,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進(jìn)店門飘哨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來胚想,“玉大人,你說我怎么就攤上這事芽隆《俪穑” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵摆马,是天一觀的道長。 經(jīng)常有香客問我鸿吆,道長囤采,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任惩淳,我火速辦了婚禮蕉毯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘思犁。我一直安慰自己代虾,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布激蹲。 她就那樣靜靜地躺著棉磨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪学辱。 梳的紋絲不亂的頭發(fā)上乘瓤,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天,我揣著相機(jī)與錄音策泣,去河邊找鬼衙傀。 笑死,一個(gè)胖子當(dāng)著我的面吹牛萨咕,可吹牛的內(nèi)容都是我干的统抬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼聪建!你這毒婦竟也來了钙畔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤妆偏,失蹤者是張志新(化名)和其女友劉穎刃鳄,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钱骂,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡叔锐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了见秽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片愉烙。...
    茶點(diǎn)故事閱讀 39,953評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖解取,靈堂內(nèi)的尸體忽然破棺而出步责,到底是詐尸還是另有隱情,我是刑警寧澤禀苦,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布蔓肯,位于F島的核電站,受9級特大地震影響振乏,放射性物質(zhì)發(fā)生泄漏蔗包。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一慧邮、第九天 我趴在偏房一處隱蔽的房頂上張望调限。 院中可真熱鬧,春花似錦误澳、人聲如沸耻矮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽裆装。三九已至,卻和暖如春倡缠,著一層夾襖步出監(jiān)牢的瞬間米母,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工毡琉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留铁瞒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓桅滋,卻偏偏與公主長得像慧耍,于是被迫代替她去往敵國和親身辨。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評論 2 355

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

  • FreeCodeCamp - Basic JavaScript 寫在前面: 我曾經(jīng)在進(jìn)谷前刷過這一套題芍碧,不過當(dāng)時(shí)只...
    付林恒閱讀 16,443評論 5 28
  • 第一次知道這個(gè)詞是從俞敏洪的書里煌珊,通過幾個(gè)小故事道出了事件中臨界點(diǎn)是一種什么樣的感覺?當(dāng)我們跑步跑得很累泌豆,特別想停...
    艷陽高照wyf閱讀 433評論 0 0
  • 經(jīng)過長假與愛妻的旅行我們重生了定庵!
    谷昕閱讀 123評論 0 0
  • 現(xiàn)在很多APP最低還是需要支持iOS7系統(tǒng),而iOS7卻有很多的BUG踪危,其中NavigtaionControlle...
    蝴蝶之夢天使閱讀 2,950評論 2 5
  • 年年年蔬浙,過去了六年快七年。 發(fā)發(fā)發(fā)贞远,剪掉了長發(fā)又長發(fā)畴博。 你在這里,你還在這里蓝仲。 你曾經(jīng)過這里俱病,如今你卻在這里。 你...
    不像一只貓的人閱讀 143評論 0 0