当前位置: 首页 / 技术分享 / 正文
好程序员Java培训分享For循环详解

2020-10-21

Java培训

  好程序员Java培训分享For循环详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面我们一起来看一下吧。

Java3

对于java中的for循环,我们用的最多的无非就是下面这个语句:

 

for (int i = 0; i < 10; i++) {

  System.err.println(i);

}

 

  但是对于for循环来说,它也有很多变体,如果不清楚了解for循环的结构原理,遇上一些变体的for循环,可能一时不太明白它的含义,for循环虽然有很多变体,但都离不开括号内3条语句的模式(除了增强for循环模式,后面再讨论)

 

for循环的结构:

 

for(语句A; 语句B; 语句C){

 

   //循环体

 

}

 

  其中,语句A在整个循环过程中,只会执行一次;语句B必须是布尔类型的表达式(当然也可以不写,如果写就必须是布尔类型表达式),通过该布尔表达式去判断是否继续执行循环体;语句C会在每次循环结束后执行,也就是说,循环体执行多少次,语句C就会执行多少次。

 

其中语句的执行顺序是:

 

语句A→(语句B → 循环体 → 语句C)→(语句B → 循环体 → 语句C)→ ... →退出循环

 

下面简单介绍一些for循环的变体:

 

变体一:语句丰富化多样化,只要保证语句AC都是一条语句,语句B是布尔表达式,语句想怎么写由你自己定。

 

for (int i = 0, j = 0; i < 10 | j< 12; i++, j++) {

  System.err.println(i);

  System.err.println(j);

  System.err.println("=========");

}

 

变体二:语句A省略

 

boolean flag = true;

int m = 0;

for (;flag; m++){

  if (m==10)

    flag=false;

  System.err.println(m);

}

 

变体三:语句B省略,此时只有从循环体内退出循环,否则是无限循环。

 

int m = 0;

for (;; m++){

  if (m==10)

    break;

  System.err.println(m);

}

 

变体四:语句C省略

 

int m = 0;

for (;;){

  if (m==10)

    break;

  System.err.println(m);

  m++;

}

 

  说明:以上的变体,只是相对于我们常用的形式来讲的,变体的结构本质是不变的,我们没必要去刻意的使用变体的形式。之所以提出来讲,只是希望以后遇到变体的情况,能尽快看懂循环的含义,不至于看到别人写的代码,和自己写的方式不一样,然后一脸蒙圈。上面并未列出所有变体,简单来说,语句ABC都是可以单独省略的。

 

对于增强for循环,就不多做介绍了,用的也比较多,基本结构就是:

 

Integer[] arr = new Integer[]{1,2,3,4};

for (Integer a : arr){

  System.err.println(a);

}

  

List<String> list = new ArrayList<>();

//add str...

for (String str : list){

  System.err.println(str);

}

好程序员Java培训:http://www.goodprogrammer.org/javaEE_class.shtml

好程序员公众号

  • · 剖析行业发展趋势
  • · 分享大厂面试心得
  • · 汇聚企业项目源码
  • · 下载全套高精尖教程

好程序员开班动态

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

    开班时间:2020-11-16(北京)

    开班盛况

    开班时间:2020-12-07(深圳)

    预约报名
  • 大数据+人工智能 <高端班>

    开班时间:2020-09-14(北京)

    开班盛况

    开班时间:2020-11-09(北京)

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

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

    预约报名

    开班时间:2020-07-20(北京)

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

    开班时间:2020-07-20(上海)

    开班盛况

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

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

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

    开班盛况

    开班时间:2019-07-15(深圳)

    开班盛况
在线咨询
免费试听
入学教程
立即报名

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