文章目录

  • 关系运算符
  • 逻辑运算符
  • 三元运算符
  • 流程控制语句
  • 判断条件
  • if判断
  • 双分支判断
  • 多分支判断
  • switch判断
  • switch穿透效果
  • switch 14新特性


关系运算符

> >= == < <= != 与数学上的用法基本一致,Java中用 == 表示相等。

逻辑运算符

&&(与):俩边都需要布尔表达式,一假即假,俩个表达式一个为false,即为false,有短路问题,当第一个表达式为false时,第二个表达式不参与运算。
||(或):俩边都需要布尔表达式,一真即真,俩个表达式一个为true,即为true,有短路问题,当第一个表达式为true时,第二个表达式不会参与运算。
!(非):取反,遇真则假,遇假则真。
&(与):与 && 作用基本一致,但不会产生短路问题。
|(或):与 || 作用基本一致,但不会产生短路问题。

三元运算符

语法:布尔表达式 ? 表达式1:表达式2
当布尔表达式返回true时,返回表达式1的结果,当布尔表达式返回false时,则返回表达式2的结果
三元运算符是一个表达式,不能作为语句来使用
三元运算符中的返回的数据类型必须一致
会产生短路问题

流程控制语句

  • 判断
  • 循环

判断条件

  • if判断
  • switch

if判断

if就是一个语句,用中文来说就是如果,
语法:if(判断条件){条件成立运行的代码}
判断条件是boolean表达式

双分支判断

语法:if (判断条件) {条件成立运行的代码} else {条件不成立运行的代码}
else就是否则

多分支判断

if (判断条件) {条件成立运行的代码} else if (判断条件) {条件不成立运行的代码}…else if(…) {…} else {…}
else if可以出现0-n次;
else 可以出现0-1次

switch判断

switch 是枚举判断
switch是开关 case是情况的意思
语法:switch(变量){ case 值 : 要执行的语句;case 值 : 要执行的语句;… default ,}
default 相当于if中的else的效果
switch后跟的变量类型只能是:
byte
short
int
char
enum(枚举)
String(jdk7特性

switch穿透效果

switch具有穿透效果,在case 值:要执行的语句 后加break关键字能阻止穿透。

switch 14新特性

使用 -> 符号 代替 : , 解决 穿透问题,不需要在添加break, 如果有多条语句、必须使用 { }
case 支持 多值、多个值之间用 逗号 分割
switch 可以作为 表达式使用,通过 yield关键字 返回 数据,如果 case 只有一行代码,且没有使用{} ,则必须省略yield关键字。