分支结构

293 阅读2分钟

分支结构

     程序的流程控制语句:
     1、顺序结构 - 默认值:从上向下依次执行每句话
     2、分支结构 - 通过条件判断,选择部分代码执行
     3、循环结构 - 通过条件判断,要不要反复执行某代码
     如何使用:
     1if分支:
        1、一个条件,一件事,满足就做,不满足就不做
          if(条件){
                  操作;              
          }
        2、一个条件,两件事,满足就做第一件,不满足就做第二件
          if(条件){
                操作;
          }else{
              默认操作;
          }
        3、多个条件,多件事,满足谁就做谁
         if(条件){
              操作;
         }else if(条件2){
              操作;
         }else if(条件3){
              操作;
         }else{
              默认操作;
         }
    注意: 1.分支只要满足了一条路。就不会再走别的路,书写顺序很重要
          2.else if想写多少句,由程序员决定
          3.else 可以省略不写,但不推荐,如果条件不满足,则都不执行
          4.分支结构可以嵌套
          
    2switch...case分支  前提:只有知道最后的结果是什么,才能用
    语法:
         switch(变量/表达式){
         case1:
         操作 1break;
         case2:
         操作 2breakcase3:
         操作 3breakdefault:
         默认操作;
         }
   注意:1.case的比较不带隐式转换
        2.问题:默认只要一个case满足以后,会把续所有操作做完
          解决:每个case的操作后跟上一个break,最后一个default可以省略break,如果多个条件做法是一样的,可以省略中间部分
        3.default 可以省略,但不推荐
        ifswitch 的区别
          1.switch...case 优点:执行效率高,速度比较快(比较时,case做的不是范围查找而是等值比较,且不带隐式转换)缺点:不能做范围查找
          2.if...else 优点:可以做范围比较   缺点:执行效率低,速度比较慢
      建议:代码开发完毕后,要多做代码优化,尽量少用if...else,将其替换成switch...case
      
  3、三目运算:纯粹为了简化[简单的]分支;操作只能有一句话
  语法:
     短路逻辑:条件&&(操作)         ===if
     
     条件?操作1:默认操作;          ===if...else
     
     条件1?操作1:条件2?操作2;默认操作;     ===if...else if...else
 注意:1.默认操作是不能省略的,省略会报错 - 其实算优点
     2.如果操作比较复杂,不能使用三元运算