Java -基础 分支语句(练习)

分支语句:

If语句:

基本的if语句:

案列:去网吧上网
步骤:
    1、定义一个变量用于记录年龄    int age = 12;
    2、判断年龄是否大于等于18     if(age >= 18){}
    3、如果大于等于18可以上网     输出
语法:
    if(布尔表达式){
        当布尔表达式为true时,执行此处代码
    }

if else语句

语法:
    if(布尔表达式){
        当布尔表达式为true时,执行此处代码
    }else{
        当布尔表达式为false时,执行此处代码
    }
案列:去网吧上网
步骤:
    1、定义一个变量用于记录年龄      int age = 19;
    2、判断年龄是否大于等于18       if(age >=18){
        3.1:如果年龄大于等于18,允许上网。提示欢迎来自艾欧尼亚的最强王者
        输出("欢迎来自艾欧尼亚的最强王者");
    }else{
        3.2:如果年龄小于18,提示年龄不满18周岁,不允许来网吧上网
        输出("年龄不满18周岁,不允许来网吧上网");
    }   
​
        答案:
            import java.util.Scanner;
            public class Demo05 {
                public static void main(String[] args) {
                    System.out.println("欢迎光临,千峰网咖!!!");
                    Scanner scr = new Scanner(System.in);                                                   System.out.print("请输入你的年龄:");
                    int age = scr.nextInt();
                    if (age >= 18) {
                        System.out.println("艾欧尼亚最强王者上线了!");
                    }else {
                        System.out.println("未成年!禁止进入网咖!");
                    }
                }
            }

练习:

1,支付100块钱        
            步骤:
                1,定义一个变量记录现在拥有的钱数
                2,判断钱数是否大于等于100
                    3.1如果钱数大于等于100,提示支付成功,扣款,显示余额
                    3.2,如果钱数小于100,提示支付失败,显示余额,并提示余额不足
                代码:
                double money = 120;
                if(money >= 100){
                    //扣款
                    money = money - 100;
                    //提示支付成功
                    System.out.println("支付成功");
                    //显示余额
                    System.out.println("余额为:"+money+"元");
                }else{
                    System.out.println("支付失败");
                    System.out.println("余额不足");
                }
    答案:
                import java.util.Scanner;
                public class Demo04 {
                    public static void main(String[] args) {
                        Scanner scr = new Scanner(System.in);
                        System.out.print("请输入你的余额:");
                        Double money = scr.nextDouble();
                        if (money >= 100) {
                            money = money-100;
                            System.out.println("支付成功,你的余额为:"+money);
                        }else {
                            System.out.println("支付失败,你的余额不足,请充值!!!");
                        }
                    }
                }
    2,判断用户是否登录成功•
        步骤:
            1,定义正确的账号
            2,定义正确的密码
            3,定义用户输入的账号
            4,定义用户输入的密码
            5,判断正确的账号是否与输入的账号相同并且正确的密码是否与输入的密码相同
                6.1,如果相同,登录成功
                6.2,如果不相同,提示账号密码不匹配
        答案:
        import java.util.Scanner;
            public class Demo03 {
                public static void main(String[] args) {
                    String Tusername = "admin";
                    String Tpassword = "123456";
                    Scanner scr = new Scanner(System.in);
                    System.out.print("请输入你的账号:");
                    String username = scr.next();
                    System.out.print("请输入你的密码:");
                    String password = scr.next();
                    if(Tusername.equals(username) && Tpassword.equals(password)) {
                        System.out.println("登录成功");
                    }else {
                        System.out.println("账号密码不匹配,请重新登录");
                    }
                }
            }

多重if选择结构:

语法:
        if(条件表达式1){
            条件表达式1为true时,执行此处代码
        }else if(条件表达式2){
            条件表达式2为true时,执行此处代码
        }else if(条件表达式3){
            条件表达式3为true时,执行此处代码
        }
        .......
        else if(条件表达式n){
            条件表达式n为true时,执行此处代码
        }else{
            当以上条件表达式都不为true,执行此处代码
            此处的else可以有也可以没有
        }
