for(int i=0;i<5;i++)
System.out.println(i);
输出的话i是等于5的,但是循环条件里i是小于5,请问下是不是碰到这种情况的话当i循环了第四次之后,发现下次循环会等于5了,就会跳过i<5,执行i++,然后再跳出循环,
所以i最后输出是等于5
for 循环中的执行顺序错误理解如下:
for(1;2;3){
4
}
其实for循环中的顺序是这样的:
for(0;1;3){
2
}
其中,0为初始语句,只执行一次,
然后进行1中的判断语句,判断true时执行{2},false就退出循环,
2中如果没有终止语句(比如:return 和 break)的话,就执行3中的语句,如果有终止语句,则退出循环
3执行完进入1判断 true执行2 false退出循环.
需要注意的是,
for(int i=0;i<5;i++)
System.out.println(i);
中 操作的变量i既是变量,又是操作内容
所以在i=4的时候 4<5 ,执行System.out.println(i);再i++,此时i=5, i<5为 false,退出循环 ,结果应该是4,而最后其实i的值为5,因为还要执行i++
而你的标题是for(int i=0;i<=5;i++)
所以在i=4的时候 4<=5 ,执行System.out.println(i);再i++,此时i=5, i<=5为 true,继续循环 ,结果应该是5, 而此时i会继续执行i++,i最后的值为6,只不过最后退出循环体了而已
i先被加到5,才不满足i<5退出循环。
这代码相当于
i = 0;
while (i < 5)
{
System.out.println(i);
i++;
}
先执行i++然后再判断
java.io在jdk中的定义:为系统提供输入和输出通过数据流,序列化以及文件系统。
在学习IO体系的时候,我们可以遵循这样的规律:
看父类的共性功能,用子类的对象。
而且,IO体系的好处在于:
每个子类的后缀名都是所属体系的父类的名称,很容易区分所属的体系;而且每个子类前缀名都是该子类对象的功能体系。
Java IO体系:
|-......
答案就在这里:黑马程序员-Java I/O-NO.5
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
for循环步骤
for(第一步;第二步;第四步){
第三步;
}
第一次i=0
第二次i=1
第三次i=2
第四次i=3
不满足i〈5就不会再去执行i++
先执行i++然后再判断
哈哈,我来解释吧,这个每次判断都是用i+1和<=5比较,i=5时,执行,然后判断i+1不符合条件,退出,i=5,
i 程序
0 执行
1
2
3
4
5 。。。 这些都执行了,
注意,到了此时,i+1和<=5比较,不成立了,
退出程序,i=5
还有,++i和i++相反,是先i=i+1,然后再比较
for(int i=0;i<5;i++);
其中i = 0;只执行一次。其它顺序:判断i<5;成立进入循环体;否则跳出循环;然后i++;
根本原因是你的for循环只是空循环了5次直到i为也5时循环结束,执行下一行打印值为5。如果想打印i应该是for内部,打印语句放在{}中就可以了。
楼主也是醉了
i<=5 条件中有等于5了,当然要执行了,至于i++之后,i=6 了,下一次循环就不符合条件了自然 进不去循环,所以最终的结果输出是5了
楼主
i=0
i=1
i=2
i=3
i=4
i=5
此时i不小于5了就退出了
但是退出时的i已经++过了,是5
所以输出时i也就是5了
为什么我的i就是等于4呢