网站首页 > java教程 正文
好程序员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);
}
猜你喜欢
- 2024-11-03 详细总结Java for循环的那些坑(java的for循环中是如何执行的)
- 2024-11-03 11.Java中的 while 循环(java的for循环语句)
- 2024-11-03 传说级大佬总结的几道Java循环练习题(适合新人)
- 2024-11-03 java中的while循环(javado while循环)
- 2024-11-03 Java流程控制语句之循环结构--初学者适用
- 2024-11-03 What?Java循环还能嵌套循环,说好的禁止套娃呢!「第12集」
- 2024-11-03 Golang for 循环(golangfor循环特性改变)
- 2024-11-03 JavaScript for 循环(javascriptfor循环数字累加)
- 2024-11-03 java循环的这4种遍历方式,有些16K的程序员可能是懵逼的
- 2024-11-03 用了那么久的 Java For 循环,你知道哪种方式效率最高吗?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)