在日常学习和工作中,for循环我们都要经常去使用.但你有深入的去了解过for循环的结构和使用方式吗?
常见的for循环一般是一下代码这种结构:
for (int i = 0; i < 100; i++)
{
System.out.println(i);
}
但for当然不止这样一种用法。for的定义,()内的三段表达式,除了中间的必须产生布尔型,并未对其余两段有所限制,只要是表达式就可以了。
public static void main(String[] args) {
int i = 0;
for (a();b(i); c())
{
i++;
d();
}
}
public static void a(){
System.out.println("a");
}
public static boolean b(int i){
System.out.println("b");
return i<1?true:false;
}
public static void c(){
System.out.println("c");
}
public static void d(){
System.out.println("d");
}
运行结果是:a b d c b
那么我们现在来一步一步的去解析它
首先我们需要了解for循环的执行流程 按照正规写法首先for会先进行赋值 而赋值这一步for只会执行一次 第二步执行的就是规定返回的boolean布尔类型 如果返回是true就继续执行,返回来的是false就停止执行 第三步有很多小白都会弄错,很多小白都以为会执行i++这一步 但实际情况不是这样的 for会执行循环体 循环体执行完才会执行 i++这一步 执行完i++ 之后就会返回 这一次for就不会再执行赋值 而是去判断条件是否返回为true 如果不是true 就停止执行
例子:
for (1;2; 4)
{
3
}
1只执行一次(第一次肯定会执行)
2执行需要看返回来的是true还是false(次数只能根据返回来的是否为真)
3、4都是基于2
嘿嘿,无聊整出来的,欢迎大家拍砖!知道其他用法的朋友分享一下。
|
|