选择

程序可以基于条件决定执行哪些语句。
布尔表达式是指计算结果为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语句所遵循的原则:

  1. switch表达式必须能够计算出【byte、short、int、char、String】类型的值
  2. 当switch表达式的值与case语句的值相匹配的时候,执行从该case开始的语句,直到遇到一个break语句或到达该switch语句的结束。
  3. 默认情况(default)是可选的,当没有一个给出的case与switch表达式匹配时用来执行该操作。
  4. 关键字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】

posted @ 2021-02-12 11:40  Felix_Openmind  阅读(52)  评论(0)    收藏  举报
*{cursor: url(https://files-cdn.cnblogs.com/files/morango/fish-cursor.ico),auto;}