if 结构

Java支持两种选择语句:if 语句和switch语句。其中 if 语句使用布尔表达式或布尔值作为分支条件来进行分支控制,而switch语句则用于对多个整型值进行匹配,从而实现分支控制。

生活中,我们经常需要先做判断,然后才决定是否要做某件事情。例如:如果考试成绩大于90分,则奖励一个IPHONE11 pro。对于这种“需要先判断条件,条件满足后才执行的情况”,就可以使用 if 条件语句实现。

语法格式:

if (条件) {

  语句块

}

条件:条件表达式可以是任意一种逻辑表达式,最后返回的结果必须是一个布尔值。取值可以是一个单纯的布尔变量或常量,也可以是使用关系或布尔运算符的表达式。如果条件为真,那么执行语句块;如果条件为假,则语句块将被绕过而不被执行。

语句块:该语句块可以是一条语句也可以是多条语句。如果仅有一条语句,可省略条件语句中的大括号 {}。但从编程规范角度来说,最好不要省略大括号,省略大括号会使程序的可读性变差。

运行流程如图:

java if else太多怎么优化 java的if else_大括号

例如:

java if else太多怎么优化 java的if else_java if else太多怎么优化_02

运行结果:

java if else太多怎么优化 java的if else_条件语句_03

java if else太多怎么优化 java的if else_java if else太多怎么优化_04

运行结果:

java if else太多怎么优化 java的if else_条件语句_05

java if else太多怎么优化 java的if else_java if else太多怎么优化_06

运行结果:

java if else太多怎么优化 java的if else_java if else太多怎么优化_07

 

if-else 结构

单 if 语句仅能在满足条件时使用,而无法执行任何其他操作(停止)。而结合else语句的 if 可以定义两个操作,此时的 if-else 语句表示“如果条件正确则执行一个操作,否则执行另一个操作”。

例如:如果考试成绩大于90分,则奖励一个Iphone 11pro,否则罚做500个俯卧撑。

语法格式:

if (条件) {

  语句块1;

} else {

  语句块2;

}

运行流程如图:

java if else太多怎么优化 java的if else_switch语句_08

例如:

java if else太多怎么优化 java的if else_条件语句_09

运行结果:

java if else太多怎么优化 java的if else_大括号_10

 

多条件 if-else-if 语句

if 语句的主要功能是给程序提供一个分支。然而,有时候程序中仅仅多一个分支是远远不够的,甚至有时候程序的分支会很复杂,这就需要使用多分支的 if else if 语句。

多重 if 语句,在条件1不满足的情况下,才会进行条件2的判断;当前面的条件均不成立时,才会执行else块内的代码。

例如:如果考试成绩大于90分,则奖励一个Iphone 11pro,如果成绩介于70分至90分之间,则奖励一个红米,否则罚做500个俯卧撑。

语法格式:

if (条件1) { 

  语句块1;

} else if (条件2) {

  语句块2;

...

} else if (表达式n) {

  语句块n;

} else {

  语句块n+1;

}

运行流程如图:

java if else太多怎么优化 java的if else_switch语句_11

例如:

java if else太多怎么优化 java的if else_大括号_12

运行结果:

java if else太多怎么优化 java的if else_java if else太多怎么优化_13

 

java if else太多怎么优化 java的if else_条件语句_14

运行结果: 

java if else太多怎么优化 java的if else_条件语句_15

 

java if else太多怎么优化 java的if else_条件语句_16

运行结果:

java if else太多怎么优化 java的if else_大括号_17

 

嵌套 if 的使用

嵌套 if 语句,只有当外层 if 的条件成立时,才会判断内层 if 的条件。

例如:活动计划的安排,如果今天是工作日,则去上班;如果今天是周末,则外出游玩;同时,如果周末天气晴朗,则去室外游乐场游玩,否则去室内游乐场游玩。

语法格式:

if (条件1) { 

  if (条件2) {

  语句块1;

  } else if (条件2) {

  语句块2;

  }

} else {

  if (条件3) {

  语句块3;

  } else if (条件4) {

  语句块4;

  } else {

    if (条件n) {

      语句块n;

    } else {

      语句块n+1;

    }

  }

}

运行流程如图:

java if else太多怎么优化 java的if else_大括号_18

例如: 

java if else太多怎么优化 java的if else_条件语句_19

运行结果:

java if else太多怎么优化 java的if else_java if else太多怎么优化_20

java if else太多怎么优化 java的if else_条件语句_21

运行结果:

java if else太多怎么优化 java的if else_大括号_22