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); }
上一篇:深入理解Spring注解@Async解决异步调用问题
栏 目:JAVA代码
本文标题:Java for循环详解
本文地址:http://www.codeinn.net/misctech/24808.html
阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机