Java中 if 、switch條件語句


Java中 if 、switch條件語句

生活我們經常需要判斷,然后決定是否要做某件事。例如:如果考試成績大於 90 分,則獎勵一個 筆記本電腦。對於這種“需要先判斷條件,條件滿足后才執行的情況”,就可以使用 if 條件語句實現。

一、Java條件語句之 if 語句

語法 if(條件){

條件成立時執行的代碼

}

執行過程:

 

 

 

如:

public class if_demo{
   public static void main(String[] args){
       int score=95;
       if(score>90){
           System.out.println("獎勵一個筆記本電腦");
      }
  }
}

注意:如果 if 條件成立時的執行語句只有一條,是可以省略大括號(不建議省略)。但執行語句有多條,就不可省略。

1.1 Java條件語句之 if...else
  1. if...else.... 語句的操作比 if 語句多了一步: 當條件成立時,則執行 if 部分的代碼塊; 條件不成立時, 則進入 else 部分。例如,如果考試成績大於 90 分,則獎勵一個筆記本電腦 ,否則罰做 500 個俯卧撐。

    語法:

    if (條件的布爾表達式true/false){

    代碼塊1

    }else{

    代碼塊2

    }

    執行過程:

     

     

     

    如:

    public class if_demo{
       public static void main(String[] args){
           int score=95;
           if(score>90){
               System.out.println("獎勵一個筆記本電腦");
          }else{
               System.out.println("罰款500個俯卧撐");
          }
      }
    }
    1.2 Java條件語句之多重 if

    多重 if 語句,在條件 1 不滿足的情況下,才會進行條件 2 的判斷;當前面的條件均不成立時,才會執行 else 塊內的代碼。例如,如果考試成績大於 90 分,則獎勵一個 筆記本電腦 ,如果成績介於 70 分至 90 分之間,則獎勵一個華為手機,否則罰做 500 個俯卧撐。

    語法:

    if(條件1){

    代碼塊1

    }else if(條件2){

    代碼塊2

    }.......else{

    代碼塊3

    }

    執行過程:

     

     

     

    如:

    public class if_demo{
       public static void main(String[] args){
           int score=95;
           if(score>90){
               System.out.println("獎勵一個筆記本電腦");
          }else if(score>70){
          System.out.println("獎勵一個華為手機");
          }else{
          System.out.println("罰款500個俯卧撐");
          }
          }
      }
    }

    該段代碼的含義是:如果 score 值大於90,則獎勵一個筆記本電腦,當 score 值小於等於 90 時,先判斷 score 是否大於 70 ,如果 score 是介於 70--90 之間,則獎勵一個華為手機,如果成績小於等於 70 ,則罰做 500 個俯卧撐

    當需要判斷的條件是連續的區間時,使用多重 if 語句是非常方便

    1.3 Java條件語句之嵌套 if

    嵌套 if 語句,只有當外層 if 的條件成立時,才會判斷內層 if 的條件。例如,活動計划的安排,如果今天是工作日,則去上班,如果今天是周末,則外出游玩;同時,如果周末天氣晴朗,則去室外游樂場游玩,否則去室內游樂場游玩。

    語法:

    if(條件1){

    if(條件2){

    代碼塊1

    }else {

    代碼塊2

    }else{

    代碼塊3

    }

    }

    執行流程:

     

     

     

    如:

    public class if_demo{
       public static void main(String[] args){
           String today = "周末";
           String weekend = "晴朗";
           if(today.equals("周末")){    //注:外層結構
               if(weekend.equals("晴朗")){   //注: 內層結構  
                   System.out.println("去室外游樂場游玩");
              }else{
                   System.out.println("去室內游樂場游玩");
              }
          }else{
                System.out.println("去上班");
          }
           
      }

    擴展知識點: equals ( )用於判斷字符串的內容是否相同,相同則返回true,反之false

二、Switch 語句

switch case 語句判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支。

2.1語法:

 


switch(變量){
   case 條件:
      //語句
      break; //可選
   case 條件 :
      //語句
      break; //可選
   //你可以有任意數量的case語句
   default : //可選
      //語句
      break; //可選
}

如:打印出1-12月對應的季節。

public class Switch_demo{
public static void main(String[] args){
//模擬一個月份
int month =7;
switch(month){
case 12:
case 1:
case 2:
System.out.println("冬天");
break;
case 3:
case 4:
case 5:
System.out.println("春天");
break;
case 6:
case 7:
case 8:
System.out.println("夏天");
break;
case 9:
case 10:
case 11:
System.out.println("秋天");
break;
}
}
}

break; 起到終止的作用,如果將break去掉之后,語句直接往下執行,稱這種情況為穿透。

示例:

 

 

 

default 語句可以隨意寫,也可以不寫。上面的例子中都是沒有寫default;下圖示例default隨意寫執行的結果不受影響:

 

 

 

 

注意點:1.switch 適用於結果確定,結果數量確定(不易過多,一般12個左右)

              2.default 的位置可以隨意寫。                                                                                                                             

              3.break起到終止的作用   

              4.當注釋掉break/不寫之后,語句可以直接往下執行,稱這種情況為穿透 

              5.switch可以支持的類型 byte short int  JDK1.5及之后支持enum枚舉   JDK1.7之后支持String

 

如何選擇(if 和 switch)

當結果確定且數量少,建議選擇 switch ,如果是常量判斷也可以選擇使用switch

如果是范圍型的或者常量也可以選擇if(if是萬能的)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM