Java if...else 条件控制语句

所谓控制语句就是在 Java 在执行过程中, 因为业务需要, 做出的, 根据条件判断, 循环, 条件分支等不同的情形完成代码走向控制的语句.

按照上面的定义, 控制语句一共分为三种, 分别是:

  1. 条件控制语句 if ... else
  2. 多路径条件控制语句 switch ... case
  3. 循环控制语句 for; while; do ... while

今天我们先来说说条件控制语句 if ... else

条件控制语句, 根据定义我们得知是根据条件的不同, 做出不同的判断走向不同分支的语句. 通过条件的不同我们可以根据体重判断一个人是胖了还是瘦的, 根据血糖指数判断一个人的健康状况等等, 条件控制语句的基本语法如下.

基本语法

if(布尔表达式1)
{
    //如果布尔表达式1为true将执行的语句
} else if (如果布尔2) {
    //如果布尔表达式2为true将执行的语句
}
...
} else if (如果布尔N) {
   //如果布尔表达式N为true将执行的语句
} else {
   //如果以上条件都不符合的就执行到这里
}

以上代码中:

如果布尔表达式1的值为 true, 则执行对应 if 区块中的代码,

布尔表达式2 和 布尔表达式N的判断同理

如果所有条件都不符合 则执行 else 区块中的代码

需要注意的是 else ifelse 并不是条件控制语句有效的必要代码也就是说 , 就算只有一个 if 语句if条件语句 仍然可以是有效的.

举例

class Yi21Runner {
    public static void main(String[] args) {
        double weight = 75;
        double height = 1.78;
        double bmi = weight / (height * height);
        System.out.print("Yi21提醒您, 您的BMI指数为: " + bmi + ", 您");
        if (bmi > 32) {
            System.out.println("属于非常肥胖体质.");
        } else if (bmi > 28) {
            System.out.println("属于肥胖体质.");
        } else if (bmi > 24) {
            System.out.println("属于超重体质.");
        } else if (bmi > 18.5) {
            System.out.println("的体型正常.");
        } else {
            System.out.println("偏瘦了.");
        }
    }
}

上述代码, 我们通过体重和身高算出了一个bmi值得, 通过一个bmi值, 判断一个人的体型如何.

稍微有点需要注意的是如果 bmi 33 那么他在第一个条件 bmi > 32 就生效了, 这时整个控制语句就执行完成了, 不会再继续执行 bmi > 28, bmi > 24 的条件的了, 所以一整个 if 控制语句中, 条件只会生效一次. 因此上面的代码输出的结果是:

Yi21提醒您, 您的BMI指数为: 23.671253629592222, 您的体型正常.

if 语句的嵌套

WHO 虽然给出了一个BMI值标准, 但是男女在BMI上可能存在差异, 因此我们需要根据不同的性别来表出不同的结果要怎么办? 这里可以先判断男女, 再判断 BMI 的值.

修改上述代码, 添加 gender 和 gender 的判断, 代码如下:

class Yi21Runner {
    public static void main(String[] args) {
        String gender = "female";
        double weight = 50;
        double height = 1.65;
        double bmi = weight / (height * height);
        System.out.print("Yi21提醒您, 您的BMI指数为: " + bmi + ", 您");
        if (gender.equals("male")) {
            System.out.print("是男性, 您");
            if (bmi > 32) {
                System.out.println("属于非常肥胖体质.");
            } else if (bmi > 28) {
                System.out.println("属于肥胖体质.");
            } else if (bmi > 24) {
                System.out.println("属于超重体质.");
            } else if (bmi > 18.5) {
                System.out.println("的体型正常.");
            } else {
                System.out.println("偏瘦了.");
            }
        } else if (gender.equals("female")) {
            System.out.print("是女性, 您");
            if (bmi > 32.3) {
                System.out.println("属于非常肥胖体质.");
            } else if (bmi > 27.3) {
                System.out.println("属于肥胖体质.");
            } else if (bmi > 25.8) {
                System.out.println("属于超重体质.");
            } else if (bmi > 19.1) {
                System.out.println("的体型正常.");
            } else {
                System.out.println("偏瘦了.");
            }
        } else {
            System.out.println("无法识别的性别格式.");
        }
    }
}

上述代码中, 对性别做出了判断, 同时不同的性别对 bmi 和体型判断的依据也发生了变化. 输出的结果为:

Yi21提醒您, 您的BMI指数为: 18.36547291092746, 您是女性, 您偏瘦了.

您也可以尝试修改不同的变量, 来控制代码的走向.

以上就是有关 Java 的条件控制语句 if ... else 的全部内容了.

下一节我们将介绍另一种条件控制语句: Java switch 语句

拓展阅读: Java 中如何有效的判断 null