目录
一. 简介
二. 分支语句
三. 循环语句
四. 跳转语句
一. 简介
在 Java 中,控制语句用于控制程序的执行流程,根据不同的条件决定执行哪些代码块。常见的控制语句包括:
if-else
语句:根据条件的真假执行不同的代码块。
switch
语句:根据表达式的值选择执行不同的代码分支。
for
循环:用于重复执行一段代码特定的次数。
while
循环:只要条件为真,就重复执行循环体中的代码。
do-while
循环:先执行一次循环体,然后只要条件为真,就继续执行。
这些控制语句使程序能够根据不同的情况做出决策和重复执行特定的操作,从而实现更复杂和灵活的逻辑。
二. 分支语句
在 Java 中,分支语句用于根据不同的条件执行不同的代码块。主要的分支语句包括 if-else
语句和 switch
语句。
1. if-else
语句
if-else
语句根据条件的真假来决定执行哪个代码块。
- 简单的
if
语句:
if (condition) {// 当条件为真时执行的代码
}
if-else
语句:
if (condition) {// 当条件为真时执行的代码
} else {// 当条件为假时执行的代码
}
- 嵌套的
if-else
语句:
if (condition1) {// 当条件 1 为真时执行的代码
} else if (condition2) {// 当条件 1 为假且条件 2 为真时执行的代码
} else {// 当前面的条件都为假时执行的代码
}
2. switch
语句
switch
语句根据一个表达式的值来选择执行不同的代码分支。
switch (expression) {case value1:// 当表达式的值等于 value1 时执行的代码break;case value2:// 当表达式的值等于 value2 时执行的代码break;// 可以有多个 case 分支default:// 当表达式的值与前面的 case 都不匹配时执行的代码
}
需要注意以下几点:
expression
的类型通常为byte
、short
、int
、char
,从 Java 7 开始也可以是String
类型。- 每个
case
后面的值必须是常量,且不能重复。 break
语句用于在执行完一个case
分支后跳出switch
语句。如果没有break
,程序会继续执行下一个case
分支的代码,直到遇到break
或者switch
语句结束。
以下是一个示例代码,展示了 if-else
和 switch
语句的使用:
public class BranchingStatementsExample {public static void main(String[] args) {int num = 2;// if-else 示例if (num == 1) {System.out.println("Number is 1");} else if (num == 2) {System.out.println("Number is 2");} else {System.out.println("Number is neither 1 nor 2");}// switch 示例switch (num) {case 1:System.out.println("In switch: Number is 1");break;case 2:System.out.println("In switch: Number is 2");break;default:System.out.println("In switch: Number is neither 1 nor 2");}}
}
三. 循环语句
在 Java 中,常见的循环语句有 for
循环、while
循环和 do-while
循环。
1. for
循环
for
循环通常用于已知循环次数的情况。它的语法结构如下:
for (初始化表达式; 条件表达式; 更新表达式) {// 循环体
}
例如:
for (int i = 0; i < 5; i++) {System.out.println(i);
}
在上述代码中,首先执行初始化表达式 int i = 0
,然后判断条件表达式 i < 5
,如果为真,则执行循环体,执行完循环体后,执行更新表达式 i++
,然后再次判断条件表达式,如此循环,直到条件表达式为假。
2. while
循环
while
循环在执行循环体之前先判断条件,如果条件为真,则执行循环体。其语法结构为:
while (条件表达式) {// 循环体
}
例如:
int i = 0;
while (i < 5) {System.out.println(i);i++;
}
3. do-while
循环
do-while
循环先执行一次循环体,然后再判断条件,如果条件为真,则继续执行循环体。它的语法结构是:
do {// 循环体
} while (条件表达式);
例如:
int i = 0;
do {System.out.println(i);i++;
} while (i < 5);
4. for-each
在 Java 中,for-each
循环也称为增强型 for
循环,它提供了一种更简洁和方便的方式来遍历数组或实现了 java.lang.Iterable
接口的集合(如 ArrayList
、 LinkedList
等)。
for-each
循环的语法如下:
for (元素类型 元素变量 : 数组或集合) {// 循环体
}
以下是使用 for-each
循环遍历数组的示例:
int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {System.out.println(num);
}
以下是遍历 ArrayList
的示例:
import java.util.ArrayList;
import java.util.List;public class ForEachExample {public static void main(String[] args) {List<String> names = new ArrayList<>();names.add("Alice");names.add("Bob");names.add("Charlie");for (String name : names) {System.out.println(name);}}
}
使用 for-each
循环的优点是代码简洁,并且避免了在传统 for
循环中可能出现的越界错误。然而,它不能用于在遍历过程中修改数组或集合的元素(如果需要修改,仍需要使用传统的 for
循环)。
四. 跳转语句
在 Java 中,跳转语句用于改变程序的执行流程。常见的跳转语句有 break
、 continue
和 return
。
break
语句
- 用于终止循环(如
for
、while
、do-while
)或switch
语句的执行,使程序跳出当前循环体或switch
块。 - 示例:
for (int i = 0; i < 10; i++) {if (i == 5) {break;}System.out.println(i);}
在上述代码中,当 i
的值为 5 时,break
语句会使循环终止。
continue
语句
用于跳过当前循环的本次迭代,直接开始下一次迭代。
示例:
for (int i = 0; i < 10; i++) {if (i % 2 == 0) {continue;}System.out.println(i);}
在这个例子中,当 i
是偶数时,continue
语句会使程序跳过本次循环体中后续的代码,直接进行下一次循环。
return
语句
用于从方法中返回值,并结束方法的执行。
示例:
public int add(int num1, int num2) {int sum = num1 + num2;return sum;}
在上述方法中,计算两个数的和后,使用 return
语句将结果返回。
跳转语句在控制程序流程方面非常有用,但应谨慎使用,以确保程序的逻辑清晰和可维护性。