本帖最后由 ″先森丶玹° 于 2013-11-20 16:35 编辑
for循环机制是这样的:首先解释下普通写法你就理解了,
for(x=1;x<3;x++){syso(x)}
首先x=1进来满足,运行x=1当然不会有打印语句,再来x<3满足,运行syso(x),然后返回x++一次,此时x=2,不会运行x=1,再来判断x<3,满足运行syso(x),再x++一次,此时x=3不满足x<3,循环结束
int x=1;
for(System.out.println("a");x<3;System.out.println("c"))
{
System.out.println("d");
x++;
}
运行顺序:
1、x=1运行 System.out.println("a"),
2、判断x<3 ,满足,运行System.out.println("d");
3、完了x++一次,此时x=2,
4、此时会返回运行System.out.println("c")
5、然后继续第二次循环,x=2,注意此时不会运行 System.out.println("a"),(这里相当于上面x=1,只初始化一次,)
6、判断x<3 ,满足,运行System.out.println("d");
7、之后x++,x=3回去运行System.out.println("c"),
8、x=3不满足x<3,循环结束。
而第二种之所以无限循环是因为x++在for循环体外面,这样就导致了,x=1完了判断x<3,不会执行x++,永远死循环下去。
|