Java foreach语句的用法

2023-11-01

如何使用Java1.5出现的foreach语句

foreach在遍历数组、集合方面,foreach 为开发者提供了极大的方便。foreach 循环语句是 for 语句的特殊简化版本,主要用于执行遍历功能的循环。

foreach语句

foreach 循环语句的语法格式如下:

for(数据类型 变量名:数组) {
    需要执行的语句块;
}
举一个简单的例子:
 int[] numbers = {45,65,21,31,12};
System.out.println("利用for——each语句打印数组的内容");
// for-each语句
for (int abc : numbers) {
    System.out.println("数组中的内容为" + abc);
}

简单解释一下如何快速上手使用这个语句:数据类型(即你需要打印的集合(数组)元素类型),变量名(按你自己的喜好取就可以了),数组(即你需要打印的数组名)。在循环体执行的过程中,每循环一次,会将numbers 数组中的一个元素赋值给 adc变量,直到遍历 numbers 数组中所有元素,循环终止。
我们来看看上面的代码运行的结果:

在这里插入图片描述

for循环

如果我们不使用for—each语句的话,我们写的代码会比较麻烦,当然这也是Java这门语言的特色之一,提供给我们很多非常便利的方法,我们来看看普通代码是怎样的:

public class text {
    public static void main(String[] args) {
    int [] numbers={45,65,21,31,12};
    for(int i =0;i<numbers.length;i++){
        System.out.println(numbers[i]);
    }

    }

}

通过上诉代码的对比我们可以知道:foreach 循环和普通循环不同的是,它无须循环条件,无须循环迭代语句,这些部分都由系统来完成,foreach 循环自动迭代数组的每个元素,当每个元素都被迭代一次后,foreach 循环自动结束。并且 foreach 循环遍历数组元素时无须获得数组长度,也无须根据索引来访问数组元素。

foreach语句的使用注意事项

对于很多初学foreach语句的人来说就开始有疑问了,既然我能够遍历整个数组,那么我是不是也可以利用foreach语句对数组进行赋值呢?
下面我们来尝试一下:

        int[] numbers = {45,65,21,31,12};
        System.out.println("利用for——each语句打印数组的内容");
// for-each语句
        for (int abc : numbers) {
          abc=58;
            System.out.println("数组中的内容为" + abc);
        }
        System.out.println(numbers[0]);

结果如下:
在这里插入图片描述
其实我们不难从上面的代码运行结果看出来:当使用 foreach 来迭代访问数组元素时,foreach 中的循环变量相当于一个临时变量,系统会把数组元素依次赋给这个临时变量,然后再一个一个的打印出来,而这个临时变量并不是数组元素,它只是保存了数组元素的值。因此,如果希望改变数组元素的值,则不能使用这种 foreach 循环。
所以在使用 foreach 循环迭代数组元素时,并不能改变数组元素的值,因此不要对 foreach 的循环变量进行赋值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java foreach语句的用法 的相关文章

