1.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選擇結構會更簡單,代碼結構更清晰易讀