详解Java中的几种分支语法

2023年 10月 13日 72.7k 0

一、Java中都有哪几种分支语法?

在Java中,有几种分支语法可以用来控制程序的执行流程,包括条件语句循环语句

graph LR
A(Java分支语法)
B(条件语句)
C(循环语句)
D(if else 语句)
E(switch语句)
F(for循环)
G(while循环)
H(do-while循环)

A ---> B
A ---> C

B ---> D
B ---> E

C ---> F
C ---> G
C ---> H

style B fill:#FFC0CB,stroke:#FFC0CB,stroke-width:2px
style C fill:#FFA07A,stroke:#FFA07A,stroke-width:2px
style D fill:#FFFFE0,stroke:#FFFFE0,stroke-width:2px
style E fill:#98FB98,stroke:#98FB98,stroke-width:2px
style F fill:#ADD8E6,stroke:#ADD8E6,stroke-width:2px
style G fill:#00FFFF,stroke:#00FFFF,stroke-width:2px
style H fill:#E6E6FA,stroke:#E6E6FA,stroke-width:2px

除了两种语句,还有一些其他的控制关键字,如break关键字用于跳出循环或switch语句,continue关键字用于跳过当前循环迭代,return关键字用于从方法中返回结果等。

graph LR
A(Java分支关键字)
B(break)
C(continue)
D(return)

A ---> B
A ---> C
A ---> D

style B fill:#FFC0CB,stroke:#FFC0CB,stroke-width:2px
style C fill:#FFA07A,stroke:#FFA07A,stroke-width:2px
style D fill:#FFFFE0,stroke:#FFFFE0,stroke-width:2px

这些分支语法提供了在Java程序中进行条件判断和循环迭代的能力,使得程序的执行流程可以根据不同的条件和需求进行灵活控制。

二、认识一下各种分支语法

2.1 条件语句

2.1.1 if语句

if语句用于根据给定的条件选择性地执行代码块。

语法如下

if (condition) {
    // 当条件为真时执行的代码
} else {
    // 当条件为假时执行的代码
}

流程图如下

graph LR
A(开始)
B{判断条件是否为真}
C(执行if语句块)
D(执行else语句块)
E[继续执行]

A --> B
B -- 条件为真 --> C
B -- 条件为假 --> D
C --> E
D --> E

style B fill:#FFC0CB,stroke:#FFC0CB,stroke-width:2px
style C fill:#FFA07A,stroke:#FFA07A,stroke-width:2px
style D fill:#FFFFE0,stroke:#FFFFE0,stroke-width:2px
style E fill:#98FB98,stroke:#98FB98,stroke-width:2px

