在Java编程中,流程控制语句是构建程序逻辑结构的基础。它们允许我们控制程序的执行流程,决定哪些代码块会在特定条件下被执行。Java提供了多种流程控制语句,包括条件语句、循环语句和跳转语句。本文将详细解析这些流程控制语句,并给出相应的示例代码。
1. 条件语句
条件语句用于根据条件表达式的值来决定执行哪段代码。Java中常用的条件语句有if、if-else、if-else if-else以及Java 7引入的switch语句(在Java 12及以后版本得到了进一步的增强)。
1.1 if 语句
if语句用于判断一个条件是否为真,如果为真则执行相应的代码块。
java复制代码
int x = 10; if (x > 5) { System.out.println("x 大于 5"); }
1.2 if-else 语句
if-else语句用于在条件为真时执行一段代码,否则执行另一段代码。
java复制代码
int x = 3; if (x > 5) { System.out.println("x 大于 5"); } else { System.out.println("x 不大于 5"); }
1.3 if-else if-else 语句
if-else if-else语句允许我们检查多个条件,并根据第一个为真的条件执行相应的代码块。
java复制代码
int x = 7; if (x > 10) { System.out.println("x 大于 10"); } else if (x > 5) { System.out.println("x 在 6 到 10 之间"); } else { System.out.println("x 小于或等于 5"); }
1.4 switch 语句
switch语句用于根据表达式的值来执行不同的代码块。Java 12及以后版本支持使用字符串、枚举类型以及从byte到int的所有整数类型作为switch语句的表达式。
java复制代码
String fruit = "apple"; switch (fruit) { case "apple": System.out.println("It's an apple."); break; case "banana": System.out.println("It's a banana."); break; default: System.out.println("Unknown fruit."); }
注意:每个case分支的末尾需要使用break语句来避免代码穿透(fall-through)到下一个case分支。
2. 循环语句
循环语句用于重复执行一段代码,直到满足某个条件为止。Java提供了四种循环语句:for、while、do-while以及增强的for-each(也称为"for-in"或"for-of")。
2.1 for 循环
for循环用于在给定范围内重复执行代码块。
java复制代码
for (int i = 0; i < 10; i++) { System.out.println("i 的值为: " + i); }
2.2 while 循环
while循环会在条件表达式为真时重复执行代码块。
java复制代码
int i = 0; while (i < 10) { System.out.println("i 的值为: " + i); i++; }
2.3 do-while 循环
do-while循环与while循环类似,但不同之处在于它会先执行一次代码块,然后再检查条件表达式。
java复制代码
int i = 0; do { System.out.println("i 的值为: " + i); i++; } while (i < 10);
2.4 for-each 循环
for-each循环(也称为增强的for循环)用于遍历数组或集合中的元素。
java复制代码
String[] fruits = {"apple", "banana", "orange"}; for (String fruit : fruits) { System.out.println(fruit); }
3. 跳转语句
跳转语句用于改变程序的正常执行流程。Java中的跳转语句有break、continue和return。