流程控制——选择结构与循环结构

    技术2023-11-23  94

    第三章 流程控制——选择结构与循环结构1.流程控制结构 Java中有3种流程控制结构:顺序结构、选择结构、循环结构 顺序结构:程序从上向下依次执行每条语句的结构,中间没有任何的判断和跳转。 选择结构:根据条件判断的结果来选择执行不同的代码。选择结构可以细分为单分支结构、双分支结构和多分支结构。Java中提供了if控制语句、switch语句来实现选择结构。 循环结构:循环结构是根据判断条件来重复性地执行某断代码。Java提供了while语句、do-while语句、for语句来实现循环结构。2.if控制语句

    (1)if控制语句共有3中不同的形式,分别是单分支结构、双分支结构和多分支结构

    if(表达式){

    语句

    }

    if是Java中的关键字

    表达式是布尔类型的表达式,其结果为true或false//结果为真,则执行该语句。结果为假,则跳过该语句。

    示例

    public static void main(String[] args){

    int score=70;

    if(score>=60){

     System.out.println("成绩及格。");

    System.out.println("通过考试。“);

     }

    }

    输出结果

    成绩及格。

    通过考试。

    (2)if - else语句实现双分支处理

    语法格式

    if(表达式){

    语句1

    }else{

    语句2

    }

    表达式结果为true,则执行语句1。表达式结果为false,则执行语句2.

    (3)多分支if语句实现多分支处理

    当有多个条件判断时,需要使用多分支if语句解决

    语法格式:

    if(表达式1){

    语句1

    }else if(表达式2){

    语句2

    }else{

    语句3

    }

    else if语句可以有多个,对表达式1的结果进行判断。如果表达1的结果为true,则执行语句1;否则判断表达式2的值。如果表达式2的结果为true,则执行语句2;否则执行语句3.

    3.嵌套if控制语句

    在if控制语句中又包含一个或多个if控制语句的称为嵌套if控制语句。嵌套if控制语句可以通过外层语句和内层语句的协作,来增强程序的灵活性

    语法格式

    if(表达式1){

       if(表达式2){

            语句1

    }else{

            语句2

     }

    }else{

      if(表达式3){

           语句3

    }else{

          语句4

       }

    }

    执型步骤

    对表达式1的结果进行判断。如果表达式1的结果为true,再对表达式2的结果进行判断。如果表达式2的结果为true,则执行语句1;否则,判断表达式2的值。如果表达式1的结果为false,对表达式3的结果进行判断。如果表达式3的结果为true,则执行语句3;否则判断表达式4的值。

    4.switch语句

    用于实现多分支选择结构。它和多分支if控制语句结构在某些情况下可以相互替代。

    语法格式

    switch(表达式){

       case常量1:

             语句;

          break;

      case常量2:

           语句;

        break;

         ……

    default:

       语句;

    break;

    }

    switch、case、break、default是Java中的关键字。

    switch后的表达式只能是整形、字符型或枚举类型。

    case用于与表达式进行匹配。

    break用于终止后续语句的执行。

    default是可选的,当其他条件都不匹配时执行default。

    注意:如果case后没有break语句,程序将继续向下执行,知道遇到break语句或switch语句结束。

    执行步骤:

    计算switch后表达式的值。

    将计算结果从上至下依次与case后的常量值比较。

    如果相等就执行该常量后的代码快,遇到break语句就结束。

    如果与任何一个case后的常量值都不匹配,就执行default中的语句。

    Processed: 0.022, SQL: 9