从开始接触Java编程时,简单的循环遍历(for、while、do…while)都是与其他编程语言(C语言、C++… …)大致一样的,这些我们自己都看得懂,当然自己也会写。但是学习到后面的课程,当听到一个词“增强for循环”,是不是有点懵?前面本人确实没有了解过,导致我看源码或者别人写的代码的时候,确实会有“这玩意儿到底是啥?”的赶脚!其实就是我没有掌握java jdk5.0新增的特性而已,接下来对增强型for循环做详细的说明与介绍。

目录

  • 1. 定义
  • 2. 遍历集合
  • 3. 遍历数组
  • 4. 区分普通for循环和增强for循环

1. 定义

    Java jdk5.0新增了foreach循环,用来遍历集合、数组,这就是所谓的增强for循环。

2. 遍历集合

    for(集合元素的类型  局部变量  :  集合对象)内部代码仍然调用迭代器for(Object obj : coll){System.out.println(obj);}
@Testpublic void test1(){Collection coll = new ArrayList();coll.add(123);coll.add(456);coll.add(new String("Tom"));coll.add(new Person("Jerry",25));coll.add(false);for(Object obj : coll){System.out.println(obj);}}

3. 遍历数组

    for(数组元素的类型  局部变量  :  数组对象)for (int i : arr){System.out.println(i);}
@Testpublic void test2(){int[] arr = new int[]{1,2,3,4,5};for (int i : arr){System.out.println(i);}}

4. 区分普通for循环和增强for循环

    (一):增强for循环,不改变arr[]的值例:for (String s : arr){s = "GG";}(二):普通for循环,改变了arr[]中的值例:for (int i = 0; i < arr.length; i++) {arr[i] = "GG";}
@Testpublic void test3(){String[] arr = new String[]{"MM","MM","MM"};for (String s : arr){s = "GG";}for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}for (int i = 0; i < arr.length; i++) {arr[i] = "GG";}for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}}

