Java流程控制語句之If選擇結構

一、選擇結構大綱

  • if單選擇結構
  • if雙選擇結構
  • if多選擇結構
  • 嵌套的if結構
  • switch多選擇結構

二、if單選擇結構

我們很多時候需要去判斷一個東西是否可行,然後我們才去執行,這樣一個過程在程序中用if語句來表示

語法:

if(佈爾表達式) {

//如果佈爾表達式為true將執行的語句

}

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Jcs5VldS-1622888742087)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210605175116905.png)]

三、if雙選擇結構

那現在有個需求,公司要收購一個軟件,成功瞭,給人支付100萬元,失敗瞭,自己找人開發。這樣的需求用一個if就搞不定瞭,我們需要有兩個判斷,需要一個雙選擇結構,所以就有瞭if-else結構

語法:

if(佈爾表達式) {

//如果佈爾表達式的值為true

} else {

//如果佈爾表達式的值為false

}

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-v5Tw74jn-1622888742090)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210605175720518.png)]

四、if多選擇結構

我們發現剛才的代碼不符合實際情況,真實的情況還可能存在ABCD,存在區間多級判斷。比如我們90-100就是A,80-90就是B…等等,在生活中我們很多時候的選擇也不僅僅隻有兩個,所以我們需要一個多選擇結構來處理這類問題!

語法:

if(佈爾表達式1) {

//如果佈爾表達式1的值為true執行代碼

} else if (佈爾表達式2) {

//如果佈爾表達式2的值為true執行代碼

}else if(佈爾表達式3) {

//如果佈爾表達式3的值為true執行代碼

}else{

//如果以上佈爾表達式都不為true執行代碼

}

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-g6ALekaT-1622888742094)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210605180613063.png)]

五、嵌套的if結構

使用嵌套的if…else語句是合法的。也就是說你可以在另一個if或者else if語句中使用if或者else if語句。你可以像if語句一樣嵌套else if…else

語法:

if(佈爾表達式1) {

​ //如果佈爾表達式1的值為true執行代碼

​ if(佈爾表達式2) {

​ //如果佈爾表達式2的值為true執行代碼

​ }

}

思考?我們需要尋找一個數,在1-100之間

算法思想(大數據時代,提高算法效率)

1-100之間,不用算法,如果查詢的剛好是100,要查詢100次

如果用二分法思想,可以提高一倍效率(先從1-50查,查不到,再從50-100查)

六、代碼show

demo01:

public class IfDemo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入內容:");
        String s = scanner.nextLine();
        //equals:判斷字符串是否相等
        if (s.equals("hello")) {
            System.out.println(s);
        }
        System.out.println("End");
        scanner.close();
    }
}

demo02:

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();
    }
}

demo03:

public class IfDemo03 {
    public static void main(String[] args) {

        //考試分數大於60就是及格,小於60分就是不及格
        Scanner scanner = new Scanner(System.in);

        /**
         * if語句至多有一個else語句,else語句在所有的else if語句之後。
         * if語句可以有若幹個else if語句,他們必須在else語句之前
         * 一旦其中一個else if語句檢測為true,其他的else if語句以及else語句都將跳過執行
         */
        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 && score >= 0) {
            System.out.println("不及格");
        } else {
            System.out.println("成績不合法");
        }

        scanner.close();
    }
}

到此這篇關於Java流程控制語句之If選擇結構的文章就介紹到這瞭,更多相關If選擇結構內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: