控制语句-if

分支语句/条件控制语句

关于java语言当中的if语句,属于选择结构,if语句又称为分支语句/条件控制语句:

  1. if语句的语法结构:四种编写方式
    第一种:
    if(布尔表达式){
    java语句;
    java语句;
    java语句;
    java语句;
    java语句;

    }
    第二种:
    if(布尔表达式){
    java语句;
    java语句;

    }else{
    java语句;
    java语句;

    }
    第三种:
    if(布尔表达式){
    java语句;
    java语句;

    }else if{
    java语句;
    java语句;

    }else if{
    java语句;
    java语句;

    }else if{
    java语句;
    java语句;

    }else if{
    java语句;
    java语句;

    }…
    第四种:
    if(布尔表达式){
    java语句;
    java语句;

    }else if{
    java语句;
    java语句;

    }else if{
    java语句;
    java语句;

    }else if{
    java语句;
    java语句;

    }else if{
    java语句;
    java语句;

    }else{
    java语句;
    java语句;

    }
  2. 重点:对于java中的if语句来说,只要有一个分支执行,整个if语句全部结束。
  3. 注意:以上的第二种编写方式和第四种编写方式都带有else分支语句,这两种方式可以100%保证会有分支执行。
  4. “所有的控制语句”都是可以嵌套使用的。只要合理嵌套就行。
    • 注意:嵌套使用的时候,代码格式要保证完美。【该缩进的时候必须缩进,大部分情况下使用大括号包围的需要缩进】
  5. if语句的分支中只有一条java语句的话,大括号可以省略不写。
    if(true/false){
    一条java语句;
    }
    if(true/false) 一条java语句;
    这种方式不推荐使用,别人这么写能看懂就行。

代码实例(1)

public class Main {
    public static void main(String[] args) {
        //需求:所在位置的五公里范围之内有肯德基的话,去KFC吃午饭

        //公里数
        //double distance = 6.0;//单位KM
        double distance = 1.0;

        //判断语句
        if (distance < 5) {
            System.out.println("去KFC吃开封菜");
        }

        /*
        需求:
            假设系统给定一个考生的成绩,成绩可能带有小数点,成绩要求范围是[0-100]
            根据学生的成绩判断该学生的成绩等级。
                [90-100]    A
                [80-90)     B
                [70-80)     C
                [60-70)     D
                [0-60)      E
                以上的逻辑判断采用if语句完成,应该怎么写?
         */
        double score = 46.5;

        //根据需求决定选择以上的第四种结构来完成需求

        /*
        if(score < 0 || score > 100){
            System.out.println("对不起,您提供的考生成绩不合法");
        }else if(score >= 90 && score <=100){   //没必要判断是否小于等于100,能执行到这里一定是<=100
        }
         */

        //score = 60.0;
        //score = -100;
        /*if (score < 0 || score > 100) {
            System.out.println("对不起,您提供的考生成绩不合法");
        } else if (score >= 90) {//能够判断到这里说明成绩一定是[0-100]
            System.out.println("该考生的考试成绩等级是:A等级");
        } else if (score >= 80) {//能够判断到这里说明成绩一定是小于90分的
            System.out.println("该考生的考试成绩等级是:B等级");
        } else if (score >= 70) {
            System.out.println("该考生的考试成绩等级是:C等级");
        } else if (score >= 60) {
            System.out.println("该考生的考试成绩等级是:D等级");
        } else {
            System.out.println("该考生的考试成绩等级是:E等级");
        }
         */

        String grade = "该考生的考试成绩等级是:E等级";
        if (score < 0 || score > 100) {
            grade = "对不起,您提供的考生成绩不合法";
        } else if (score >= 90) {//能够判断到这里说明成绩一定是[0-100]
            grade = "该考生的考试成绩等级是:A等级";
        } else if (score >= 80) {//能够判断到这里说明成绩一定是小于90分的
            grade = "该考生的考试成绩等级是:B等级";
        } else if (score >= 70) {
            grade = "该考生的考试成绩等级是:C等级";
        } else if (score >= 60) {
            grade = "该考生的考试成绩等级是:D等级";
        }

        System.out.println(grade);
    }
}

System.out.println();负责向控制台输出【从内存到控制台,输出的过程,这是从内存出来了】
接收用户的输入,从“键盘”到“内存”。【输入的过程,到内存中去】

代码实例(2)

public class InputTest {
    public static void main(String[] args) {
        //第一步:创建键盘扫描对象
        java.util.Scanner s = new java.util.Scanner(System.in);

        //第二步:调用Scanner对象的next()方法开始接收用户的键盘输入
        //当程序执行到这里会停下来,等待用户的输入
        //当用户输入的时候,并且最终敲回车键的时候,键入的信息会自动赋值给userInputContent
        //程序执行到这里,用户输入的信息已经到内存中了。
        //接收文本【以字符串的形式接收】
        //String userInputContent = s.next();

        //接受数字【以整数型int的形式来接收】
        int num = s.nextInt();

        //将内存中的数据输出到控制台
        //System.out.println("您输入了:" + userInputContent);

        System.out.println("您输入的数字是:" + num);
        System.out.println("计算结果:" + (num + 100));
    }
}

小结
记住代码。或者直接将代码复制粘贴

  • 第一步:
    java.util.Scanner s = new java.util.Scanner(System.in);
  • 第二步:
    String str = s.next();

    int num = s.nextInt();

代码实例(3)

public class IfTest01 {
    /*
        需求:
            假设系统给定一个人的年龄(这个年龄需要从键盘输入),
            根据年龄来判断这个人处于生命的哪个阶段,年龄必须在[0-150]

            [0-5]   幼儿
            [6-10]  少儿
            [11-18] 青少年
            [19-35] 青年
            [36-55] 中年
            [56-150]老年
         */
    public static void main(String[] args) {
        //1.接收键盘收入:年龄【输入的时候必须输入数字】
        java.util.Scanner s = new java.util.Scanner(System.in);
        //System.out.println("请输入您的年龄:");
        System.out.print("请输入您的年龄:");//输出提示信息,要不然用户根本不知道这里要干嘛!
        int age = s.nextInt();
        //System.out.println("age = " + age);

        //2.根据需求进行业务逻辑判断
        String str = "您处于生命周期的老年阶段";
        if (age < 0 || age > 150) {
            str = "您提供的年龄不合法,年龄值需要在[0-150]之间";
        } else if (age <= 5) {
            str = "您处于生命周期的幼儿阶段";
        } else if (age <= 10) {
            str = "您处于生命周期的少儿阶段";
        } else if (age <= 18) {
            str = "您处于生命周期的青少年阶段";
        } else if (age <= 35) {
            str = "您处于生命周期的青年阶段";
        } else if (age <= 55) {
            str = "您处于生命周期的中年阶段";
        }
        System.out.println(str);
    }
}

代码实例(4)

import java.util.Scanner;

public class IfTest02 {
    /*
     * 需求:
     *   判断当前的天气:
     *       当外边下雨的时候:
     *           带雨伞:
     *              判断性别:
     *                  当性别为男:带一把大黑伞
     *                  当性别为女:带一把小花伞
     *       当外边是晴天的时候:
     *          判断天气的温度:
     *              当天气温度在30度以上:
     *                  当性别为男:戴墨镜
     *                  当性别为女:擦防晒霜
     * 提示:
     *  1.一定会用到嵌套
     *  2.天气状况、温度、性别都需要从键盘输入。
     *      天气状况:1.表示下雨;0表示晴天
     *      温度直接使用数字即可
     *      性别:1表示男、0表示女
     */
    public static void main(String[] args) {
        java.util.Scanner s = new java.util.Scanner(System.in);

        System.out.println("欢迎使用本系统,您通过本系统可以完成一些简单的判断");
        System.out.println("说明1:1表示下雨,0表示晴天");
        System.out.println("说明2:1表示男,0表示女");
        System.out.println("说明3:温度为数字");

        //接收性别
        System.out.print("请输入性别:");
        int sex = s.nextInt();

        //接收天气状况
        System.out.print("请输入当前天气状况:");
        int weather = s.nextInt();

        //判断天气状况
        if (weather == 1) {
            //下雨天
            //System.out.println("下雨天");
            if (sex == 1) {
                System.out.println("带一把大黑伞");
            } else if (sex == 0) {
                System.out.println("带一把大花伞");
            } else {
                System.out.println("对不起,您的性别是怎么回事?");
            }
        } else if (weather == 0) {
            //晴天
            //System.out.println("晴天");
            //接收温度
            System.out.print("请输入当前天气的温度:");
            int tem = s.nextInt();
            if (tem > 30) {
                if (sex == 1) {
                    System.out.println("戴墨镜");
                } else if (sex == 0) {
                    System.out.println("擦防晒霜");
                } else {
                    System.out.println("对不起,您的性别是怎么回事?");
                }
            }

        } else {
            System.out.println("对不起,您输入的天气状况不存在!");
        }
    }
}

代码实例(5)

public class IfTest03 {
    public static void main(String[] args) {
        boolean sex = true;

        if(sex){
            System.out.println("男");
        }else {
            System.out.println("女");
        }

        sex=false:

        if(sex) System.out.println("男"); else System.out.println("女");

        //--------------------------------------------------------------

//        if (sex)
//            System.out.println("男");
//            System.out.println("呵呵");
//        else
//            System.out.println("女");
        
        //以上程序中编译错误出现在20行。20行以上的代码没有问题。
    }
}

资料来源:
【Java零基础教程视频(适合Java 0基础,Java初学入门)】 https://www.bilibili.com/video/BV1Rx411876f/?p=59&share_source=copy_web&vd_source=9bce191eb50f06ae83cb422d8b7f8f31

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不背完3500个考研英语词汇不改名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值