Java中的控制流语句是一种用于控制程序执行顺序的语法结构,可以让程序按照预期的方式执行。Java中的控制流语句包括顺序结构、条件结构、循环结构以及跳转结构。
1. 顺序结构
顺序结构是程序默认的执行方式,在没有任何控制流语句的情况下,程序会按照从上到下的顺序依次执行每一条语句。
例如,以下代码展示了一个简单的顺序结构程序:
```java
public class Example {
public static void main(String[] args) {
System.out.println("Hello, world!");
System.out.println("Java is awesome!");
}
}
```
在这个例子中,程序会先输出“Hello, world!”,然后输出“Java is awesome!”。
2. 条件结构
条件结构是根据条件的真假来选择性地执行某些语句的结构。Java中的条件结构包括if语句、if-else语句、if-else if-else语句和switch语句。
2.1 if语句
if语句是最基本的条件语句,它根据某个条件是否成立来决定是否执行其中的语句块。
例如,以下代码展示了一个简单的if语句:
```java
public class Example {
public static void main(String[] args) {
int a = 10;
if (a > 0) {
System.out.println("a is positive.");
}
}
}
```
在这个例子中,程序会根据变量a的值是否大于0来决定是否输出“a is positive.”。
2.2 if-else语句
if-else语句可以在if条件不成立时执行某个语句块。
例如,以下代码展示了一个简单的if-else语句:
```java
public class Example {
public static void main(String[] args) {
int a = -10;
if (a > 0) {
System.out.println("a is positive.");
} else {
System.out.println("a is non-positive.");
}
}
}
```
在这个例子中,如果变量a的值小于等于0,程序会输出“a is non-positive.”。
2.3 if-else if-else语句
if-else if-else语句可以在一系列条件中选择性地执行语句块。
例如,以下代码展示了一个简单的if-else if-else语句:
```java
public class Example {
public static void main(String[] args) {
int a = 0;
if (a > 0) {
System.out.println("a is positive.");
} else if (a < 0) {
System.out.println("a is negative.");
} else {
System.out.println("a is zero.");
}
}
}
```
在这个例子中,如果变量a的值大于0,程序会输出“a is positive.”;如果变量a的值小于0,程序会输出“a is negative.”;如果变量a的值等于0,程序会输出“a is zero.”。
2.4 switch语句
switch语句可以根据一个表达式的值来选择性地执行某个语句块。
例如,以下代码展示了一个简单的switch语句:
```java
public class Example {
public static void main(String[] args) {
String s = "Monday";
switch (s) {
case "Monday":
System.out.println("Today is Monday.");
break;
case "Tuesday":
System.out.println("Today is Tuesday.");
break;
default:
System.out.println("Today is not Monday or Tuesday.");
break;
}
}
}
```
在这个例子中,如果字符串s的值为“Monday”,程序会输出“Today is Monday.”。
3. 循环结构
循环结构是重复执行某些语句块的结构。Java中的循环结构包括for循环
、while循环、do-while循环和增强型for循环。
3.1 for循环
for循环可以用于按照一定规律重复执行某个语句块。
例如,以下代码展示了一个简单的for循环:
```java
public class Example {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
}
}
```
在这个例子中,程序会输出从0到9的整数。
3.2 while循环
while循环可以根据一个条件重复执行某个语句块。
例如,以下代码展示了一个简单的while循环:
```java
public class Example {
public static void main(String[] args) {
int i = 0;
while (i < 10) {
System.out.println(i);
i++;
}
}
}
```
在这个例子中,程序会输出从0到9的整数。
3.3 do-while循环
do-while循环与while循环相似,不同之处在于它是先执行一遍循环体,然后再进行判断是否继续循环。
例如,以下代码展示了一个简单的do-while循环:
```java
public class Example {
public static void main(String[] args) {
int i = 0;
do {
System.out.println(i);
i++;
} while (i < 10);
}
}
```
在这个例子中,程序会输出从0到9的整数。
3.4 增强型for循环
增强型for循环是Java SE 5中新增加的一个特性,它可以用于遍历数组或集合中的元素。
例如,以下代码展示了一个简单的增强型for循环:
```java
public class Example {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
for (int i : arr) {
System.out.println(i);
}
}
}
```
在这个例子中,程序会输出数组arr中的每一个元素。
4. 跳转结构
跳转结构可用于提供一种将程序控制权转移到其他位置的机制。Java中的跳转结构包括break语句、continue语句和return语句。
4.1 break语句
break语句可用于跳出当前循环或switch语句。
例如,以下代码展示了一个简单的break语句:
```java
public class Example {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i == 5) {
break;
}
System.out.println(i);
}
}
}
```
在这个例子中,当变量i的值等于5时,程序会跳出for循环。
4.2 continue语句
continue语句可用于跳过当前循环中的某些语句,继续执行下一次循环。
例如,以下代码展示了一个简单的continue语句:
```java
public class Example {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue;
}
System.out.println(i);
}
}
}
```
在这个例子中,程序会输出从1到9的奇数。
4.3 return语句
return语句可用于结束当前方法的执行,并返回一个值(如果有)。
例如,以下代码展示了一个简单的return语句:
```java
public class Example {
public static int add(int a, int b) {
return a + b;
}
public static void main(String[] args) {
int sum = add(1, 2);
System.out.println(sum);
}
}
```
在这个例子中,程序会输出3,因为
调用了add方法并返回了a和b的和。
总结:
Java中的控制流语句包括顺序结构、条件结构、循环结构以及跳转结构。顺序结构是程序默认的执行方式,条件结构可以根据条件的真假来选择性地执行某些语句块,循环结构是重复执行某些语句块的结构,而跳转结构可以提供一种将程序控制权转移到其他位置的机制。掌握这些控制流语句对于编写高效且可读性强的Java代码至关重要。