Java中的選擇結構


1.if選擇結構

  if選擇結構是根據條件判斷之后再做處理的一種語法結構

  語法:

if(條件){
  代碼塊 //條件成立之后要執行的代碼,可以是一條語句,也可以是一組語句      
}

if選擇結構流程圖

  if后小括號里的條件是一個表達式,而且表達式的值必須為ture 或 false。

1.1使用基本的if選擇結構

  

import java.util.Scanner;
public void GetPrize{          
  Scanner input = new Scanner(System.in);
  System.out.print("請輸入成績");
  int score = input.nextInt();
  if(socre > 98){
      System.out.println("考的不錯,獎勵");         
    }        
}

  運行結果:請輸入成績:100

       考的不錯,獎勵

1.2使用復雜條件下的if選擇結構

  常用的邏輯運算符

  邏輯運算符

   程序:如果Java成績大於98分,而音樂成績大於80分,則獎勵;如果Java成績等於100分,音樂成績大於70分,也獎勵

1 public class GetPrize2(){
2     public static void main(String[] args){
3         int javaScore = 100;
4         int muicScore = 72;
5         if((javaScore > 98 && muicScore > 80) || (javaScore == 100 && muicScore > 70)){    
6             System.out.println("考的不錯,獎勵");
7       }
8   }
  }

  運行結果:考的不錯,獎勵

1.3使用if-else選擇結構

  

if(條件){
  //代碼塊1  
}else{
  //代碼塊2  
}

  if-else結構流程圖

  流程圖

  程序:如果Java成績大於98,獎勵;否則繼續編寫代碼

 1 public class SimpieIf{
 2   public static void main(String[] args){
 3     int score = 91;
 4     if(score > 91){
 5       System.out.println("考的不錯,獎勵");
 6     }else{
 7       System.out.println("繼續編寫代碼吧");
 8     }
 9   }
10 }

   運行結果:繼續編寫代碼吧。

1.4多重if選擇結構

  語法:

if(條件1){
  //代碼塊1
}else if(條件2){
  //代碼塊2
}else{
  //代碼塊3
}

  多重if選擇結構流程圖

 流程圖

  1)else if 可以有多個或者沒有,有幾個else if塊完全取決於需要

  2)else 塊最多有一個或沒有,else塊必須放在else if塊之后

  程序:對學生的成績進行評測,成績>=80為良好,成績>=60為中等,成績<60為差

 1 public class ScoreAssess{
 2   public static void main(String[] args){
 3     int score = 70;
 4     if(score >= 80){
 5       System.out.println("良好");
 6     }else if(score >= 60){
 7       System.out.println("中等");
 8     }else{
 9       System.out.println("差");
10     }
11   }
12 }

  程序運行結果:中等

1.5嵌套if選擇結構

  語法:

if(條件1){
  if(條件2){
    //代碼塊1
  }else{
    //代碼塊2
  }
}else{
  //代碼塊3
}

  嵌套if結構流程圖

流程圖

  程序:學校舉行運動會,百米賽跑成績在10s內的有資格進入決賽,根據性別分為男子組和女子組

 1 import java.util.*;
 2 public class Runing{
 3   public static void main(String[] args){
 4     Scanner input = new Scanner(System.in);
 5     System.out.print("請輸入比賽成績(s):");
 6     double score = input.nextDouble();
 7     System.out.print("請輸入性別:");
 8     String gender = input.next();
 9     if(score < 10){
10      if(gender.equals("男")){
11         System.out.print("進入男子組決賽");
12       }else if(gender.equals("女")){
13         System.out.print("進入女子組決賽");
14       }
15     }else{
16       System.out.print("淘汰");
17     }
18   }
19 }

  運行結果:請輸入比賽成績(s):8

       請輸入性別: 男

       進入男子組決賽

  注意:1)只有當滿足外層if選擇結構的條件時,才會判斷內層if的條件

     2)else 總是與他前面最近的缺少 else 的那個 if 相配對

 2.switch選擇結構

  語法:

switch(表達式){
  case 常量1:
      //代碼塊1;
      break;
  case 常量2:
      //代碼塊2;
      break;
  ... ...
  default:
      //代碼塊n;
      break;
}

  1)JDK 1.7后,switch 語句小括號里可以是 int、short、byte、char、枚舉、String類型表達式

  2)case 后必須是一個常量,數據類型與switch后表達式的值相同,通常是一個固定值,case塊可以有多個,順序可以改變,但每個case后的值必須各不相同

  3)default:其他情況都不滿足時執行default。default后要緊跟冒號,default跟case的順序可以變動,但通常default塊放在結尾,也可以省略。

  程序:參加計算機編程大賽:

       如果獲得第一名,獎勵參加下列營;

       如果獲得第二名,獎勵惠普筆記本電腦一台;

      如果獲得第三名,獎勵移動硬盤一個;

      否則沒有獎勵。

 1 public calss Compete{
 2   public static void main(String[] args){
 3     int rank = 1;
 4     switch(rank){
 5       case 1:
 6         System.out.println("參加夏令營");
 7         break;
 8       case 2:
 9         System.out.println("惠普筆記本");
10         break;
11       case 3:
12         System.out.println("移動硬盤");
13         break;
14       default:
15         System.out.println("沒有獎勵");
16         break;
17     }
18   }
19 }

  運行結果:參加夏令營

3.選擇結構總結

  1)基本if選擇結構:可以處理單一或組合條件的情況。

  2)if-else選擇結構:可以處理簡單的條件分支情況。

  3)多重if選擇結構:可以處理復雜的條件分支情況。多重if選擇結構在解決需要判斷的條件是連續的區間時有很大的優勢。

  4)嵌套if選擇結構:這種結構一般用於復雜的流程控制中。

  5)switch選擇結構:當需要多重分支,並且條件判斷是等值判斷的情況下,使用switch選擇結構代替多重if選擇結構會更簡單,代碼結構更清晰易讀


免責聲明!

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



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