Java流程控制02--順序結構、選擇結構
阿新 • • 發佈:2021-11-24
Java流程控制02--順序結構、選擇結構
順序結構
-
Java的基本機構就是順序結構,除非特別指明,否則就按照順序一句一句執行;
-
順序結構是最簡單的演算法結構;
-
語句與語句之間,框與框之間是按從上到下的順序進行的,它是由若干個依次執行的處理步驟組成的,它是任何一個演算法都離不開的一種基本演算法結構。
package com.studyhao1999.struct; public class ShunXuDemo { public static void main(String[] args) { System.out.println("hello1"); System.out.println("hello2"); System.out.println("hello3"); System.out.println("hello4"); System.out.println("hello5"); System.out.println("hello6"); } }
選擇結構
- if單選擇結構
- if雙選擇結構
- if多選擇結構
- 巢狀的if結構
- switch多選擇結構
if單選擇結構
- 我們很多時候需要去判斷一個東西是否可行,我們才去執行,這樣一個過程在程式中用if語句來表示
- 語法:
if(布林表示式){
//如果布林表示式為true將執行的語句
}
- 舉例:輸入一個字串看是否與Hello一樣,一樣則輸出Hello,不相等則不輸出
package com.studyhao1999.struct; import java.util.Scanner; public class IfDemo01 { public static void main(String[] args) { Scanner scanner =new Scanner(System.in);//scanner變數為等待系統的輸入 System.out.println("請輸入一個內容"); String s = scanner.nextLine();//scanner採用nextline的輸入方式,並將輸入的內容賦給s //equals:判斷字串是否相等 if(s.equals("Hello")){ System.out.println(s); } System.out.println("End"); scanner.close(); } }
if雙選擇結構
-
現在有個需求,公司要收購一個軟體,成功了,給人支付100萬元,失敗了,自己找人開發。這樣的需求用一個if就搞不定了,我們需要有兩個判斷,需要一個雙選擇結構,所以就有了if-else結構
-
語法:
if(布林表示式){ //如果布林表示式的值為true }else{ //如果布林表示式的值為false }
-
舉例:考試分數大於60分數就是及格,小於60就不及格
package com.studyhao1999.struct; import java.util.Scanner; public class IfDemo02 { public static void main(String[] args) { //考試分數大於60分數就是及格,小於60就不及格 Scanner scanner =new Scanner(System.in); System.out.println("請輸入成績"); int score =scanner.nextInt(); if (score>60){ System.out.println("及格"); }else{ System.out.println("不及格"); } scanner.close(); } }
if多選擇結構
- 我們發現剛才的程式碼不符合實際情況,真實情況還可能出現ABCD,存在區間多級判斷。比如90-100就是A,80-90就是B…等等,在生活中我們很多時候的選擇也不僅僅只有兩個,所以我們需要一個多選擇結構來處理這類問題!
- 語法:
if(布林表示式1){
//如果布林表示式1的值為true執行程式碼
}else if(布林表示式2){
//如果布林表示式2的值為true執行程式碼
}else if(布林表示式3){
//如果布林表示式3的值為true執行程式碼
}else {
//如果以上布林表示式都不為true執行程式碼
}
-
舉例:將考試分數分成ABCD不及格五個等級,並對輸入的成績進行判斷
package com.studyhao1999.struct; import java.util.Scanner; /* if 語句至多有1個else語句,else語句在所有的else if 語句之後 if 語句可以有若干個else if 語句,它們必須在else語句之前 一旦其中一個else if語句檢測為true,其他的else if 以及else 語句都將逃過執行 */ public class IfDemo03 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸入成績"); int score = scanner.nextInt(); if (score == 100) { System.out.println("恭喜滿分"); } else if(score<100&&score>=90) { System.out.println("A級"); }else if(score<90&&score>=80) { System.out.println("B級"); }else if(score<80&&score>=70) { System.out.println("C級"); }else if(score<70&&score>=60) { System.out.println("D級"); }else if(score<60) { System.out.println("不及格"); } else { System.out.println("成績不合法"); } scanner.close(); } }
- if 語句至多有1個else語句,else語句在所有的else if 語句之後
- if 語句可以有若干個else if 語句,它們必須在else語句之前
- 一旦其中一個else if語句檢測為true,其他的else if 以及else 語句都將逃過執行
巢狀的if結構
-
使用巢狀的if···else語句是合法的。也就是說你可以在另一個if或者else if語句中使用if 或者else if語句。你可以像if語句一樣巢狀else if···else
-
語法:
if(布林表示式 1){ //如果布林表示式1的值為true執行程式碼 if(布林表示式 2){ //如果布林表示式2的值為true執行程式碼 } }