004_分支结构

if分支结构

  • 根据条件的真或假,来决定执行某段代码。
三种格式
if (条件表达式) {
    代码;	
}
----------------
if (条件表达式) {
    代码1;	
} else {
    代码2;	
}
----------------
if (条件表达式1) {
    代码1;	
} else if (条件表达式2) {
    代码2;	
} else if (条件表达式3) {
    代码3;	
} 
. . .
else {
    代码n;
}
  • 执行流程
    1. 先判断条件1的值,如果为true则执行语句1,分支结束;如果为false则判断条件2的值
    2. 如果值为true就执行语句体2,分支结束;如果为false则判断条件3的值
    3. 如果没有任何条件为true,就执行else分支的语句体n+1。
  • if语句中,如果大括号控制的只用一行代码,则大括号可以省略不写。

switch分支结构

  • 是通过比较值是否相等,来决定相等,来决定执行哪条分支。
switch(表达式){
        case1:              
            执行代码...;      
            break;    
        case2:        
            执行代码...;        
            break;default:        
            执行代码n;
    
}
  • switch分支结构
    1. 先执行表达式的值,再拿着这个值与case后的值进行匹配。
    2. 与哪个case后的值匹配为true就执行那个case块的代码,遇到break就跳出switch分支。
    3. 如果全部case后的值与之匹配都是false,则执行default块的代码。

if、switch的比较

  • if在功能上远远强大与switch。
  • 当前条件是区间的时候,建议使用if分支结构来实现。
  • 当条件是与一个一个的值比较的时候建议用switch更合适(格式良好,性能较好,代码优雅)。

switch注意事项和switch的穿透性

  • 表达式类型只能是 byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String、不支持double、float、long。
  • case给出的值不允许重复、且只能是自变量,不能是变量。
  • 正常使用switch的时候,如不写break,会出现穿透现象。
  • 存在多个case分支代码是一样时,可以把代码写到一个case块,其他case块通过穿透性能,穿透到该case块即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值