当前位置: 首页 > news >正文

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

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛

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

  我是一名后端开发爱好者,工作日常接触到最多的就是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循环的语法如下所示:

for (type variable : array) {//code
}

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

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

源代码解析

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

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循环遍历整个数组,并打印每个元素的值。

代码运行预期结果如下:

1
2
3
4
5

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

代码分析:

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

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

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

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

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循环计算数组元素的总和。

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函数进行测试。

测试代码演示

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 !!!


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

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

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

http://www.lryc.cn/news/373598.html

相关文章:

  • 机器人建模、运动学与动力学仿真分析(importrobot,loadrobot,smimport)
  • 02-QWebEngineView的使用
  • 【2024亲测无坑】在Centos.7虚拟机上安装Oracle 19C
  • JS中判断一个字符串中出现次数最多的字符,统计这个次数?
  • rust-强化练习
  • TF-IDF算法
  • R语言数据分析案例29-基于ARIMA模型的武汉市房价趋势与预测研究
  • 面试-NLP八股文
  • 数据仓库之离线数仓
  • Mybatis源码解析
  • 前端学习CSS之神奇的块浮动
  • 【Java】内部类、枚举、泛型
  • LabVIEW电子类实验虚拟仿真系统
  • SVM支持向量机
  • 【Unity】RPG2D龙城纷争(二)关卡、地块
  • mediamtx流媒体服务器测试
  • C# 循环
  • PHP杂货铺家庭在线记账理财管理系统源码
  • 机器学习中的神经网络重难点!纯干货(上篇)
  • [DDR4] DDR1 ~ DDR4 发展史导论
  • 享元和代理模式
  • [英语单词] ellipsize,动词化后缀 -ize
  • 自然资源-测绘地信专业术语,值得收藏!
  • 如何在小程序中实现页面之间的返回
  • 深入解析数据结构之B树:平衡树中的王者
  • 18. 第十八章 继承
  • OperationalError: (_mysql_exceptions.OperationalError)
  • DocGraph相关概念
  • MySQL限制登陆失败次数配置
  • 洛谷题解 - P1192 台阶问题