1. 程式人生 > >java05 選擇結構

java05 選擇結構

會員 分組 表達 編碼 屏幕 判斷 中一 logic music

public class Demo01Change {

    public static void main(String[] args) {

        /**
         * 實現等量的轉換
         */
        int a = 50; // 可樂
        int b = 100; // 雪碧

        // 創建空杯子
        int temp;
        // 01.把a的值給temp 把可樂轉進了空杯子
        temp = a;
        // 02.把b的值給a
        a = b;
        
// 03.把temp的值給b b = temp; System.out.println("a的值====" + a); System.out.println("b的值====" + b); } }
public class Demo02if {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("請您輸入張浩的java成績:");
        
double javaScore = scanner.nextDouble(); /** 01.使用三元表達式 解決問題 * String result = (javaScore > 90) ? "獎勵map4" : "沒有獎勵"; * * 02.使用 選擇結構 if(表達式){ * 輸出語句 * } * 表達式:必須是boolean * 表達式為true 會執行 輸出語句 * * {}只有一條輸出語句的時候,可以省略!但是不建議省略
*/ if (javaScore > 90) { System.out.println("獎勵map4"); } } }
public class Demo03if {

    public static void main(String[] args) {
        /**
         * 張浩的Java成績大於98分,而且音樂成績大於80分,老師會獎勵他;
         * 或者Java成績等於100分,音樂成績大於70分,老師也會獎勵他
         */
        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入您的java成績");
        double javaScore = scanner.nextDouble();
        System.out.println("請輸入您的音樂成績");
        double musicScore = scanner.nextDouble();
        /**
         * 條件判斷
         */

        if ((javaScore > 98 && musicScore > 80)
                || (javaScore == 100 && musicScore > 70)) {
            System.out.println("老師獎勵您一個包包.....");
        }

    }
}
public class Demo04logical {

    public static void main(String[] args) {
        /**
         * 條件判斷
         * 邏輯運算符   (短路)
         *1. && 與,並且    表達式1 && 表達式2
         *         01.如果表達式1為false,則不會執行表達式2,返回false
         *         02. 如果表達式1為true,則繼續執行表達式2
         *         03.兩個表達式都為true!整體才返回true
         *         04.如果其中一個表達式為false,整體返回false
         *2. ||  或者
         *         01.如果其中一個表達式為true,整體返回true
         *         02.如果表達式1為true,則不會執行表達式2,返回true
         *3. !    非
         *if (!(5 > 4) && (6 < 9)) {
            System.out.println("進入了代碼塊");
          }
         */
        int a = 5;
        int b = 6;
        if (!(a++ == b) && (++a == b++)) {
            System.out.println("進入了代碼塊");
        }
        System.out.println(++a);
    }

}
public class Demo05ifelse {

    public static void main(String[] args) {
        /**
         * 
         * 三元表達式  可以 替換if  else
         * 
         * if(表達式){
         *    //表達式為true執行的代碼塊
         * }else{
         *   //表達式為false執行的代碼塊
         * }
         * 
         * 如果張浩Java考試成績大於98分,老師就獎勵他一個MP4,
         * 否則老師就罰他進行編碼
         */
        int javaScore = 100; // 定義java成績
        /**    if (javaScore > 98) {
                System.out.println("老師就獎勵他一個MP4");
            }
            if (javaScore <= 98) {
                System.out.println("老師就罰他進行編碼");
            }*/

        if (javaScore > 98) {
            System.out.println("老師就獎勵他一個MP4");
        } else {
            System.out.println("老師就罰他進行編碼");
        }

        System.out.println("謝謝您使用程序");
    }

}
public class Demo06Buy {
    /**
     * 買彩票
    如果體彩中了500萬,我買車、資助希望工程、去歐洲旅遊
    如果沒中,我買下一期體彩,繼續燒高香
     */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入您中獎的金額:");
        double money = scanner.nextDouble(); // 獲取用戶的中獎金額
        /**
         * 01.使用三元表達式
         */
        String result = (money > 500) ? "買車、資助希望工程、去歐洲旅遊" : "買下一期體彩,繼續燒高香";
        // System.out.println(result);
        /**
         * 02.使用if  else
         */
        if (money > 500) {
            System.out.println("買車、資助希望工程、去歐洲旅遊");
        } else {
            System.out.println("買下一期體彩,繼續燒高香");
        }

    }
}
public class Demo07Random {

    public static void main(String[] args) {
        /**
         * 產生隨機數
        從控制臺接收一個4位會員號
        分解獲得百位數
        判斷是否是幸運會員
        
        Math.random():返回的是 0 - 1之間的小數!但是不包含1!
         */
        double random = Math.random();
        System.out.println("隨機數為:" + random);
        // 怎麽讓隨機數是 0-9之間的數字?
        System.out.println(random * 10);
        // double轉換成 int 強制類型轉換
        int result = (int) (random * 10);
        System.out.println(result);

        Scanner scanner = new Scanner(System.in);
        System.out.println("請您輸入一個會員卡號:");
        int num = scanner.nextInt();
        // 怎麽獲取百位的數字
        int bai = num / 100 % 10;
        if (bai == result) {
            System.out.println("幸運用戶");
        } else {
            System.out.println("歡迎下次光臨!");
        }

    }
}
public class Demo08IflseIf {