案例:
        判断用户成绩如果在100~85为学霸,84~70为学神,69~61为良好,60为开挂,59~0为挂科,错误       区间 100+,<0
        
    步骤:
        1,定义一个变量记录用户成绩
        2,判断用户成绩是否大于100或小于0
            成绩有误
        判断用户成绩是否小于等于100并且大于等于85
        判断用户成绩是否小于85大于等于70
        判断用户成绩是否小于70大于等于61
        判断用户成绩是否等于60
        判断用户成绩是否小于60大于等于0
    答案:
            import java.util.Scanner;
            public class Demo01{
                public static void main(String[] args){
                    System.out.print("请输入你的考试成绩:");
                    Scanner scr=new Scanner(System.in);
                    double grade = scr.nextDouble();
                    if(100 < grade || grade <0){
                        System.out.println("成绩有误,请核查成绩!");
                    }else if(grade <= 100 && grade >= 85){
                        System.out.println("你是学霸,成绩为:"+grade);
                    }else if(grade < 85 && grade >= 70){
                        System.out.println("你是学神,成绩为:"+grade);
                    }else if(grade < 70 && grade >= 61){
                        System.out.println("你成绩良好,成绩为:"+grade);
                    }else if(grade == 60){
                        System.out.println("你开挂,成绩为:"+grade);
                    }else if(grade < 60 && grade >= 0){
                        System.out.println("你是挂科,成绩为:"+grade);
                    }
                }   
            }

f嵌套:

在if,else if或else中继续使用分支语句
        案例:
            去超市消费,超市规定,满200打8折,如果是会员在打8折,如果不满200不打折,但是如果是会员还是打8 折
        步骤:
            0,定义一个变量记录用户是否为会员
            1,定义消费金额
            2,判断金额是否大于200
                2.1:大于等于200
                    2.1.1:计算优惠后金额
                    2.1.2:判断用户是否为会员
                        2.1.2.1:是会员
                            计算优惠金额
                            输出应付金额,实付金额,优惠金额
                        2.1.2.2:不是会员
                            输出应付金额,实付金额,优惠金额,建议办理会员卡
                2.2:小于200
                    2.2.1:判断用户是否为会员
                        2.2.1.1:是会员
                            计算优惠金额
                            输出应付金额,实付金额,优惠金额
                        2.2.1.2:不是会员
                            输出应付金额,实付金额,优惠金额,建议办理会员卡
代码:
    boolean vip = true;
    double money = 210;
        if(money >= 200){
            double money02 = money * 0.8;
            if(vip){
                money02 = money02 * 0.8;
                    System.out.println("本次应付:"+money+"元,本次实付:"+money02+"元,                      本次优 惠:"+(money-money02));
                }else{
                    System.out.println("本次应付:"+money+"元,本次实付:"+money02+"元,                      本次优 惠:"+(money-money02));
                }else if(money < 200 && money >= 0){
                    if(vip){
                        double money02 = money * 0.8;
                    System.out.println("本次应付:"+money+"元,本次实付:"+money02+"元,                    本次优 惠:"+(money-money02));
                    }else{
                    System.out.println("本次应付:"+money+"元,本次实付:"+money+"元,                    本次优惠:"+ (money-money));
                    }else{
                        System.out.println("金额有误");
                    }
                }
            }
        答案:
        import java.util.Scanner;
            public class Demo06 {
                public static void main(String[] args) {
                    System.out.println("欢迎来到华润万家超市!");
                    Scanner scr = new Scanner(System.in);
​
                System.out.print("请输入你的账户余额:");
                    Double money = scr.nextDouble();
                    System.out.print("你是否为VIP客户(若是回复:是,不是则回复:否):");
                    String vip = scr.next();
                    if (money >= 200) {
                        double money1 = money*0.8;
                        if (vip.equals("是")) {
                            money1 = money1*0.8;
                            System.out.println("本次应付:"+money+"元,本次实付:"+money1+"元,本次优惠:"+(money-money1));
                        }else {
                            System.out.println("本次应付:"+money+"元,本次实付:"+money1+"元,本次优惠:"+(money-money1));
                        }
                    }else if (money <200 && money >= 0) {
                            if (vip.equals("是")) {
                                double money1 = money*0.8;
                                System.out.println("本次应付:"+money+"元,本次实付:"+money1+"元,本次优惠:"+(money-money1));
                            }else {
                                System.out.println("本次应付:"+money+"元,本次实付:"+money+"元,本次优惠:"+(money-money));
                            }
                    }else {
                        System.out.println("金额有误!!!");
                    }
                }
            }

