【无标题】

0802

if和switch

一.if

1.单分支if结构

(1)if语句是一种条件控制语句,用于根据条件的真假来执行不同的代码块。基本语法如下:

if(表达式){
     语句
 }

(2)单分支流程图

image-20230802210718337

2.双分支if结构

(1)语法规则

 if(表达式){
     语句1
 }else{
     语句2
 }

表达式为ture时,执行语句1

表达式为false时,执行语句2

(2)双分支流程图

3.多分支if结构

(1)语法规则

if(表达式1){
     语句1
 }else if(表达式2){
     语句2
 }else{
     语句3
 }

表达式1为ture时,执行语句1

表达式1为false时,表达式2为true时,执行语句2

表达式1和表达式2都为false时,执行语句3

(2)流程图

image-20230802211618875

4.嵌套if控制语句

嵌套if控制语句是指在一个if语句中嵌套另一个if语句,以实现更复杂的条件判断。

(1)语法规则

 if (表达式1) {
     // 当条件表达式1为true时执行的代码块
     if (表达式2) {
         // 当条件表达式1为true且条件表达式2为true时执行的代码块
     } else {
         // 当条件表达式1为true且条件表达式2为false时执行的代码块
     }
 } else {
     // 当条件表达式1为false时执行的代码块
     if (表达式3) {
         // 当条件表达式1为false且条件表达式3为true时执行的代码块
     } else {
         // 当条件表达式1为false且条件表达式3为false时执行的代码块
     }

二.switch

switch语句是一种多分支选择结构,用于根据不同的条件执行不同的代码块。

(1)语法规则

 switch (表达式) {
     case 常量1:
         // 当表达式的值等于常量1时,执行此处代码块
         break;
     case 常量2:
         // 当表达式的值等于常量2时,执行此处代码块
         break;
     ...
     default:
         // 当表达式的值不等于任何常量时,执行此处代码块
 }
 ​

(2)流程图

image-20230802212424873

(3)如果case语句中未写break,会一直执行下去,知道遇见break结束。

(4)switch新特性

switch表达式的计算结果为单个值,支持箭头表达式返回,支持yield和return返回值。此外,Java 14还增加了对新标签语法case ...->的支持,该语法采用的是非穿透语义 。

if 和 switch 各有什么特点,什么情况下用 if 更好?什么情况下 switch 更佳?两者如何选择

if 语句适用于区间判断,而 switch 语句适用于等值判断 。如果条件比较固定,可以使用 switch 结构;其他情况一律用 if 语句。

从字节码可以看出,在 switch 中只取出了一次变量和条件进行比较,而 if 中每次都会取出变量和条件进行比较,因此 if 的效率就会比 switch 慢很多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值