流程图中的关键部分如下:

  • 判断条件是否为真(满足)。

  • 如果条件为真,则执行if语句块中的代码。

  • 如果条件为假,则执行else语句块中的代码(如果有)。

  • 继续执行if-else语句后面的代码。

  • 2.1.2 switch语句

    switch语句根据给定的表达式值来选择性地执行一系列语句。

    语法如下

    switch (expression) {
        case value1:
            // 当表达式值等于 value1 时执行的代码
            break;
        case value2:
            // 当表达式值等于 value2 时执行的代码
            break;
        // 其他 case
        default:
            // 当表达式值不匹配任何 case 时执行的代码
            break;
    }
    

    流程图如下

    graph LR
    A(开始)
    B{匹配表达式或变量值与case标签}
    C(执行对应的代码块)
    D(执行default代码块)
    E[继续执行]
    
    A --> B
    B -- 匹配成功 --> C
    B -- 匹配失败 --> D
    C --> E
    D --> E
    
    style B fill:#FFC0CB,stroke:#FFC0CB,stroke-width:2px
    style C fill:#FFA07A,stroke:#FFA07A,stroke-width:2px
    style D fill:#FFFFE0,stroke:#FFFFE0,stroke-width:2px
    style E fill:#98FB98,stroke:#98FB98,stroke-width:2px
    

    流程图中的关键部分如下:

  • 提供一个表达式或变量作为switch的条件。

  • 执行表达式或变量的值与case标签进行比较。

  • 如果有匹配的case标签,则执行对应的代码块,并跳出switch语句。

  • 如果没有匹配的case标签,则执行default标签对应的代码块(如果有)。

  • 继续执行switch语句后面的代码。

  • 2.2 循环语句

    2.2.1 for循环

    for循环用于重复执行一段代码,通常在已知循环次数的情况下使用。

    语法如下

    for (initialization; condition; update) {
        // 循环体代码
    }
    

    流程图如下

    graph LR
    A(开始)
    B(初始化循环变量)
    C{循环条件}
    D(循环体)
    E(更新循环变量)
    F[结束]
    
    A --> B
    B --> C
    C -- 条件为真 --> D
    D --> E
    E --> C
    C -- 条件为假 --> F
    style B fill:#FFC0CB,stroke:#FFC0CB,stroke-width:2px
    style C fill:#FFA07A,stroke:#FFA07A,stroke-width:2px
    style D fill:#FFFFE0,stroke:#FFFFE0,stroke-width:2px
    style E fill:#98FB98,stroke:#98FB98,stroke-width:2px
    style F fill:#ADD8E6,stroke:#ADD8E6,stroke-width:2px
    

    流程图中的关键部分如下:

  • 初始化循环变量:在进入循环之前,对循环变量进行初始化,通常是设置初始值。

  • 循环条件:判断循环是否继续执行的条件。如果条件为真(满足),则继续执行循环体;如果条件为假(不满足),则结束循环。

  • 循环体:包含在循环中要重复执行的代码块。

  • 更新循环变量:在每次循环迭代之后,对循环变量进行更新,通常是递增或递减操作。

  • 结束:标志循环结束的位置。

  • 2.2.2 while循环

    while循环在给定条件为真时重复执行一段代码,通常在循环次数不确定的情况下使用。

    语法如下

    while (condition) {
        // 循环体代码...先判断条件,后执行
    }
    

    流程图如下

    graph LR
    A(开始)
    B(初始化循环变量或设置循环条件的初始值)
    C{判断循环条件是否为真}
    D(执行循环体)
    E(更新循环条件)
    F[结束循环]
    
    A --> B
    B --> C
    C -- 条件为真 --> D
    D --> E
    E --> C
    C -- 条件为假 --> F
    
    style B fill:#FFC0CB,stroke:#FFC0CB,stroke-width:2px
    style C fill:#FFA07A,stroke:#FFA07A,stroke-width:2px
    style D fill:#FFFFE0,stroke:#FFFFE0,stroke-width:2px
    style E fill:#98FB98,stroke:#98FB98,stroke-width:2px
    style F fill:#ADD8E6,stroke:#ADD8E6,stroke-width:2px
    

    流程图中的关键部分如下:

  • 初始化循环变量或设置循环条件的初始值。

  • 判断循环条件是否为真(满足)。如果条件为假(不满足),则跳到步骤 6,结束循环。

  • 如果条件为真,则执行循环体中的代码块。

  • 执行完循环体后,返回到步骤 2,重新判断循环条件。

  • 重复步骤 2、3、4,直到循环条件为假,循环结束。

  • 结束循环,继续执行循环后的代码。

  • 2.2.3 do-while循环

    do-while循环与while循环类似,但它先执行一次循环体,然后在给定条件为真时重复执行。

    语法如下

    do {
        // 循环体代码...先执行,后判断条件
    } while (condition);
    

    流程图如下

    graph LR
    A(开始)
    B(执行循环体)
    C{判断循环条件是否为真}
    D(返回执行循环体)
    E[结束循环]
    
    A --> B
    B --> C
    C -- 条件为真 --> D
    D --> B
    C -- 条件为假 --> E
    
    style B fill:#FFC0CB,stroke:#FFC0CB,stroke-width:2px
    style C fill:#FFA07A,stroke:#FFA07A,stroke-width:2px
    style D fill:#FFFFE0,stroke:#FFFFE0,stroke-width:2px
    style E fill:#ADD8E6,stroke:#ADD8E6,stroke-width:2px
    

    流程图中的关键部分如下:

  • 执行循环体中的代码块。

  • 判断循环条件是否为真(满足)。如果条件为真,则继续执行循环体,否则跳到步骤 5,结束循环。

  • 返回到步骤 1,继续执行循环体。

  • 重复步骤 1 和 2,直到循环条件为假,循环结束。

  • 结束循环,继续执行循环后的代码。

  • 三、分支语句的用途和总结

    分支语句是编程中常用的一种语句结构,用于根据条件的不同执行不同的代码块。分支语句的主要用途包括以下几个方面:

  • 条件判断:分支语句可以根据条件的真假选择执行不同的代码块。通过条件判断,程序可以根据不同的情况采取不同的操作,实现更灵活的逻辑控制。

  • 多路选择:分支语句可以根据变量的不同取值选择执行不同的代码块。比如使用switch语句可以实现多个case标签的匹配,根据不同的取值执行相应的代码块,实现多路选择的逻辑。

  • 错误处理:分支语句可以用于处理异常情况或错误情况。当程序遇到错误或异常时,可以使用分支语句来捕获并执行相应的错误处理代码,提高程序的健壮性和容错性。当然,Java中我们更多的是使用try-catch来处理异常。

  • 逻辑流程控制:分支语句可以控制程序的执行流程。通过不同的条件判断和代码块执行,可以实现程序的逻辑分支和流程控制,使程序按照设计的要求执行不同的操作。

  • 总体而言,分支语句在编程中起到了根据条件的不同执行不同操作的作用。它们可以根据需求进行条件判断、多路选择、错误处理和流程控制,提高程序的灵活性、可靠性和可维护性。

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论