for循环是编程语言中一种循环语句,是Java程序员日常工作中的重要组成部分。循环语句由循环体及循环的判定条件两部分组成,其表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}。拉勾IT课小编为大家分析如何使用这一属性,以达到程序的迅速执行,提升程序的遍历。

在Java程序中,要“逐一处理”――或者说,“遍历”――某一个数组或Collection中的元素的时候,一般会使用一个for循环来实现。以下是代码对比分析:

遍历数组的传统方式

/* 建立一个数组 */

int[] integers = {1, 2, 3, 4};

/* 开始遍历 */

for (int j = 0; j < integers.length; j++) {

int i = integers[j];

System.out.println(i);

}

借助for循环,我们可以用一种更简单地方式来进行遍历的工作:

/* 建立一个Collection */

String[] strings = {"A", "B", "C", "D"};

Collection stringList = java.util.Arrays.asList(strings);

/* 开始遍历 */

for (Iterator itr = stringList.iterator(); itr.hasNext();) {

Object str = itr.next();

System.out.println(str);

}

我们还可以借助另外一种语法:for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体实现遍历数组。代码如下:

/* 建立一个数组 */

int[] integers = {1, 2, 3, 4};

/* 开始遍历 */

for (int i : integers) {

System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */

}

注意,Java采用“for”(而不是意义更明确的“foreach”)来引导这种一般被叫做“for-each循环”的循环,并使用“:”(而不是意义更明确的“in”)来分割循环变量名称和要被遍历的对象。这样作的主要原因,是为了避免因为引入新的关键字,造成兼容性方面的问题。

这主要是因为在Java语言中, 不允许把关键字当作变量名来使用,虽然使用“foreach”这名字的情况并不是非常多,但是“in”却是一个经常用来表示输入流的名字(例如 java.lang.System类里,就有一个名字叫做“in”的static属性,表示“标准输入流”)。

在默认情况下,编译器是允许在第二种for循环的循环体里,对循环变量重新赋值的。但这种做法对循环体外面的情况丝毫没有影响,又容易造成理解代码时的困难,所以一般并不推荐使用。

Java提供了一种机制,可以在编译期间就把这样的操作封杀。具体的方法,是在循环变量类型前面加上一个“final”修饰符。这样一来,在循环体里对循环变量进行赋值,就会导致一个编译错误。借助这一机制,就可以有效的杜绝有意或无意的进行“在循环体里修改循环变量”的操作。

灵活在线学习,不断提升java开发技术,同时加强java技术在使用的顺利,把java每一个知识点掌握好,增强使用效率,深度掌握,java的很多程序基础知识都是对于其他编程也能顺利上手,并且执行与使用。

for相关 java_Java学习之for循环相关知识梳理相关推荐

  1. Web前端入门学习之JS基础知识梳理汇总

    Web前端工程师是当前各大企业都比较稀缺的人才,薪资待遇和就业前景都很不错.不论是专业还是非专业,有基础亦或是无基础,都想通过学习Web前端实现高薪就业. 不过,学习要一步一个脚印,不能一口吃一个胖子 ...

  2. java 十亿数据量运行速度慢_Java学习进阶之数据结构知识梳理

    Java是一门面向对象编程语言,具有功能强大和简单易用两大属性.Java工具包提供了强大的数据结构,包括枚举.位集合.向量.栈.字典.哈希表.属性等接口类.拉勾IT课小编为大家分析,java的每一个细 ...

  3. 【Oracle学习笔记】常用知识梳理

    一.  基本操作 1.  表操作 1.1 复制建表 create table test as select * from dept; --从已知表复制数据和结构create table test as ...

  4. Android 知识梳理目录 - 好吧,这是一个很“干,安卓系列学习进阶视频

    ============== 2.1 Activity 知识梳理 Activity 知识梳理(1) - Activity 生命周期 Activity 知识梳理(2) - Activity 栈 Acti ...

  5. 基于SKF基础学习相关知识梳理(一)

    基于SKF基础学习知识梳理 (一)对称密码算法 1.PKCS填充方式 2.PKCS填充分类 (一)对称密码算法 // 分组密码参数 typedef struct Struct_BLOCKCIPHERP ...

  6. 计算机科学与技术python方向是什么意思-大学计算机科学与技术相关专业学习路线...

    原标题:大学计算机科学与技术相关专业学习路线 不管你是如何选择了这门专业,我想告诉你的是这是一个很深的领域,没有热爱不如尽早转行. 根据百度百科计算机科学与技术专业(以下简称计算机专业)给出的描述,该 ...

  7. python基础语法及知识总结-Python 学习完基础语法知识后,如何进一步提高?

    ---4.30更新---感谢大家支持,点赞都破两千了.给大家整理出来新的资料,需要的小伙伴来自取: Python练手项目视频如下: Python自学基础知识如下: 以下为原文内容: Python 学习 ...

  8. python开发需要掌握哪些知识-Python基础学习需要掌握哪些知识

    1.1Python的对象 python的内置对象类型有很多,包括数字,字符串,列表,集合,元组,字典等等,在Python中,一切皆对象 pickle腌制--在Python中,如果有一些对象需要持久性存 ...

  9. JNI学习开始篇 基础知识 数据映射及学习资料收集

    JNI学习开始篇 基础知识 数据映射及学习资料收集 JNI介绍 JNI(Java Native Interface) ,Java本地接口. 用Java去调用其他语言编写的程序,比如C或C++. JNI ...

最新文章

  1. 【案例】RAID卡写策略改变引发的问题
  2. spring框架学习笔记3:使用注解代替配置文件
  3. windows phone 7 中文天气预报应用--来源http://www.cnblogs.com/liulunet/archive/2011/08/17/2141696.html...
  4. Dom4j SAXReader Constructors
  5. python中headers的作用_爬虫入门到精通-headers的详细讲解(模拟登录知乎)
  6. JavaScript中this指针指向的彻底理解
  7. Win10用户获取最高权限的方法?
  8. js面向对象的程序设计 --- 中篇(创建对象) 之 原型模式
  9. 超实用!SKETCH大师最常用的3个实战小技巧
  10. java 保存 设置_java的保存按钮怎么设置?
  11. Kontakt 6 for mac - 音频采样器 双版本
  12. rmarkdown+flexdashboard制作dashboard原型
  13. Web-Coration
  14. eclipse 快捷调整字体_eclipse字体大小设置快捷键
  15. C++中i++和++i的区别
  16. 初学编程:算法编程是什么意思?盘点最常用的 5 大算法!
  17. Three.js-设置环境纹理及加载hdr环境贴图
  18. springboot 整合工程,不同包中类名相同冲突问题解决
  19. 神州战神系列装系统过程,其他电脑大同小异
  20. 贾扬清担任阿里开源技术委员会负责人,开源升级为阿里技术战略之一

热门文章

  1. 1-1圆柱体的表面积(算法竞赛入门经典)
  2. 中文邮件营销html模版,怎么制作邮件营销模板?— —邮件格式
  3. pythonwhile输出每一个余数_Python 基础 - day02-3
  4. 自动化要不要学python-老男孩linux自动化运维|做人工智能为什么要学Python呢?
  5. QString转char*的问题
  6. asterisk1.8 Makefile分析 (1)
  7. sip消息概念(一)
  8. 计算机组装与维护模拟测试题三答案,春季高考信息技术模拟题3(计算机组装与维修部分含答案)...
  9. 【转】傅里叶分析之掐死教程(完整版)更新于2014.06.06
  10. SharePoint 2013异常信息的查看