A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

wls1992

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© wls1992 初级黑马   /  2019-6-25 22:48  /  993 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

分支语句有两种if语句和switch语句
(1)if语句if 概述:在某些情况下,需要当某一条件满足时才执行相应代码,条件不满足则执行其他代码。
if 四种形式:单分支、双分支、多分支、嵌套if。
单分支:if (布尔表达式) {
//布尔表达式为true时需执行的代码;
}
双分支:if (布尔表达式) {        
//布尔表达式为true时需执行的代码;  
}else {  
       //布尔表达式为false时需执行的代码; }
多分支:if(布尔表达式1){      
//布尔表达式1为true时执行的代码
}else if(布尔表达式2){   
    //布尔表达式1为false但是布尔表达式2为true时执行的代码
}else if(布尔表达式3){      
  //布尔表达式1和布尔表达式2为false但是布尔表达式3为true时执行的代码
}else{      
  //布尔表达式1、布尔表达式2和布尔表达式3均为false时执行的代码}
嵌套if:if(布尔表达式1){   
   //布尔表达式1为true时执行的代码   
       if(布尔表达式2){     
      //布尔表达式1和布尔表达式2均为true时执行的代码     
       }else{            
//布尔表达式1为true,但布尔表达式2均为false时执行的代码   
      }
}else {   
   //布尔表达式1为false时执行的代码

注意:
1、if分支语句中去掉括号,则对第一行代码有效  
2、else不能单独使用
---------------------
(2)switch语句switch分支语句语法:
switch ( 表达式 ) {  
case 常量1 :
当表达式的值等于整型常量1时执行的语句;
break;
//当一种情况包含其他情况时
case 常量2 :
当表达式的值等于整型常量2时执行的语句;
break;   
---
default:
当表达式的值不满足任何一个case的值时,执行的语句;
}

---------------------
注意:
  1、表达式的值能写那些: byte short int char  String  枚举
  2、 case 的先后顺序是没有要求的 但是一般都是按照从小到大的顺序写
  3、case穿透(case后面语句结束没有写上break关键字)执行流会变成 从当前匹配的数据开始执行 知道遇到第一个break为止

break语句的作用:
1、只能在循环体内和switch语句体内使用break语句。
2、当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。
3、当break出现在循环体中,但并不在switch语句体内时,则在执行break后,跳出本层循环体。
4、在循环结构中,应用break语句使流程跳出本层循环体,从而提前结束本层循环。
   continue语句作用:
1、continue语句一般形式为:contonue;
2、其作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。
3、注意:执行continue语句并没有使整个循环终止。在while和do-while循环中,continue语句使得流程直接跳到循环控制条件的测试部分,然后决定是否继续进行。
4、在for循环中,遇到continue后,跳过循环体中余下的语句,而去对for语句中的“表达式3”求值,然后进行“表达式2”的条件测试,最后根据“表达式2”的值来决定for循环是否执行。循环体内,不论continue是作为何种语言的语句成分,都按上述功能执行,这点与bresk有所不同。
---------------------
两种分支语句的区别:
1. if..else 的功能大于 switch
2. if..else 的比较过程比较繁琐 switch 底层会创建一个跳表直接匹配 效率高 弊端: 创建跳表需要消耗时间和空间
   如果比较比较多建议使用 switch 否则选择if...else ;


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马