上海龙凤419

java说话

Java for轮回的写法代码

时辰:2024-08-01 03:10:43 java说话 我要投稿
  • 相干保举

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

有关Java开辟中常常利用到For轮回的实例05-31