Java 流程控制语句

本文介绍 Java 流程控制语句。

Java 应用程序代码通常按代码出现的顺序从上到下顺序执行。在有些业务逻辑中,我们可能需要有条件地执行代码。控制语句帮助我们有条件地执行代码块。

所有控制语句都与条件相关:当条件为 true 时,代码块将执行;否则条件为 false,则会跳过。

Java 支持以下控制语句。

1. if-else 语句

if-else 语句仅在判断条件执行结果为 true 时才告诉程序执行代码的特定部分,否则执行 else 块。

我们可以嵌套 if-else 块。

public class JavaExample 
{
    public static void main(String[] args) 
    {
        boolean condition = true;
         
        if(condition) {
            System.out.println("Condition is true");
        } 
        else
        {
            System.out.println("Condition is false");
        }
    }
}

程序输出:

Condition is true

2. switch 语句

if-else 语句的程序仅在判断条件结果为 truefalse 时才执行代码的特定部分,而 switch 语句可以具有多个执行路径。

switch 适用于 byteshort``,charint 基本数据类型。它还可用于枚举类型,String 类和一些包装某些基本类型的特殊类:Character,Byte,Short 和 Integer。(在 Java 5 中添加了支持枚举,在 Java 7 中添加了支持 String 类)。

public class JavaExample 
{
    public static void main(String[] args) 
    {
        String value = "B";
 
        switch (value) 
        {
            case "A":
                System.out.println("Value is A");
                break;
            case "B": 
                System.out.println("Value is B");
                break;
            default:
                System.out.println("Value is neither A nor B");
                break;
        }
    }
}

程序输出:

Value is B

3. While 循环

while 循环语句在判断条件为 true 时连续执行语句块。while 语句会持续测试表达式并执行其块,直到表达式的计算结果为 false。

public class JavaExample 
{
    public static void main(String[] args)
    {
        int count = 1;
        while (count < 5) 
        {
            System.out.println("Count is: " + count);
            count++;
        }
    }
}

程序输出:

1
2
3
4
5

4. 循环执行

do-while 和 while 之间的区别是 do-while 在循环的底部计算判断条件。因此,do 块中的语句始终至少执行一次。

请注意,do-while 语句以分号结尾。条件表达式必须是布尔表达式。

int i = 1;
int sum = 0;
 
do
{
    sum = sum + i;
    i++;
}
while (i <= 10);
 
System.out.println(sum);

5. for 循环

for 语句在一系列值上进行迭代。它反复遍历值,直到判断条件不再满足时终止。

for(int num = 1; num <= 5; num++)
{
 
     System.out.println(num);
 
}

程序输出

1
2
3
4
5

6.增强 for-each 循环

Java 5 引入了一个 for-each 循环,称为增强的 for-each 循环。它用于遍历数组和集合的元素。

int[] numList = {10, 20, 30, 40};
 
for(int num : numList) 
{
    System.out.println(num);
}

程序输出:

10
20
30
40

7. 打标签的语句

在程序执行过程中,遇到带标签的 break 语句,该控件都会立即退出封闭的带标签的块。同样,标记为 continue 将使控制重新开始。就像在普通的 break 和 continue 语句中一样,只是为代码块增加了标记。

public class JavaExample 
{
    public static void main(String[] args) 
    {
        loop: for(int i=0; i < 6; i++) 
        {
            if(i % 2 == 0) 
            {
                System.out.println("In if block :: " + i);
                continue loop;
            } 
            else
            {
                System.out.println("In else block :: " + i);
            }
        }
    }
}

程序输出。

In if block :: 0
In else block :: 1
In if block :: 2
In else block :: 3
In if block :: 4
In else block :: 5