欢迎光临
我们一直在努力

Java判断、选择(含新特性)

判断

只有满足对应条件,对应的代码才能执行

if(关系表达式){
}else if{
 
}else{
 
}

细节相关:

  • if语句大括号的位置

    左括号写在上一行的末尾,不要单独写一行

  • if语句大括号的省略

    如果大括号中语句体只有一行,大括号可以省略

  • 小括号后面不能有分号

  • 括号中结果要是布尔类型

  • 选择

    把所有的选择列举出来,根据不同的条件任选其一

    switch(){
    case 1:
    语句1;
    break;
    case 2:
    语句2;
    break;
    ……
    default:
    语句体n;
    break;
    }

    执行流程:

  • 首先计算表达式的值

  • 依次和case后面的值进行比较,如果有相应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束

  • 如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后结束整个switch语句

  • 细节说明:

  • 表达式:结果(字符/整数byte short int/枚举/字符串)

  • case:被匹配的值,只能是真实的数据

  • case:值不允许重复

  • break:表示中断,结束的意思,结束switch语句

  • default:所有情况都不匹配,执行该处的内容

  • default位置和省略情况

    位置:case和default没有标准上下之分,位置可以任意的书写

    省略:default是可以省略不写的,在此时如果所有的case都不匹配,则没有任何的输出结果

    case穿透

    写代码时,若break没写,就会出发case穿透。

    过程:

  • 拿着小括号中表达式的值跟下面的case进行匹配

  • 如果匹配上了,就会执行case里面的语句体,遇到break结束整个的switch(正常情况)

  • 如果在执行语句体的时候设有着到break,那么程序会继续执行下一个case的语句体,直到遇到break或者运行完整个的switch为止

  • switch的新特性(jdk14+)

  • 箭头标签

    switch(){
    case 1->{
    //不需要break
    }
    }

  • case后面可以有多个值

    switch(){
    case 1,2,3->{
    //不需要break
    }
    }

  • switch可以有运行结果

    int number = 3;
    String name = switch(number){
    case 1,2,3->{
       //若只有一行,可以直接省略大括号和yield
       yield "三"
    }
    }

  • switch和if的使用场景

    if:用于对范围的判断

    switch:case的值是有限的

    case选项有限,优先使用switch,若是范围则选择if

  • 赞(0)
    未经允许不得转载:171主机测评 » Java判断、选择(含新特性)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址