    public static void main(String[] args) {
        /**
         * 成績>=80 :良好 
        成績>=60 :中等
        成績<60   :差
         */
        Scanner scanner = new Scanner(System.in);
        System.out.println("請您輸入成績:");
        double score = scanner.nextDouble();

        /**
         *   多個if 實現不了 我們想要的結果
        if (score >= 80) {
            System.out.println("良好");
        }
        if (score >= 60) {
            System.out.println("良好");
        }
        if (score < 60) {
            System.out.println("差");
        }
        */

        /**
         * 多重if
         * if(條件1){
         *    滿足條件1 執行
         * }else  if(條件2){
         *    滿足條件2 執行
         * }else  if(條件3){
         *    滿足條件3 執行
         * }else  if(條件4){
         *    滿足條件4 執行
         * }else{
         *     都不滿足時 執行
         * }
         */
        if (score >= 80) {
            System.out.println("良好");
        } else if (score >= 60) {
            System.out.println("中等");
        } else {
            System.out.println("差");
        }

    }

}
public class Demo09ByCar {

    public static void main(String[] args) {
        /**
         * 我想買車,買什麽車決定於我在銀行有多少存款
        如果我的存款超過500萬,我就買凱迪拉克
        否則,如果我的存款超過100萬,我就買帕薩特
        否則, 如果我的存款超過50萬,我就買依蘭特
        否則, 如果我的存款超過10萬,我就買奧托
        否則, 如果我的存款10萬以下 ,我買捷安特
         */
        Scanner scanner = new Scanner(System.in);
        System.out.println("請您輸入存款金額:");
        double money = scanner.nextDouble();
        if (money >= 500) {
            System.out.println("買凱迪拉克");
        } else if (money >= 100) {
            System.out.println("買帕薩特");
        } else if (money >= 50) {
            System.out.println("買依蘭特");
        } else if (money >= 10) {
            System.out.println("買奧托");
        } else if (money < 10) {
            System.out.println("買捷安特");
        }

        /**
         *    只要滿足其中一個條件  則後續判斷的代碼不會執行!
        int a = 5;
        if (a++ > 5) {
            System.out.println(a);
        } else if (++a == 6) {
            System.out.println(a);
        } else if (a++ <= 7) {
            System.out.println(a);
        }
         */

    }

}
public class Demo10 {

    public static void main(String[] args) {
        /**
         * 需求:
         * 學校舉行運動會,百米賽跑跑入10秒內的學生有資格進決賽,
         * 根據性別分別進入男子組和女子組
         * 
         * 分析:
         * 判斷是否能夠進入決賽  
            在確定進入決賽的情況下,判斷是進入男子組,還是進入女子組
            
            嵌套if:在一個條件判斷的代碼塊中,又寫了一個或者多個條件判斷
         */
        Scanner scanner = new Scanner(System.in);
        System.out.println("請您輸入賽跑的成績(秒):");
        double score = scanner.nextDouble();
        if (score <= 10) { // 進入了決賽
            System.out.println("進入了決賽!請您輸入性別:");
            String sex = scanner.next();
            /**
             * 根據性別分組
             * equals:判斷兩個字符串內容是否一致
             */
            if (sex.equals("男")) {
                System.out.println("恭喜您進入了男子組!");
                System.out.println("請您輸入身高:");
                double height = scanner.nextDouble();
                if (height > 190) {
                    System.out.println("巨人組");
                } else {
                    System.out.println("矮人組");
                }
            } else {
                System.out.println("恭喜您進入了女子組!");
            }
        } else {
            System.out.println("淘汰.....");
        }

    }
}
public class Demo11 {

    public static void main(String[] args) {
        /**
         * 需求:
         * 普通顧客購物滿100元    9折
            會員購物    8折
            會員購物滿200元    7.5折
         */
        Scanner scanner = new Scanner(System.in);
        System.out.println("請您輸入是否是會員(Y/N):");
        String answer = scanner.next();
        System.out.println("請您輸入購物金額:");
        double money = scanner.nextDouble();
        double pay = 0; // 用戶最後需要支付的金額

        // 判斷用戶是否是會員 equalsIgnoreCase忽略大小寫比較
        if (answer.equalsIgnoreCase("y")) {
            System.out.println("您是會員");
            // 判斷折扣
            if (money >= 200) {
                pay = money * 0.75;
            } else {
                pay = money * 0.8;
            }
        } else {// 普通用戶
            System.out.println("您是普通用戶");
            if (money >= 100) {
                pay = money * 0.9;
            } else {
                pay = money;
            }
        }

        System.out.println("您的實際支付金額是:" + pay);

    }
}
public class Demo12 {

    public static void main(String[] args) {
        /**
         * 需求:
         *  會員積分                      折  扣
            x < 2000         9折
            2000 ≤ x < 4000     8折
            4000 ≤ x < 8000     7折
            x ≥ 8000         6折
         */
        Scanner scanner = new Scanner(System.in);
        System.out.println("請您輸入會員積分:");
        int custCount = scanner.nextInt();
        // 定義一個變量來接收 折扣
        double discount;
        if (custCount < 2000) {
            discount = 0.9;
        } else if (2000 <= custCount && custCount < 4000) {
            discount = 0.8;
        } else if (4000 <= custCount && custCount < 8000) {
            discount = 0.7;
        } else { // 大於8000
            discount = 0.6;
        }
        System.out.println("您享受的折扣是:" + discount);

    }
}

如果快捷點 屏幕倒轉

技術分享

java05 選擇結構