B站400萬播放量的Java教程都講了什麼-學習筆記06-if條件判斷和用戶輸入

條件判斷

if條件判斷有以下形式:

// 1.if
if(布爾表達式){
    執行語句1;
    執行語句2;
    執行語句3;
    ...
    }

// 2.if else
if(布爾表達式){
    條件語句;
    }else{
    條件語句2;
    }

// 3.else if
if(布爾表達式1){
    執行語句塊1;
    }else if(布爾表達式2){
    執行語句塊2;
    }else if(布爾表達式3){
    執行語句塊3;
    }...

// 4.else if else
if(布爾表達式1){
    執行語句塊1;
    }else if(布爾表達式2){
    執行語句塊2;
    }else if(布爾表達式3){
    執行語句塊3;
    }...
    else{
    最後的執行語句塊;
    }
  • 對於javaif語句只要有一個分支語句執行,整個語句就結束了
  • 凡是有else的形式都會保證百分百都有分支執行
  • 所有if語句都可以嵌套,大括號裏的語句須使用縮進, 但也要合理使用,儘量避免嵌套多層
  • 只有一個執行語句,大括號可以不寫(不推薦)

天氣示例

    判斷天氣->
        下雨->
            男生:打純色傘
            女生:打花傘
        天晴->
            溫度->
                大於30度
                    男生:戴黑色墨鏡
                    女生:戴粉色墨鏡
                小於30度
                    什麼也不用幹
                   
另外,儘量保證代碼穩健性,解決用戶非法輸入問題

示例代碼:

public class IfWeather{
    public static void main(String[] args){
        //打印輸入提示
        System.out.println("雨/晴: 1/2");
        System.out.println("男/女: 1/2");
        //創建一個鍵盤對象
        java.util.Scanner s = new java.util.Scanner(System.in);
        System.out.print("weather:");
        int weather = s.nextInt();
        System.out.print("sex:");
        int sex = s.nextInt();
        if(weather == 1){
            System.out.println("今天天氣是:" + weather);
            if(sex == 1){
                System.out.println("你是男生,應該帶一把純色傘");
            }else if(sex == 2){
                System.out.println("你是女生,應該帶一把小花傘");
            }else{
                System.out.println("你輸了個啥性別?請重新運行程序");
            }
        }else if(weather == 2){
            System.out.print("temp:");
            int temp = s.nextInt();
            if(temp >= 30){
                if(sex == 1){
                    System.out.println("你是爺們,應該戴黑墨鏡");
                }else if(sex == 2){
                    System.out.println("你是女生,應該戴粉墨鏡");
                }else{
                    System.out.println("你輸的啥性別?請重新運行程序");
                }
            }else if(temp < 30){
                System.out.println("今天天氣很舒服,啥眼鏡也不用帶");
            }else{
                System.out.println("你輸的啥溫度?請重新運行程序");
            }
        }else{
            System.out.println("你輸的啥天氣?請重新運行程序");
        }
    }
}

在這裏插入圖片描述

錯誤示例

若只有一行執行語句,大括號是可以省略的,但是注意後面的語句已經不是if語句塊中的了

public class IfError{
    public static void main(String[] args){
        if(true) System.out.println("單行if執行語句不用加括號也可以(不推薦)");
        if(false)
            System.out.println("可以執行"); //實際上等價於上句末加'{',這句末尾加'}',從而結束了if的執行語句
            System.out.println("可以執行,不過已經不屬於if執行語句了");
        else{ //該行報錯
            System.out.println("只有一個else沒有if會報錯");
        }
    }
}

在這裏插入圖片描述

鍵盤輸入

  • 通過調用java基本庫java.util.Scanner(System.in)創建鍵盤掃描對,一次創建多次使用
  • 通過鍵盤對象的next方法接受字符串,非字符串類型會默認轉換成String類型
  • 通過鍵盤對象的nextInt方法接受int,非``int```類型字面值都會報錯
  • 類似的還有nextFloat/nextDouble等等
public class KeyInput{
    public static void main(String[] args){
        java.util.Scanner s = new java.util.Scanner(System.in);
        System.out.print("請輸入字符:" ); //不換行
        String keyInput = s.next();
        //int keyInput = s.next(); //next返回String,int接受失敗
        System.out.println("您輸入的內容:" + keyInput);
        System.out.print("請輸入整數:" ); //不換行
        int num = s.nextInt();
        System.out.println("您輸入的整數乘以10:" + (num * 10));
        System.out.print("請輸入字符:" ); //不換行
        float flt = s.nextFloat();
        System.out.println("您輸入的小數:" + flt);
    }
}

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-OhaApSuz-1589384709356)(evernotecid://7526024C-9E45-4F5B-9ACD-8B8C99291F7B/appyinxiangcom/20641877/ENResource/p1654)]

參考

B站動力節點老杜老師的Java教程(原視頻戳這裏)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章