目录
选择结构:
if...else语句:
switch 语句:
循环结构:
while 循环:
do-while 循环:
for 循环:
增强 for 循环 :
跳转语句
break 关键字
continue 关键字
综合示例
循环和选择结构是 Java 程序中常用的控制语句,用于控制程序的执行流程。下面简要介绍循环和选择结构的语法和用法。
用于根据条件判断是否执行某一段代码块。
语法格式如下:
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}
if 语句后面可以跟 else if…else 语句,这种语句可以检测到多种可能的情况。使用 if,else if,else 语句的时候,需要注意下面几点:
根据表达式的值匹配不同的 case 分支进行执行。
语法格式如下:
switch (expression) {
case value1:
// 执行语句块
break;
case value2:
// 执行语句块
break;
//你可以有任意数量的case语句
...
default:
// 执行语句块
}
使用switch 语句的时候,需要注意下面几点:
在满足循环条件的情况下,重复执行一段代码块,直到循环条件不成立。
while是最基本的循环,语法格式如下:
while( 布尔表达式 ) {
//循环内容
}
只要布尔表达式为 true,循环就会一直执行下去。
对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。do…while 循环和 while 循环相似,不同的是,do…while 循环先执行一次循环体的代码块,然后在满足循环条件的情况下重复执行,直到循环条件不成立。
语法格式如下:
do {
//代码语句
}while(布尔表达式);
注意:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。
虽然所有循环结构都可以用 while 或者 do...while表示,但 Java 提供了另一种语句 —— for 循环,for循环语句是最常用的循环语句,使一些循环结构变得更加简单。
for循环执行的次数是在执行前就确定的。语法格式如下:
for(初始化表达式; 循环条件; 操作表达式)
{
执行语句
...
}
关于 for 循环有以下几点说明:
Java5 引入了一种主要用于数组的增强型 for 循环。Java的增强for循环(Enhanced for Loop),也称为for-each循环,是用于遍历数组或集合的简化语法形式。它可以方便地迭代访问数组或集合中的元素,提供了一种简洁的方式来处理这些容器。
增强for循环的语法如下:
for (元素类型 变量名 : 数组或集合) {
// 执行语句
...
}
其中,元素类型表示数组或集合中元素的类型,变量名表示在每次迭代中接收当前元素的变量名,数组或集合则是要进行迭代遍历的对象。
使用增强for循环时,遍历过程会自动按顺序取出数组或集合中的每一个元素,将其赋值给变量,并执行相应的代码块。无需指定索引或进行手动迭代控制,循环会自动结束。
例如,在遍历一个整型数组时,可以使用增强for循环:
int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
System.out.println(num);
}
上述代码会依次输出数组中的每个元素:1、2、3、4、5。
需要注意的是,增强for循环适用于只对容器中的每个元素进行访问和处理的情况,无法通过它来修改容器中的元素或获取迭代索引。
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
break 跳出最里层的循环,并且继续执行该循环下面的语句。
在任何循环结构(for循环、while循环、do-while循环)中使用continue关键字,它的作用是立即跳过当前循环迭代的剩余代码,直接进入下一次循环迭代。
具体而言:
这样可以使程序在满足某个条件时,跳过当前循环迭代的代码,进入下一次循环,从而实现特定的控制流程。
需要注意的是,continue只会影响当前所在的单个循环体,不会跳出整个循环。如果想完全终止循环,可以使用break关键字。
下面一个综合运用了选择语句和循环结构的Java代码示例。
public class LoopAndSelectionExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
// 使用for循环遍历数组元素
for (int num : numbers) {
if (num % 2 == 0) {
System.out.println("偶数:" + num);
} else {
System.out.println("奇数:" + num);
}
// 使用switch语句根据数字的值做出不同的处理
switch(num) {
case 1:
System.out.println("数字为1");
break;
case 2:
System.out.println("数字为2");
break;
default:
System.out.println("其他数字");
break;
}
// 如果数字为3,则跳过当前迭代,继续下一次迭代
if (num == 3) {
continue;
}
// 如果数字为5,则终止整个循环
else if (num == 5) {
break;
}
int count = 0;
// 使用while循环进行计数输出
while (count < num) {
System.out.print(count + " ");
count++;
}
System.out.println();
int i = 0;
// 使用do-while循环进行计数输出
do {
System.out.print(i + " ");
i++;
} while (i <= num);
System.out.println();
}
}
}
这段代码演示了如何使用循环结构和选择语句来处理一个整型数组。在for循环中,遍历数组元素并判断奇偶性,并执行相应的输出语句。使用switch语句根据数字的值做出不同的处理。通过if条件判断使用continue关键字跳过数字为3的迭代,并使用break关键字终止循环遍历当数字为5时。同时,使用while循环和do-while循环分别按照数字大小输出计数。