不可不知的Java SE技巧:如何使用for each循环遍历数组

2024-01-29 12:24:30 浏览数 (1)

哈喽,各位小伙伴们,你们好呀,我是喵手。

  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。

  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式帮助到更多的初学者或者想入门的小伙伴们,同时也能对自己的技术进行沉淀,加以复盘,查缺补漏。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!

前言

  在Java SE开发中,数组是最常见的数据结构之一。Java提供了多种遍历数组的方式,其中for循环是最常用的方式之一。然而,使用for循环遍历数组代码冗长,并且易出错。为了解决这个问题,Java SE引入了for each循环,可以更简单、更直观地遍历数组。

摘要

  本文将介绍如何使用for each循环遍历数组。首先,我们将学习for each循环的语法和用法。接下来,我们将通过一个简单的代码示例来展示如何使用for each循环遍历数组。然后,我们将分析for each循环的优缺点和适用场景。最后,我们将提供一个类代码方法介绍和测试用例,以帮助您更好地理解for each循环。

正文

简介

  for each循环是Java SE 5中引入的一种简化数组遍历的语法。它比传统的for循环更简洁、更易读,可以帮助开发者更好地管理数组。

  for each循环的语法如下所示:

代码语言:java复制
for (type variable : array) {
  //code
}

  其中,type为数组元素的数据类型,variable为循环内部的一个变量名,array为需要遍历的数组。

代码分析:

  这是一个foreach循环,用于遍历一个数组,每次循环将数组中的元素赋值给变量。循环执行过程中,变量将依次取到数组中的每一个元素,然后执行循环体内的代码。

源代码解析

  下面通过一个代码示例来展示如何使用for each循环遍历数组。

代码语言:java复制
public class ForEachLoopDemo {
  public static void main(String[] args) {
    int[] numbers = {1, 2, 3, 4, 5};

    for (int number : numbers) {
      System.out.println(number);
    }
  }
}

  在上面的代码中,首先定义了一个整型数组numbers。然后,使用for each循环遍历整个数组,并打印每个元素的值。

代码运行预期结果如下:

代码语言:java复制
    1
    2
    3
    4
    5

  从结果可以看出,for each循环可以轻松地遍历数组,并且代码更加简洁易懂。

代码分析:

  这段代码演示了Java中的for-each循环,也称作增强型for循环。

  首先,声明了一个整型数组numbers,包含了5个元素。

  然后,使用for-each循环遍历整个数组。在循环中,声明了一个名为number的整型变量,每次循环都会自动更新为数组中的下一个元素。循环体中的语句是打印当前的number变量。

  最终运行该程序,将输出如下结果:

代码语言:java复制
1
2
3
4
5

  这表明for-each循环可以更简便地遍历数组,使代码更易读、更易理解。

应用场景案例

  for each循环适用于需要遍历整个数组并对每个元素执行相同操作的场景。下面是一些使用for each循环的实际场景:

  1. 遍历数组并计算元素的总和或平均值。
  2. 在数组中查找特定元素。
  3. 对数组进行排序或过滤。
  4. 打印所有数组元素。
  5. 将数组元素转换为另一种数据类型。

优缺点分析

  for each循环的优点包括:代码简洁易读、遍历数组速度快、易于避免数组越界错误。

  for each循环的缺点包括:无法访问元素的下标、无法修改数组中的元素。

  因此,在需要修改数组元素或访问元素下标时,应该使用传统的for循环。

类代码方法介绍

  以下是ForEachLoopDemo类的代码,其中包含一个名为sum的方法,该方法使用for each循环计算数组元素的总和。

代码语言:java复制
package com.example.javase.se.array;

/**
 * @Author ms
 * @Date 2023-11-16 18:25
 */
public class ForEachLoopTest {

    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};
        int sum = sum(numbers);
        System.out.println("Sum of array elements is "   sum);
    }

    public static int sum(int[] array) {
        int sum = 0;

        for (int number : array) {
            sum  = number;
        }
        return sum;
    }
}

  在上面的代码中,sum方法使用for each循环遍历整个数组,并计算所有元素的总和。然后,该方法返回总和。

