Java 流控制语句

Java 流控制语句

Java 应用程序代码通常按照代码出现的顺序从上到下依次执行。为了应用业务逻辑,我们可能需要有条件地执行代码。控制流语句有助于代码块的这种有条件执行。

所有控制流语句都与一个业务条件相关联:

  • 当为 true 时,代码块执行;
  • 当为 false 时,代码块被跳过。

If-else 语句

if-else 语句告诉程序仅在表达式为真时才执行特定代码段,否则执行else代码块。

public class Mapull {
    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

swith 语句

正如 if-else 语句告诉您的程序仅在表达式为 true 或 false 时才执行特定代码段一样,switch 语句可以有多个执行路径。

swith适用于 byte、short、char 和 int 原始数据类型,它还适用于枚举类型、String 类和一些包装某些原始类型的特殊类:Character、Byte、Short 和 Integer。(枚举是在 java 5 中添加的,String 类是在 java 7 中添加的)。

public class Mapull {
    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

While 循环

while 语句或循环在特定条件为真时连续执行语句块。while 语句继续检测表达式并执行代码块,直到表达式的计算结果为 false。

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

程序输出:

1
2
3
4
5

do-while 循环

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);

for 循环

for 语句迭代一系列值。它重复循环值,直到满足特定条件。

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

程序输出:

1
2
3
4
5

增强的for循环 for-each

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

    List<String> items = new ArrayList<>();
    items.add("A");
    items.add("B");
    items.add("C");

    for(String item : items) {
        System.out.println(item);
    }

程序输出:

A
B
C

forEach 简写

Java 集合提供了 forEach 方法可以方便地对集合进行遍历。

    List<String> items = new ArrayList<>();
    items.add("A");
    items.add("B");
    items.add("C");

    // lambda 表达式写法
    items.forEach(item->System.out.println(item));

    // 方法引用写法
    items.forEach(System.out::println);

程序输出:

A
B
C
A
B
C

tag 标签

Java 中有一个保留关键字 goto ,是参照了 c 语言的语法。虽然 Java 不能直接使用 goto 语句,但是有一种写法非常类似这种形式。

每当在程序执行期间,遇到标记的 break 语句时,控制立即离开封闭的标记块。同样,标记为 continue 将控制重新开始。就像在正常的 break 和 continue 语句中一样,为代码块提供了额外的名称。

public class Mapull {
    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

Java 提供这种写法,但是一般很少在开发中实际使用。

转载请注明出处:码谱记录 » Java 流控制语句
标签: