Java基础篇--循环和选择结构语句

目录

选择结构:

if...else语句:

switch 语句:

循环结构:

while 循环:

do-while 循环:

for 循环:

增强 for 循环 :

跳转语句

break 关键字

continue 关键字

综合示例


循环和选择结构是 Java 程序中常用的控制语句,用于控制程序的执行流程。下面简要介绍循环和选择结构的语法和用法。

选择结构:

  • if...else语句:

用于根据条件判断是否执行某一段代码块。

语法格式如下:

if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   //如果布尔表达式 3的值为true执行代码
}else {
   //如果以上布尔表达式都不为true执行代码
}

if 语句后面可以跟 else if…else 语句,这种语句可以检测到多种可能的情况。使用 if,else if,else 语句的时候,需要注意下面几点:

  1. if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
  2. if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
  3. 一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
  • switch 语句:

根据表达式的值匹配不同的 case 分支进行执行。

语法格式如下:

switch (expression) {
    case value1:
        // 执行语句块
        break;
    case value2:
        // 执行语句块
        break;
        //你可以有任意数量的case语句
    ...
    default:
        // 执行语句块

}

使用switch 语句的时候,需要注意下面几点: 

  1. 变量类型:switch 语句中的变量类型可以是 byte、short、int、char 或者 String(Java SE 7+)。
  2. 多个 case 语句:switch 语句可以拥有多个 case 语句,每个 case 后面跟一个要比较的值和冒号。
  3. case 语句的值:case 语句中的值的数据类型必须与变量的数据类型相同,且只能是常量或字面常量。
  4. 执行顺序:当变量的值与 case 语句的值相等时,从匹配的 case 语句开始执行,直到遇到 break 语句才会跳出 switch 语句。
  5. break语句:遇到 break 语句时,switch 语句终止,程序跳转到 switch 语句后面的语句执行。如果没有 break 语句,程序会继续执行下一条 case 语句,直到遇到 break 语句为止。
  6. default 分支:switch 语句可以包含一个 default 分支,一般放在最后一个位置。当没有匹配的 case 语句时,会执行 default 分支,它不需要 break 语句。

循环结构:

  • while 循环:

在满足循环条件的情况下,重复执行一段代码块,直到循环条件不成立。

while是最基本的循环,语法格式如下:

while( 布尔表达式 ) {
  //循环内容
}

只要布尔表达式为 true,循环就会一直执行下去。 

  • do-while 循环:

对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。do…while 循环和 while 循环相似,不同的是,do…while 循环先执行一次循环体的代码块,然后在满足循环条件的情况下重复执行,直到循环条件不成立。

语法格式如下:

do {
       //代码语句
}while(布尔表达式);

注意:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。 

  • for 循环:

虽然所有循环结构都可以用 while 或者 do...while表示,但 Java 提供了另一种语句 —— for 循环,for循环语句是最常用的循环语句,使一些循环结构变得更加简单。

for循环执行的次数是在执行前就确定的。语法格式如下:

for(初始化表达式; 循环条件; 操作表达式)
{
	执行语句
	...
}

关于 for 循环有以下几点说明: 

  1. 初始化表达式:在进入循环之前,执行一次初始化操作。可以声明并初始化循环控制变量。
  2. 循环条件:在每次循环迭代开始之前,检查循环条件的布尔表达式的值。如果为 true,则继续执行循环体;如果为 false,则立即退出循环。
  3. 执行语句:在每次循环迭代时,执行循环体内的语句。
  4. 操作表达式:在每次循环迭代结束后,执行操作表达式。通常用于更新循环控制变量的值。
  5. 回到第2步:在执行完操作表达式后,再次检查循环条件的值。如果条件仍然为 true,则继续执行下一次循环迭代;如果条件为 false,则跳出循环执行循环后面的语句。
  • 增强 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 关键字

break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。

break 跳出最里层的循环,并且继续执行该循环下面的语句。

continue 关键字

在任何循环结构(for循环、while循环、do-while循环)中使用continue关键字,它的作用是立即跳过当前循环迭代的剩余代码,直接进入下一次循环迭代。

具体而言:

  • 在for循环中,当程序执行到continue语句时,会立即跳转到更新语句部分,然后进行下一次循环迭代。
  • 在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循环分别按照数字大小输出计数。

猜你喜欢

转载自blog.csdn.net/m0_74293254/article/details/132243478