测试结果

  根据如上测试用例,本地测试结果如下,仅供参考,你们也可以自行修改测试用例或者添加更多的测试数据或测试方法,进行熟练学习以此加深理解。

测试代码分析

  根据如上测试用例,在此我给大家进行深入详细的解读一下测试代码,以便于更多的同学能够理解并加深印象。

  这是一个Java程序,主要用于演示使用 for-each 循环(也称为增强型 for 循环)来迭代遍历数组并计算其元素的总和。 代码中声明了一个名为 ForEachLoopTest 的类,该类包括了一个 main() 方法和一个名为 sum() 的静态方法。 在 main() 方法中声明了一个整型数组 numbers,该数组包含 5 个元素。接下来,调用 sum() 方法并传递数组 numbers 作为参数,该方法返回数组元素的总和,然后打印输出该总和。

  在 sum() 方法中,首先定义一个整型变量 sum 并初始化为 0,然后使用 for-each 循环遍历传递进来的数组 array,将每个元素累加到变量 sum 中。最后,返回变量 sum 的值。

  总的来说,该程序演示了如何使用 for-each 循环来遍历数组,并计算其中元素的总和,这是在实际编程中非常常见的操作。

测试用例

  以下是ForEachLoopDemo类的测试用例,使用main函数进行测试。

测试代码演示

代码语言:java复制
package com.example.javase.se.array;

/**
 * @Author ms
 * @Date 2023-11-16 18:25
 */
public class ForEachLoopDemoTest {
    public static void main(String[] args) {
        testSum();
    }

    public static void testSum() {
        int[] numbers = {1, 2, 3, 4, 5};
        int expectedSum = 15;

        int sum = ForEachLoopTest.sum(numbers);

        if (sum == expectedSum) {
            System.out.println("testSum PASSED");
        } else {
            System.out.println("testSum FAILED");
        }
    }
}

  在上面的代码中,testSum方法调用ForEachLoopDemo类中的sum方法,并检查计算的总和是否等于预期总和。

测试结果

  根据如上测试用例,本地测试结果如下,仅供参考,你们也可以自行修改测试用例或者添加更多的测试数据或测试方法,进行熟练学习以此加深理解。

测试代码分析

  根据如上测试用例,在此我给大家进行深入详细的解读一下测试代码,以便于更多的同学能够理解并加深印象。

  该代码是一个测试类,包含了一个static方法testSum()用于测试ForEachLoopTest类中的sum()方法的正确性。在testSum()方法中定义了一个int类型的数组numbers,和一个int类型的变量expectedSum,然后使用ForEachLoopTest的sum()方法对numbers数组进行求和操作,并将求和结果赋值给sum变量。

  最后,利用if语句判断sum是否等于expectedSum,如果相等则输出“testSum PASSED”,否则输出“testSum FAILED”。

全文小结

  在Java SE开发中,for each循环是一种简化数组遍历的语法。它可以帮助开发者更好地管理数组,代码更加简洁易懂。for each循环适用于需要遍历整个数组并对每个元素执行相同操作的场景。它的优点包括代码简洁易读、遍历数组速度快、易于避免数组越界错误。它的缺点包括无法访问元素的下标、无法修改数组中的元素。在需要修改数组元素或访问元素下标时,应该使用传统的for循环。

总结

  本文介绍了如何使用for each循环遍历数组。我们学习了for each循环的语法和用法,并通过一个简单的代码示例展示了如何使用它来遍历数组。我们还分析了for each循环的优缺点和适用场景,并提供了一个类代码方法介绍和测试用例,以帮助您更好地理解for each循环。我们希望本文能够帮助您更好地管理数组,并提高Java SE开发的效率。

... ...

文末

好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。

... ...

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!

***

⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。

⭐️若有疑问,就请评论留言告诉我叭。

我正在参与我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

0 人点赞