- 相干保举
Java for轮回的写法代码
导语:Java for轮回若何利用呢?上面是小编给大师供给的Java for轮回的写法代码,大师能够参考浏览,更多概况请存眷应届毕业生测验网。
在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说话的最新版本――J2SE 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; 变量名甲<integers.length; 变量名甲++) {
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” */
}
这里的“变量名乙”也是一个由编译器主动天生的不会形成紊乱的名字。
由于在编译时代,J2SE 1.5的编译器会把这类情势的for轮回,看成是对应的传统情势,以是不必担忧呈现机能方面的题目。
不必“foreach”和“in”的缘由
Java接纳“for”(而不是意思更明白的“foreach”)来指导这类通俗被叫做“for-each轮回”的轮回,并利用“:”(而不是意思更明白 的“in”)来朋分轮回变量称号和要被遍历的工具。如许作的首要缘由,是为了避免由于引入新的关头字,形成兼容性方面的题目――在Java说话中,不许可 把关头字看成变量名来利用,固然利用“foreach”这名字的环境并不是很是多,可是“in”倒是一个经常常利用来表现输出流的名字(比方 java.lang.System类里,就有一个名字叫做“in”的static属性,表现“标准输出流”)。
简直能够经由过程奇妙的设想语法,让关头字只在特定的高低文中有特别的寄义,来许可它们也作为通俗的标识符来利用。不过这类会使语法变庞杂的战略,并不获得普遍的接纳。
“for-each轮回”的悠长汗青
“for-each轮回”并不是一个比来才呈现的节制布局。在1979正式宣布的Bourne shell(第一个成熟的UNIX号令诠释器)里就已包罗了这类节制布局(轮回用“for”和“in”来指导,轮回体则用“do”和“done”来标识)。
2.避免在轮回体里点窜轮回变量
在默许环境下,编译器是许可在第二种for轮回的轮回体里,对轮回变量从头赋值的。不过,由于这类做法对轮回体外面的环境涓滴不影响,又轻易形成懂得代码时的坚苦,以是通俗并不保举利用。
Java供给了一种机制,能够在编译时代就把如许的操纵封杀。详细的方式,是在轮回变量范例后面加上一个“final”润色符。如许一来,在轮回体里对循 环变量停止赋值,就会致使一个编译毛病。借助这一机制,就能够有用的根绝成心或有意的停止“在轮回体里点窜轮回变量”的操纵了。
清单7:制止从头赋值
int[] integers = {1, 2, 3, 4};
for (final int i : integers) {
i = i / 2; /* 编译时犯错 */
}
注重,这只是制止了对轮回变量停止从头赋值。给轮回变量的属性赋值,或挪用能让轮回变量的内容变更的方式,是不被制止的。
【Java for轮回的写法代码】相干文章:
对于轮回的java代码示例09-26
Java代码的根基常识10-09
让JAVA代码更高效的技能10-05
Java 轮回布局先容08-13
对于Java for轮回语句的利用08-27
java中通用的线程池实例代码08-27
java机关函数完成代码示例08-23
C说话轮回根本常识附代码示例04-12
C#数据布局之轮回链表的实例代码10-22