关系运算符
逻辑运算符是用来连接关系表达式的运算符,逻辑运算符可以直接连接布尔类型的常量或者变量
- & 逻辑与
- a&b,a和b都是true结果为true,否则为false
- | 逻辑或
- a|b,a和b都是false,结果为false,否则为true
- !逻辑非
- !a结果和a的结果正好相反
- && 短路与
- 作用和&相同但具有短路效果,如果左边为真,右边继续执行,如果左边为假右边不执行
- || 短路或
- 作用和|相同但具有短路效果,如果左边为假右边执行,如果左边为真右边不执行
三元运算符
- 格式 :关系表达式 ? 表达式 1 : 表达式 2 ;
- 范例 ;a > b ? a : b ;
- 计算规则
- 首先计算关系表达式的值
- 如果为true,表达式1的值就是运算结果
- 如果为false,表达式2的值就是运算结果
流程控制语句
判断
- if判断
- switch
if判断
-
if 就是 如果`
-
if 是一个语句
-
语法: if( 判断条件 ) { 条件成立出发的代码 }
-
if 语句不需要以;结尾, 判断条件就是布尔表达式
-
双分支条件判断
-
语法 : if (条件) {…} else { 条件不成立的话,执行的代码. }
-
else 就是
否则
多分支条件判断
- 语法: if (条件) {…} else if (条件) {…} … else if … {} else {…}
- else if 可以出现 0 ~ N次
- else 出现 0-1 次
switch
- switch 是
开关
的意思 - case 是
情况
的意思 - 语法: switch(var) { case 值 ; case 值 ; … default … }
- default 相当于 if 中 else 的效果
switch var 支持的数据类型
- byte
- short
- int
- char
- enum (枚举)
- String (JDK7特征)
switch 穿透效果
- 使用 break 关键字 能够有效的阻止穿透
switch 14新特性
- 使用 -> 符号 代替 : , 解决 穿透问题,不需要在添加break, 如果有多条语句、必须使用 { }
- case 支持 多值、多个值之间用 逗号 分割
- switch 可以作为 表达式使用,通过
yield
关键字 返回 数据,如果 case 只有一行代码,且没有使用{} ,则必须省略yield
关键字