i=100时
for:  i<101 true ==> print 100==> i++, i=101 ==> i<101 false; loop
while i<101 true ==> i++, i=101 ==> print 101 ==> i<101 false loop

解决方案 »

  1.   

    for中第三个部分是在循环体执行以后才进行的,而你的while中i++在循环体最前面
    其实你的while循环是从1开始计算的
      

  2.   

    你写的for循环转换成while循环相当于
    i=0;
    while(i<101){
        j+=i;
        i++;
    }
      

  3.   

    你写的程序是这样:  for:  判断 --> 运行 -->i++  while:判断 --> i++  -->运行要想while与for一样,必须把i++放在while块中代码的最后一句,如下:
      while(i<101){
       j+=i;
       i++;
      }
      

  4.   

    你的循环在判断条件与循环体内的语句出现了顺序上的不一致,while循环中一进入循环就先做了i++的动作,而在for循环中是循环完了以后才开始做i++操作的,这就是你的for和while 语句的结果不同的原因,只有在while中将i++放在j+=i后才能使得运行结果一致。