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教程(原视频戳这里)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值