林剑南
2016-03-01 17:35
public class kf { public static void main(String[] args) { int i = 1; // 代表 1 - 5 之间的数字 // 当变量小于等于 5 时执行循环 while ( i<=5 ) { // 输出变量的值,并且对变量加 1,以便于进行下次循环条件判断 System.out.println(i); } } 如果输出后面不加入i++;为什么运行结果是无数个1???
while就是当你满足括号里的那个条件时,就会循环,你的i=1,符合i<5那么循环一次,打印一次i,然后循环体再次判定i<5?这个时候你的i依然等于1,所以第二次打印输出i。。。。。。以此类推,因为i一直等于1,也一直满足i<5,所以会无限循环下去;加入i++后,第一次循环,i++,i会变成2,那么第二次循环之前判断i=2<5,第二次循环条件成立,输出2,i++,i的值变成3。。。。。。等第四次的时候,输出4,i++,i的值变成5,i=5不满足循环条件,结束循环。
while(i++<20){
n*=i;
}是什么意思?
因为没有使循坏结束的语句,没有使i改变的语句,所以一直处于循坏1的状态
i的值始终为1 while循环的判断条件始终满足 所以会一直执行循环体里的代码 所以会一直输出1
因为如果不i++; 的话,i的值始终为1
while 语句的循环条件是i<=5 始终满足条件,所谓会无限循环。
因为如果不对i进行自加操作,i永远都是1,符合循环条件,循环永远不会结束,就会不停输出i的值,也就是1
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题