随机推荐

  • Mac下终端(Terminal)中打开某应用的技巧

    Mac下一般都是点击某一个应用的图标 或者在Alfred中键入应用名称打开该应用 但有时候在终端执行某些代码 此时想打开程序 以上操作都不流畅 所以琢磨能否在终端下直接打开某些程序 比如要 编辑路径下的shell脚本文件 但又不想使用vim
  • 基于Stable Diffusion的AIGC服饰穿搭实践

    本文主要介绍了基于Stable Diffusion技术的虚拟穿搭试衣的研究探索工作 文章展示了使用LoRA ControlNet Inpainting SAM等工具的方法和处理流程 并陈述了部分目前的实践结果 通过阅读这篇文章 读者可以了解
  • python爬虫学习笔记-requests高级

    简历模板下载拓展 import requests from lxml import etree import os headers User Agent Mozilla 5 0 Macintosh Intel Mac OS X 10 15
  • http与websocket

    http与websocket HTTP 是一个在计算机世界里专门在两点之间传输文字 图片 音频 视频等超文本数据的约定和规范 WebSocket是HTML5出的东西 协议 也就是说HTTP协议没有变化 或者说没关系 但HTTP是不支持持久连
  • 小程序中使用CANVAS实现手写签名并写入模板图片中

    实测 开发者工具中滚动条位置会影响书写 显示会有些问题 并且会卡顿 安卓 苹果手机上测试正常 index js const App getApp Page 页面的初始数据 data curScrollTop 0 生命周期函数 监听页面加载
  • python计时模块——timeit

    timeit模块 timeit 模块定义了接受两个参数的 Timer 类 两个参数都是字符串 第一个参数是你要计时的语句或者函数 传递给 Timer 的第二个参数是为第一个参数语句构建环境的导入语句 从内部讲 timeit 构建起一个独立的
  • PWM驱动MOS管H桥电路分析

    H桥是一个典型的直流电机控制电路 因为它的电路形状酷似字母H 故得名与 H桥 4个三极管组成H的4条垂直腿 而电机就是H中的横杠 注意 图中只是简略示意图 而不是完整的电路图 其中三极管的驱动电路没有画出来 01 H桥驱动原理 1 电机驱动
  • 网络安全-文件包含漏洞原理、攻击及防御

    目录 简介 类型 原理 攻击 仅本地文件包含 防御 简介 文件包含 是一个功能 在各种开发语言中都提供了内置的文件包含函数 可以使开发人员在一个代码文件中直接包含 引入 另外一个代码文件 类型 根据不同的配置环境 文件包含漏洞分为如下两种情
  • Qt - QLabel设置字体颜色

    Qt QLabel设置字体颜色 第一种 使用setPalette 方法如下 QLabel label new QLabel tr Hello Qt QPalette pe pe setColor QPalette WindowText Qt
  • 等级保护2.0四级通用要求测评方法

    等级保护2 0四级通用要求测评方法
  • Python 使用 smtp ssl 模式 发送邮件与附件

    参考 发送邮件简单入门 以qq邮箱 163邮箱为例 https blog csdn net qq 38661599 article details 81013834 smtp ssl 模式 发送邮件 与 附件 https www cnblo
  • Vue-组件之间的的数据传递

    目录 组件的使用 注册全局组件 props组件 组件之间样式冲突问题 父 子关系传递 子 父关系传递 兄弟之间的传递 ref引用 什么是组件 只要是 vue后缀的文件都是一个组件 而组件之间是独立的 相互之间没有关系 当在使用组件的时候 根
  • 数据库 数据结构设计实验报告 包括er图转关系模式

    年级 班号 组号 学号 专业 日期 姓名 实验名称 实验一 数据库设计 实验室 实验 目的 或 要求 1 通过了解具体的应用案例体验数据库的应用 以及数据库系统和应用程序之间的关联关系 从而进一步理解数据 数据库 DBMS基本概念知识 2
  • chatgpt赋能python:如何利用Python绘制窗口

    如何利用Python绘制窗口 作为一门高级编程语言 Python具备强大的绘图能力 可以用来创建各种窗口应用程序 本篇文章将介绍如何利用Python绘制窗口 并分析其在搜索引擎优化方面的作用 绘制窗口的基本步骤 要利用Python绘制窗口
  • 测试-python筑基1.1-(列表/元组/字典/集合/字符串)

    列表 列表 列表 一种将多个数据组合到一起的容器 标识符 关键字 list 给列表赋值变量名的时候 不要用关键字 list 1 定义一个空列表 list 2 1 2 3 4 5 定义一个有值的列表 不是数组 print type list
  • Spring+mybatis+Druid+AbstractRoutingDataSource配置多数据源切换进行读写分离

    自我理解是这样的 首先配置事务管理器设置设置方法是否是只读创建一个DynamicDataSourceTransactionManager的类继承DataSourceTransactionManager去重写doBegin与doCleanup
  • SPSS数据分析中出现的常见问题总结

    总结最近数据分析过程中遇到的一些问题的思考 1 问卷中多选题的录入与分析 2 数据分析流程的第一步 对所分析的样本数据本身的特征结构进行预分析 3 根据数据中的某个因素的几个水平来分析数据总体的差异性 4 根据数据中的变量之间的相关性 了解
  • 如何使用 MSYS2 编译最新版的 coreutils 源码(目前最新版本为 coreutils-9.4)

    文章目录 一 coreutils 源码下载 二 MSYS2 安装编译工具 1 pacman Suy 更新软件仓库 2 pacman S msys gcc 安装gcc 3 pacman S msys make 安装make工具 4 解压缩 c
  • python基础练习(猜拳游戏、扎金花游戏、购物小程序)

    猜拳游戏 需求分析 使用面向对象和python的基础语法 运用简单的逻辑处理实现猜拳游戏 要求游戏可以多次玩耍 要求统计分数 要求可以选择角色 玩家自己的类 class Owns chose 1 石头 2 剪刀 3 布 def init s
  • Java foreach语句的用法

    Java foreach语句用法使用 如何使用Java1 5出现的foreach语句 foreach语句 for循环 foreach语句的使用注意事项 如何使用Java1 5出现的foreach语句 foreach在遍历数组 集合方面 fo