目录

目录

打印数组

第一种:for循环打印

第二种:for each 循环

第三种:利用Array类中的toString方法


打印数组

首先我们先定义一个数组。

第一种:for循环打印

打印出来的效果如下:

第二种:for each 循环

第一次看到这个代码的时候我是比较懵逼的,然后我通过观察代码含义后得知此循环叫增强型for循环,是用于数组和集合中的for循环,可以实现数组或集合的遍历,其本质是通过for循环实现对迭代器的调用,下面是我对该内容的一些理解:

for each的语法:

for(元素类型 元素名称 : 遍历数组(集合)(或者能进行迭代的)){

}

差别:

foreach在作用上和for循环在循环数组时是相同,都是可以实现遍历数组的目的,但二者之间略有差别。

for循环遍历数组本质上是遍历数组下标,即先找到索引,再连接数组元素,而foreach循环是基于Iterator来实现的,所以foreach是每次访问该元素的下一个元素的地址,来实现的直接元素访问。

因为for循环实现了遍历数组下标,所以可以直接的对元素值进行删除,但因其地址并未被删除,所以可以直接将后元素的值对前元素进行赋值,即可令值消失。

因为foreach是基于Iterator实现的,直接访问的是下一个元素的地址,所以在其中无法实现直接的数组元素删除,需要借助Iterator中定义的remove方法来对某元素实现删除,该删除直接删除的为元素地址,但在删除元素后,foreach中定义的某变量值会发生改变,当其值发生改变时会造成安全隐患,如果循环继续运行,则Java会抛出异常。

所以我们通常是不可以使用foreach来实现元素的删除的,如果需要将元素进行删除时,需要采用for循环,而不能采用foreach循环。

第三种:利用Array类中的toString方法

调用Array.toString(a),返回一个包含数组元素的字符串,这些元素被放置在括号内,并用逗号分开。

打印数组的几种方式--java相关推荐

  1. [Java]打印数组的三种方式

    1.for循环打印 第一种方式: for(int i=0;i<arr.length;i++){System.out.println(arr[i]); } 第二组方式:foreach增强型for循 ...

  2. 读取Java文件到byte数组的三种方式及Java文件操作大全(包括文件加密,String加密)

    读取Java文件到byte数组的三种方式 package zs;import java.io.BufferedInputStream; import java.io.ByteArrayOutputSt ...

  3. 代码示例:Java中定义数组的三种方式

    在Java中,数组的定义有三种方式,其基本语法格式如下: 数组类型[] 数组名 = new 数组类型[数组长度]; 数组类型[] 数组名 = new 数组类型[]{数组元素0,数组元素1,...}; ...

  4. Java创建数组的几种方式

    Java创建数组的几种方式 1.一维数组的声明方式: type[] arrayName; 或 type arrayName[]; 附:推荐使用第一种格式,因为第一种格式具有更好的可读性,表示type[ ...

  5. java创建数组的方式_Java创建数组的几种方式总结

    1.一维数组的声明方式: type[] arrayName; 或 type arrayName[]; 附:推荐使用第一种格式,因为第一种格式具有更好的可读性,表示type[]是一种引用类型(数组)而不 ...

  6. java中定义数组的3种方式

    直接上代码和截图 public static void main(String[] args) {// 定义数组的3种方式// 第一种String[] role = new String[3];rol ...

  7. java 创建数组的三种方式及区别

    创建数组的三种方式:其实分为2类,一种是静态的创建,如方式一.一种是动态的创建,只不过根据写法的不同分为方式二和方式三: // 数组初始化的三种方式//1.声明,分配空间并赋值int[] arr0 = ...

  8. Java 定义数组的三种方式,int...x动态参数列表

    定义数组的三种方式 以 int型 的一维数组为例,说说三种定义方式 int[] arr = new int[3]; 这是最常用的方式,定义时就含有默认值,可以后续赋值 public class Dem ...

  9. PHP数组缓存:三种方式JSON、序列化和var_export的比较

    使用PHP的站点系统,在面对大数据量的时候不得不引入缓存机制.有一种简单有效的办法是将PHP的对象缓存到文件里.下面我来对这3种缓存方法进行说明和比较. 第一种方法:JSON JSON缓存变量的方式主 ...

  10. JS基础之数组--概述、创建数组的几种方式、数组的特点、数组的常用方法、数组的解构赋值、数组高级API

    一.概述 描述:数组(array)是按照一定顺序排列的一组值,每个值都拥有自己的编号,编号从0开始.整个数组用方括号来表示. 语法:var arr=[item1,item2,item3-] 1.1 注 ...

最新文章

  1. -static 静态链接库的某些问题
  2. 一个浏览器插件,测试xpath的工具
  3. linux删除旧网卡,如何删除旧网卡驱动
  4. WPF 4 单词拼写检查(SpellCheck)
  5. Shell for循环
  6. 《Effective C++》阅后心得
  7. 小程序开发之基础知识(0)
  8. 帝国CMS标签 总结2
  9. 俄罗斯 90 后天才写 5 年代码创收 1000 亿美金
  10. java数据流更新文件内容,数据流 · Java 文件操作 · 看云
  11. bzoj2631:tree
  12. 注意力机制(Attention Mechanism)
  13. jde多目标_CVPR 2020 多目标跟踪算法JDE 训练
  14. c语言windows画五角星,C/C++画一个巨型五角星
  15. 安全基础--18--嵌入式基础之系统硬件
  16. Win7电脑黑屏按什么键恢复
  17. 蓝牙技术基础知识总结笔记1 - 蓝牙版本及 4.0 和 BLE 的关系等
  18. DataStage简介
  19. 拉普拉斯变换的物理意义是什么
  20. 2015最新iherb海淘攻略-图文新手教程-6月免邮

热门文章

  1. VoxelMorph运行时遇到的问题
  2. 元宇宙里过节,英伟达快速打造「冬日仙境」,占地 16 万平米!
  3. oppo鸿蒙系统刷机包下载,oppo A11N原版系统rom固件刷机包下载20200716版卡刷包
  4. python opencv中文文档_OpenCV中文官方文档
  5. 计算机专业英语常用术语大全,计算机专业必备英语词汇汇总
  6. 基于React和Html5的宠物领养平台网站设计与实现
  7. 一文搞懂什么是禁忌搜索算法Tabu Search【附应用举例】
  8. k2pbreed刷高恪教程_从breed一键刷机工作
  9. python-回文字符串
  10. VScode设置为中文版