选择
程序可以基于条件决定执行哪些语句。
布尔表达式是指计算结果为Boolean值:true or false的表达式
boolean数据类型
boolean数据类型声明一个具有值true或false的变量。
relational operator
< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
!= 不等于
if语句 - 允许程序确定执行的路径
Java中选择语句类型:
| No. | DESC |
|---|---|
| 1.0 | 单分支if语句 |
| 2.0 | 双分支if-else语句 |
| 3.0 | 多分支if-else语句 |
| 4.0 | 嵌套if-else语句 |
| 5.0 | switch语句 |
| 6.0 | 条件表达式 |
if(i > 0){
System.out.println("i is positive");
}
if(i > 0) // 省略花括号 与上面👆代码等价
System.out.println("i is positive");
省略括号可以让代码更加清晰,但是更容易产生错误eg: 不加括号要记住
else之和最近的if相匹配。
逻辑操作符(logic operator)
| 操作符 | 名称 | 说明 |
|---|---|---|
! |
非 | 逻辑非 |
&& |
与 | 逻辑与 |
| ` | ` | |
^ |
异或 | 逻辑异或 |
异或
^: 满足相同为真 相异为假
- 德魔佛定理
!(condition1 && condition2) 等价于 (!condition1 || !condition2)
!(condition! || condition2) 等价于 (!condition && !condition2)
eg:
!(number % 2 == 0 && number % 3 == 0) 等价于 (number % 2 != 0 || number % 3 != 0)
从数学角度看 0 <= day <= 24 是正确的但在Java之中要通过两个表达式要表示 即: (day >= 0) && (day <= 24)
switch语句 - 基于变量和表达式的值来执行的语句
switch(switch表达式){
case v1: 语句1;
break;
case v2: 语句2;
break;
case v3: 语句3;
break;
......
default: 默认情况下执行的语句(组)
switch语句所遵循的原则:
- switch表达式必须能够计算出【byte、short、int、char、String】类型的值
- 当switch表达式的值与case语句的值相匹配的时候,执行从该case开始的语句,直到遇到一个break语句或到达该switch语句的结束。
- 默认情况(default)是可选的,当没有一个给出的case与switch表达式匹配时用来执行该操作。
- 关键字break是可选的。break语句会立即终止switch语句
一般符合条件之后都要添加break语句,否则要添加一定的注释来说明原因。
从匹配case处开始执行,直到遇到break语句或到达switch语句的结束。 这种现象称之为 落空行为(fall-through behavior)
条件表达式 - 三元操作符(ternary operator) 也是 Java中唯一的三元操作符
boolean-expression ? expression01 : expression02; // (布尔表达式 ? 表达式01 : 表达式02)
// boolean-expression为true的情况 跳转到 【expression01】
// boolean-expression为false的情况 跳转到 【expression02】

学而不思则罔,思而不学则殆!

浙公网安备 33010602011771号