1. 程式人生 > 其它 >Java流程控制02--順序結構、選擇結構

Java流程控制02--順序結構、選擇結構

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執行程式碼
        }
    }