黑马程序员技术交流社区

标题: 不许编译运行,请快速写出这道题的结果。 [打印本页]

作者: 何建明    时间: 2014-3-10 19:00
标题: 不许编译运行,请快速写出这道题的结果。
本帖最后由 何建明 于 2014-3-11 09:17 编辑

不许编译运行,请快速写出这道题的结果。:D
  1. class Demo30{
  2.    public static void main(String[] args) {
  3.                 int j = 0;
  4.                 for (int i = 0; i < 100; i++) {
  5.                         j =j++ ;
  6.                 }
  7.                 System.out.println(j);
  8.         }
  9. }
复制代码

作者: ok-Prince    时间: 2014-3-10 19:10
for循环控制j++运行了100次,结果应该是99。。。
作者: ok-Prince    时间: 2014-3-10 19:17
好吧。。。上当了。。。。:dizzy:
作者: 上官镇海    时间: 2014-3-10 19:40
j=j++ 这个属于后++; 后++的运算原理是 先将值+1,然后将+1前的值赋值给=前面的变量;
  j=j++ 其实等于 坐了如下2个操作:

  1:j自己增加1 变成1;
  2 : 然后将自增前的0又赋值给j 所以j=j++ 始终为 0

作者: tangxiaobo1991    时间: 2014-3-10 22:01
(0+99)*100/2=4950
作者: 为你而去    时间: 2014-3-10 23:21
结果为0,j=j++,每次都是0
作者: 漠然~回首℃    时间: 2014-3-11 00:25
结果为0,因为是后++,所以每次都是j=j++;每次都是j=0;
作者: 75100313    时间: 2014-3-11 07:05
0...........




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2