@Testpublic void test4(){String[] str = new String[5];for (String myStr : str) {myStr = "hao";System.out.println(myStr);//五个"hao"}for (int i = 0; i < str.length; i++) {System.out.println(str[i]);//五个“null”}}

从上面实例的输出的结果也可以看出,增强型for循环内部用输出语句输出时能显示五个“hao”,由于增强型for循环是不改变数组本身的元素值,所以在外部用普通for循环输出的为“null”,进而验证了两个循环之间的区别所在!

路过的小伙伴,如果博文有帮助到你解决问题,可以点赞+关注一波呀~本人将会持续更新相关学习博文,感谢您的支持哦!!!

增强型for循环的使用,看这篇就够了相关推荐

  1. 面试率 90% 的JS事件循环Event Loop,看这篇就够了!! !

    面试率 90% 的JS事件循环Event Loop,看这篇就够了!! ! 事件循环(Event Loop)大家应该并不陌生,它是前端极其重要的基础知识.在平时的讨论或者面试中也是一个非常高频的话题. ...

  2. React入门看这篇就够了

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 很多值得了解的细节. 原文:React入门看这篇就够了 作者:Random Fundebug经授权转载,版权归原作者所 ...

  3. Spring Cloud入门,看这篇就够了!

    点击▲关注 "中生代技术"   给公众号标星置顶 更多精彩 第一时间直达 概述 首先我给大家看一张图,如果大家对这张图有些地方不太理解的话,我希望你们看完我这篇文章会恍然大悟. 什 ...

  4. Java String,看这篇就够了

    String,是Java中最重要的类.这句肯定的推断不是Java之父詹姆斯·高斯林说的,而是沉默王二说的,因此你不必怀疑它的准确性. 关于字符串,有很多的面试题,但我总觉得理论知识绕来绕去没多大意思. ...

  5. groovy if 判断字符串_Groovy快速入门看这篇就够了

    原标题:Groovy快速入门看这篇就够了 来自:刘望舒(微信号:liuwangshuAndroid) 前言 在前面我们学习了和两篇文章,对Gradle也有了大概的了解,这篇文章我们接着来学习Groov ...

  6. python中tkinter模块窗口操作_Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)...

    本篇博文搬到个人博客:[洪卫の博客](https://sunhwee.com)上面去了,想要获得最佳阅读体验,欢迎前往 [https://sunhwee.com](洪卫の博客), 建议用电脑查看教程文 ...

  7. 99. 中高级开发面试必问的Redis,看这篇就够了

    中高级开发面试必问的Redis,看这篇就够了! 一.概述 二.数据类型 STRING LIST SET HASH ZSET 三.数据结构 字典 跳跃表 四.使用场景 计数器 缓存 查找表 消息队列 会 ...

  8. C++两个函数可以相互递归吗_[算法系列] 搞懂递归, 看这篇就够了 !! 递归设计思路 + 经典例题层层递进

    [算法系列] 搞懂递归, 看这篇就够了 !! 递归设计思路 + 经典例题层层递进 从学习写代码伊始, 总有个坎不好迈过去, 那就是遇上一些有关递归的东西时, 看着简短的代码, 怎么稀里糊涂就出来了. ...

  9. [算法系列] 搞懂递归, 看这篇就够了 !! 递归设计思路 + 经典例题层层递进

    [算法系列] 搞懂递归, 看这篇就够了 !! 递归设计思路 + 经典例题层层递进 从学习写代码伊始, 总有个坎不好迈过去, 那就是遇上一些有关递归的东西时, 看着简短的代码, 怎么稀里糊涂就出来了. ...

  10. Handler原理剖析,看这篇就够了

    Handler原理剖析,看这篇就够了 本篇文章将会对Handler进行深层次的剖析,结合关系剖析图.代码走向剖析图以及10个常见问题,希望看完文章的同学都能有所收获,加深对Handler的了解! 一. ...

最新文章

  1. 使用字典编码每个字再编码每句话不知对nlp是否有帮助(深度大脑)
  2. 操作系统原理:读写者经典同步问题
  3. VTK:可视化算法之Cutter
  4. 【图像处理】——图像滤波(Python+opencv实现三种方法:均值滤波、中值滤波、高斯滤波等)
  5. [数据结构]Map和Set
  6. 缺少using namespace std;
  7. java word转pdf linux_Linux平台中使用PHP把word转pdf的实现方法
  8. java wps linux 安装_ubuntu安装Java开发环境
  9. 染色产品常见疵病分析
  10. 5.2使用select,poll
  11. 【房价预测】基于matlab GM模型房价预测【含Matlab源码 346期】
  12. 银联无卡涉及关键词整理
  13. 如何增加无人机的飞行时间和升力?
  14. 二阶微分方程降阶求法一阶技巧求法
  15. hud.java_什么是HUD
  16. 如何将电脑硬盘模式修改为ahci模式,并解决切换后的蓝屏问题
  17. R语言plotly可视化:使用plotly可视化模型预测真阳性率(True positive)TPR和假阳性率(False positive)FPR在不同阈值(threshold)下的曲线
  18. grbl源码解析——速度前瞻(1)
  19. linux内核形式化验证,聪明人的笨功夫 -- MesaTEE安全形式化验证实践
  20. 智能社JS学习笔记(二)

热门文章

  1. java rgb yuv_RGB和YUV简单学习记录
  2. 一个程序员可以差到什么程度?真诚地感激曾经没有当面嘲笑我的每一个同事
  3. html音乐播放器自动切歌,HTML音乐播放——切歌
  4. iOS 使用 Charts 库实现分时、K线及指标
  5. mysql workbench 执行sql文件_向mysql workbench中导入.sql文件
  6. QNX下如何使用优盘
  7. 卡巴斯基因产品问题破坏用户网络致歉
  8. AP计算机科学内容HTML,AP新增科目:计算机科学原理课程介绍
  9. 专访酷壳陈皓:有关带队、沟通、成长与变化
  10. 视觉发展历程笔记:From cs231n