switch语句:

  1. 语法:
        switch(变量){
            case 常量1:
               当变量值等于常量1时,执行此处代码
            break;
            case 常量2:
                当变量值等于常量2时,执行此处代码
            break;
            ...
            case 常量n:
               当变量值等于常量n时,执行此处代码
            break;
            default:
               当变量值不等于以上所有常量时,执行此处代码
               default代码可以有,也可以没有 
            break;
        }
    案例:
        小程序助你破产
        分析:
            元旦         跨年
            春节          压岁钱
            元宵          吃元宵
            情人节         送花-*78
            女神节         化妆品
            劳动节         旅游
            儿童节         零食大礼包
            七夕节         吃吃喝喝
            中秋节         月饼
            国庆          旅游
            双十一         清空购物车
            双十二         清空购物车
            平安夜         送苹果
            圣诞节         吃吃喝喝
        技术选型:JavaSE
            分支语句:switch
        代码编写:
            1,定义一个变量记录当前节日
            2,编写switch 
                switch(当前节日的变量){
                    case "xx":
                    break;
                }
        注意:
            如果case后没有break,当判断值与当前case后常量一致,会执行当前case中的代码并向下执行,直到遇 到break
    答案:
        import java.util.Scanner;
        public class Demo02 {
                public static void main(String[] args) {
                    System.out.print("你要过的节日是:");
                    Scanner scr=new Scanner(System.in);
                    String Day = scr.next();
                    switch(Day){
                        case "元旦节" :
                            System.out.println("陪你一起跨年!");
                        break;
                        case "春节" :
                            System.out.println("发压岁钱!");
                        break;
                        case "元宵节" :
                            System.out.println("一起吃元宵!");
                        break;
                        case "情人节" :
                            System.out.println("送你一束玫瑰花!");
                        break;
                        case "女神节" :
                            System.out.println("送你一套化妆品!");
                        break;
                        case "劳动节" :
                            System.out.println("一起去旅游!");
                        break;
                        case "儿童节" :
                            System.out.println("送你零食大礼包!");
                        break;
                        case "七夕节" :
                            System.out.println("一起吃吃喝喝!");
                        break;
                        case "中秋节" :
                            System.out.println("吃月饼!");
                        break;
                        case "国庆节" :
                            System.out.println("一起去旅游!");
                        break;
                        case "双十一" :
                            System.out.println("清空购物车!");
                        break;
                        case "双十二" :
                            System.out.println("清空购物车!");
                        break;
                        case "平安夜" :
                            System.out.println("送你一颗苹果!");
                        break;
                        case "圣诞节" :
                            System.out.println("一起吃吃喝喝!");
                        break;
                        default :
                            System.out.println("没有礼物!!!!");
                        break;
                    }
                    System.out.println("你过的节日是:"+Day);
                }
            }

if和switch的区别:

if可以判断区间,switch只能判断值相等
        switch比if运行效率稍微快一些
        jdk1.7以后switch支持判断字符串内容相同

键盘录入:

步骤:
        1,导包
            import java.utils.Scanner;
            注意:此处写在类以外
        2,创建对象 
            Scanner 变量名1 = new Scanner(System.in);
        3,等待键盘录入
            键盘录入数字
                int 变量名 = 变量名1.nextInt();
                double 变量名 = 变量名1.nextDouble();
                ...
            键盘录入字符串
                String 变量名 = 变量名1.next();

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值