Java if...else 条件控制语句
所谓控制语句就是在 Java 在执行过程中, 因为业务需要, 做出的, 根据条件判断, 循环, 条件分支等不同的情形完成代码走向控制的语句.
按照上面的定义, 控制语句一共分为三种, 分别是:
- 条件控制语句 if ... else
- 多路径条件控制语句 switch ... case
- 循环控制语句 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 if 和 else 并不是条件控制语句有效的必要代码也就是说 , 就算只有一个 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