for相关 java_Java学习之for循环相关知识梳理
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循环相关知识梳理相关推荐
- Web前端入门学习之JS基础知识梳理汇总
Web前端工程师是当前各大企业都比较稀缺的人才,薪资待遇和就业前景都很不错.不论是专业还是非专业,有基础亦或是无基础,都想通过学习Web前端实现高薪就业. 不过,学习要一步一个脚印,不能一口吃一个胖子 ...
- java 十亿数据量运行速度慢_Java学习进阶之数据结构知识梳理
Java是一门面向对象编程语言,具有功能强大和简单易用两大属性.Java工具包提供了强大的数据结构,包括枚举.位集合.向量.栈.字典.哈希表.属性等接口类.拉勾IT课小编为大家分析,java的每一个细 ...
- 【Oracle学习笔记】常用知识梳理
一. 基本操作 1. 表操作 1.1 复制建表 create table test as select * from dept; --从已知表复制数据和结构create table test as ...
- Android 知识梳理目录 - 好吧,这是一个很“干,安卓系列学习进阶视频
============== 2.1 Activity 知识梳理 Activity 知识梳理(1) - Activity 生命周期 Activity 知识梳理(2) - Activity 栈 Acti ...
- 基于SKF基础学习相关知识梳理(一)
基于SKF基础学习知识梳理 (一)对称密码算法 1.PKCS填充方式 2.PKCS填充分类 (一)对称密码算法 // 分组密码参数 typedef struct Struct_BLOCKCIPHERP ...
- 计算机科学与技术python方向是什么意思-大学计算机科学与技术相关专业学习路线...
原标题:大学计算机科学与技术相关专业学习路线 不管你是如何选择了这门专业,我想告诉你的是这是一个很深的领域,没有热爱不如尽早转行. 根据百度百科计算机科学与技术专业(以下简称计算机专业)给出的描述,该 ...
- python基础语法及知识总结-Python 学习完基础语法知识后,如何进一步提高?
---4.30更新---感谢大家支持,点赞都破两千了.给大家整理出来新的资料,需要的小伙伴来自取: Python练手项目视频如下: Python自学基础知识如下: 以下为原文内容: Python 学习 ...
- python开发需要掌握哪些知识-Python基础学习需要掌握哪些知识
1.1Python的对象 python的内置对象类型有很多,包括数字,字符串,列表,集合,元组,字典等等,在Python中,一切皆对象 pickle腌制--在Python中,如果有一些对象需要持久性存 ...
- JNI学习开始篇 基础知识 数据映射及学习资料收集
JNI学习开始篇 基础知识 数据映射及学习资料收集 JNI介绍 JNI(Java Native Interface) ,Java本地接口. 用Java去调用其他语言编写的程序,比如C或C++. JNI ...
最新文章
- 【案例】RAID卡写策略改变引发的问题
- spring框架学习笔记3:使用注解代替配置文件
- windows phone 7 中文天气预报应用--来源http://www.cnblogs.com/liulunet/archive/2011/08/17/2141696.html...
- Dom4j SAXReader Constructors
- python中headers的作用_爬虫入门到精通-headers的详细讲解(模拟登录知乎)
- JavaScript中this指针指向的彻底理解
- Win10用户获取最高权限的方法?
- js面向对象的程序设计 --- 中篇(创建对象) 之 原型模式
- 超实用!SKETCH大师最常用的3个实战小技巧
- java 保存 设置_java的保存按钮怎么设置?
- Kontakt 6 for mac - 音频采样器 双版本
- rmarkdown+flexdashboard制作dashboard原型
- Web-Coration
- eclipse 快捷调整字体_eclipse字体大小设置快捷键
- C++中i++和++i的区别
- 初学编程:算法编程是什么意思?盘点最常用的 5 大算法!
- Three.js-设置环境纹理及加载hdr环境贴图
- springboot 整合工程,不同包中类名相同冲突问题解决
- 神州战神系列装系统过程,其他电脑大同小异
- 贾扬清担任阿里开源技术委员会负责人,开源升级为阿里技术战略之一
热门文章
- 1-1圆柱体的表面积(算法竞赛入门经典)
- 中文邮件营销html模版,怎么制作邮件营销模板?— —邮件格式
- pythonwhile输出每一个余数_Python 基础 - day02-3
- 自动化要不要学python-老男孩linux自动化运维|做人工智能为什么要学Python呢?
- QString转char*的问题
- asterisk1.8 Makefile分析 (1)
- sip消息概念(一)
- 计算机组装与维护模拟测试题三答案,春季高考信息技术模拟题3(计算机组装与维修部分含答案)...
- 【转】傅里叶分析之掐死教程(完整版)更新于2014.06.06
- SharePoint 2013异常信息的查看