当前位置: 首页 / 技术干货 / 正文
for循环相关知识梳理

2020-02-06

Java培训 Java教程

  好程序员Java教程分享for循环相关知识梳理,for循环是编程语言中一种循环语句,是Java程序员日常工作中的重要组成部分。循环语句由循环体及循环的判定条件两部分组成,其表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}。合理使用for循环可以让我们事半功倍,接下来好程序员Java教程就给大家分享for循环相关的知识。

好程序员

  在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”修饰符。这样一来,在循环体里对循环变量进行赋值,就会导致一个编译错误。借助这一机制,就可以有效的杜绝有意或无意的进行“在循环体里修改循环变量”的操作。

好程序员公众号

  • · 剖析行业发展趋势
  • · 汇聚企业项目源码

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2021-04-12(深圳)

    开班盛况

    开班时间:2021-05-17(北京)

    开班盛况
  • 大数据+人工智能 <高端班>

    开班时间:2021-03-22(杭州)

    开班盛况

    开班时间:2021-04-26(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-05-10(北京)

    开班盛况

    开班时间:2021-02-22(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2019-07-22(北京)

    开班盛况
IT培训IT培训
在线咨询
IT培训IT培训
试听
IT培训IT培训
入学教程
IT培训IT培训
立即报名
IT培训

Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号