Java for循环详解

 更新时间:2019年03月14日 10:06:24   作者:东边的雨田  
这篇文章主要介绍了Java for循环方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

对于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循环的变体:

变体一:语句丰富化多样化,只要保证语句A、C都是一条语句,语句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++;
}

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

对于增强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 for循环详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Spring中的代理ProxyFactory解析

    Spring中的代理ProxyFactory解析

    这篇文章主要介绍了Spring中的ProxyFactory解析,在Java中,代理模式的实现通常依靠Proxy类和InvocationHandler接口,本文将介绍如何使用ProxyFactory来创建代理模式,需要的朋友可以参考下
    2023-12-12
  • springCloud中的Sidecar多语言支持详解

    springCloud中的Sidecar多语言支持详解

    这篇文章主要介绍了springCloud中的Sidecar多语言支持详解,Sidecar是将一组紧密结合的任务与主应用程序共同放在一台主机Host中,但会将它们部署在各自的进程或容器中,需要的朋友可以参考下
    2024-01-01
  • Java CyclicBarrier源码层分析与应用

    Java CyclicBarrier源码层分析与应用

    这篇文章主要介绍了Java CyclicBarrier的源码层分析与应用,CyclicBarrier也叫同步屏障,可以让一组线程达到一个屏障时被阻塞,直到最后一个线程达到屏障,感兴趣的的朋友可以参考下
    2023-12-12
  • Java、C++中子类对父类函数覆盖的可访问性缩小的区别介绍

    Java、C++中子类对父类函数覆盖的可访问性缩小的区别介绍

    这篇文章主要给大家介绍了关于Java、C++中子类对父类函数覆盖的可访问性缩小的区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • Java加密解密工具(适用于JavaSE/JavaEE/Android)

    Java加密解密工具(适用于JavaSE/JavaEE/Android)

    这篇文章主要介绍了Java加密解密工具,适用于JavaSE/JavaEE/Android,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • springboot+jwt+微信小程序授权登录获取token的方法实例

    springboot+jwt+微信小程序授权登录获取token的方法实例

    本文主要介绍了springboot+jwt+微信小程序授权登录获取token的方法实例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Java Socket+mysql实现简易文件上传器的代码

    Java Socket+mysql实现简易文件上传器的代码

    最近在做一个小项目,项目主要需求是实现一个文件上传器,通过客户端的登陆,把本地文件上传到服务器的数据库(本地的)。下面通过本文给大家分享下实现代码,感兴趣的朋友一起看看吧
    2016-10-10
  • SpringCloud Gateway读取Request Body方式

    SpringCloud Gateway读取Request Body方式

    这篇文章主要介绍了SpringCloud Gateway读取Request Body方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • IDEA中设置Tab健为4个空格的方法

    IDEA中设置Tab健为4个空格的方法

    这篇文章给大家介绍了代码缩进用空格还是Tab?(IDEA中设置Tab健为4个空格)的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-03-03
  • springboot项目中引入本地依赖jar包并打包到lib文件夹中

    springboot项目中引入本地依赖jar包并打包到lib文件夹中

    这篇文章主要介绍了springboot项目中引入本地依赖jar包,如何打包到lib文件夹中,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04

最新评论