为了账号安全,请及时绑定邮箱和手机立即绑定

while语句的i++

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???

正在回答

7 回答

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不满足循环条件,结束循环。

1 回复 有任何疑惑可以回复我~
#1

林剑南 提问者

非常感谢!
2016-03-20 回复 有任何疑惑可以回复我~

while(i++<20){
   n*=i;
  }是什么意思?


0 回复 有任何疑惑可以回复我~
那为什么是i++  不是++i呢
0 回复 有任何疑惑可以回复我~
#1

copyrightgreat

++i是先自加然后赋值。i的值永远是1.所以会出现i永远<5的情况,导致无限循环。。
2016-05-08 回复 有任何疑惑可以回复我~
#2

copyrightgreat

写错了,,是先赋值后自加。。
2016-05-08 回复 有任何疑惑可以回复我~

因为没有使循坏结束的语句,没有使i改变的语句,所以一直处于循坏1的状态

0 回复 有任何疑惑可以回复我~

i的值始终为1 while循环的判断条件始终满足 所以会一直执行循环体里的代码 所以会一直输出1

0 回复 有任何疑惑可以回复我~

因为如果不i++; 的话,i的值始终为1

while 语句的循环条件是i<=5 始终满足条件,所谓会无限循环。

0 回复 有任何疑惑可以回复我~

因为如果不对i进行自加操作,i永远都是1,符合循环条件,循环永远不会结束,就会不停输出i的值,也就是1

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

while语句的i++

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信