- 3
- 0
- 约4.6千字
- 约 6页
- 2017-06-24 发布于福建
- 举报
Java中for循环的几种写法
JDK 1.5提供了另一种形式的for循环。借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象。本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类,并解释和这一机制的一些常见问题。在Java程序中,要 “逐一处理”――或者说,“遍历”――某一个数组或Collection中的元素的时候,一般会使用一个for循环来实现(当然,用其它种类的循环也不是不可以,只是不知道是因为for这个词的长度比较短,还是因为for这个词的含义和这种操作比较配,在这种时候for循环比其它循环常用得多)。对于遍历数组,这个循环一般是采取这样的写法:清单1:遍历数组的传统方式/* 建立一个数组 */int[] integers = {1, 2, 3, 4};/* 开始遍历 */for (int j = 0; j integers.length; j++){int i = integers[j];System.out.println(i);}而对于遍历Collection对象,这个循环则通常是采用这样的形式:清单2:遍历Collection对象的传统方式/* 建立一个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);}而在Java语言的版本――JDK 1.5后,引入了另一种形式的for循环。借助这种形式的for循环,现在可以用一种更简单地方式来进行遍历的工作。1. 第二种for循环不严格的说,Java的第二种for循环基本是这样的格式:for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体借助这种语法,遍历一个数组的操作就可以采取这样的写法:清单3:遍历数组的简单方式/* 建立一个数组 */int[] integers = {1, 2, 3, 4};/* 开始遍历 */for (int i : integers) {System.out.println(i);/* 依次输出“1”、“2”、“3”、“4” */}这里所用的for循环,会在编译期间被看成是这样的形式:清单4:遍历数组的简单方式的等价代码/* 建立一个数组 */int[] integers = {1, 2, 3, 4};/* 开始遍历 */for (int 变量名甲 = 0; 变量名甲System.out.println(integers[变量名甲]);/* 依次输出“1”、“2”、“3”、“4” */}这里的“变量名甲”是一个由编译器自动生成的不会造成混乱的名字。而遍历一个Collection的操作也就可以采用这样的写法:清单5:遍历Collection的简单方式/* 建立一个Collection */String[] strings = {A, B, C, D};Collection list = java.util.Arrays.asList(strings);/* 开始遍历 */for (Object str : list) {System.out.println(str);/* 依次输出“A”、“B”、“C”、“D” */}这里所用的for循环,则会在编译期间被看成是这样的形式:清单6:遍历Collection的简单方式的等价代码/* 建立一个Collection */String[] strings = {A, B, C, D};Collection stringList = java.util.Arrays.asList(strings);/* 开始遍历 */for (Iterator 变量名乙 = list.iterator(); 变量名乙.hasNext();) {Object str = 变量名乙.next();System.out.println(str);/* 依次输出“A”、“B”、“C”、“D” */}这里的“变量名乙”也是一个由编译器自动生成的不会造成混乱的名字。因为在编译期间,JDK 1.5的编译器会把这种形式的for循环,看成是对应的传统形式,所以不必担心出现性能方面的问题。不用“foreach”和“in”的原因Java采用 “for”(而不是意义更明确的“fo
您可能关注的文档
- 现代通信网第一次阶段作业.docx
- 第一章 DbVisualizer 常见问题解答.docx
- 第十三章 计算机系统题目完整版.docx
- 怎样写投标书(模板).doc
- 为什么每家企业都必须做电商剖析.doc
- 事业编制与人事代理编制.doc
- 地球——人类唯一家园.doc
- 第08讲 标志设计中象征形象的运用.doc
- Win7系统下共享链接打印机详细图文教程.doc
- 第四章 WF3.x持久化存储过程.docx
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测生物试卷+答案.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测语文试卷+答案.doc
- 四川省绵阳南山中学实验学校2025-2026学年高三上学期1月月考数学含答案.doc
- 2026届辽宁省大连市高三上学期双基考试物理试卷+答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测化学含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测生物含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测英语含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测政治含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试化学含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试生物含答案.doc
最近下载
- 广州数控GSK980TA1-TA2-TB1-TB2车床数控系统 使用手册.pdf
- 虚实乱针绣入门.ppt VIP
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、异丙醇和正丁醇检验.pdf
- 曲柄连杆机构的运动与受力分析讲解学习.pptx VIP
- 如此伟大的爱G波利切un amore cosi grande G-E-G-F-5P.pdf VIP
- 钛白废酸废水综合治理项目可行性研究报告.docx
- 陕09J02-屋面-标准图集.docx
- 中药当归中阿魏酸的提取工艺研究.pptx
- 蔬菜大棚建设实施方案范文(8篇).docx VIP
- 结合多源异构数据融合技术的人口增长时空预测模型构建及应用分析.pdf VIP
原创力文档

文档评论(0)