首页 > 试题广场 > 下面的程序将来打印什么?() public&nb
[单选题]
下面的程序将来打印什么?()
public class TestIncr {
    public static void main(String args[]) {
        int i = 0;
        i = i++ + i;
        System.out.println("I =" +i);
    }
}

  • I = 1
  • I = 2
  • I = 3
  • 编译出错
觉得选d的请点赞
发表于 2019-07-03 15:57:39 回复(20)
i++的值为0 然后值+1 即 i = 0 +1; 选A
发表于 2019-10-02 10:22:02 回复(3)
为了这个a我愣是看完了所有评论
发表于 2019-07-28 18:21:22 回复(1)
这套题题目错误率挺高啊!
发表于 2019-07-14 15:07:59 回复(1)
假设没有a,运行这句话的i = i++ + i;i++先运行后自增一,i=0+0,之后i=1,输出i=1;
发表于 2019-08-03 15:33:28 回复(0)
不理解,a 编译器不通过
发表于 2019-07-02 13:09:33 回复(0)
这题没有大家想的那么简单。 上机实测 int i = 0; i++ +i//值为1 i++ +0//值为0 ---- int i = 1; i++ +i//值为3 i++ +0//值为1 结论:不是大家说的i+i然后i++ 是更复杂的 i++时其实是i=_i+1先运算了++此时i值已经变了,但是i++ +i时其实运算的是_i+i。 对没错,i++做运算时取的是运算前的值,但他本身会执行。
发表于 2020-01-15 19:23:12 回复(0)
  • i++ (先使用i, 再自增)
  • ++i (先自增,再使用i)

i = i++ + i ->0 , 再i 自增 -> 1.

发表于 2020-01-03 21:08:42 回复(0)
 int i = 0 ;
      i =  i + i;
      i =  i + 1;
先运算再 ++  ,i = 0 = 0+0 , i =  1 = 0 +1;
                
发表于 2019-12-11 16:45:09 回复(0)
a是啥?
发表于 2019-07-01 12:55:33 回复(3)
先运算后加, i = 0 + 0 = 0;然后i++ = 1
发表于 2020-02-11 22:00:26 回复(0)
此题考点在于运算级高低
+的运算级高于++,所以步骤为
step1:0 + 0     i=0
step2:i++        i=1
所以 i=1
编辑于 2019-12-27 01:41:21 回复(1)
+++i为+i+1
发表于 2019-12-22 10:27:05 回复(0)
首先给出各类运算符的优先级 https://www.cnblogs.com/jxldjsn/p/6081642.html i=i+++i,先执行i++,结果为1,接着再加i,此时这个i还是0,因为右边是运算的式子,还没有赋值,所以实际上的值没有变化,只是在i++这段值i=1,再加i就是i=1+0,结果是i=1; 将上面的式子拆开就是i=i=i+1+i先执行算术运算符+,在执行2个赋值运算符,结果i=1。 遇到复杂的式子就拆开。
编辑于 2019-10-20 19:47:18 回复(0)
i = i++ + i; i=0 i++就等于1 i=1+0=1
发表于 2019-10-16 20:25:55 回复(1)
就算a声明了也得用+号拼字符串接输出吧
发表于 2019-07-26 11:39:05 回复(0)
这道题选A的前提是输出打印哪里改成System.out.println("I = "+ i);
发表于 2019-07-12 09:59:47 回复(0)
我来拆解一下计算方式 等价于 i =(i++)+i 等价于 a=i++ i=a+i 等价于 a=0 i=1 i=0+1
发表于 2020-02-22 23:42:53 回复(0)
Javap -c 字节码加载过程,首先i 被压进入栈中,此时i 为0 ,第二个i 被压进栈也为0 ,他两相加之后还是为零 ,把0付给i ,此时i ++ 所以变为一,++ 操作和你远算并无关系,他改变的是自己的变量值
发表于 2020-02-07 18:11:46 回复(0)
i=i++; int temp = i; //temp=0 i = i + 1; //i=1 i = temp; //i = 0 /n i=i++ +i; int temp = i; //temp=0 i = i + 1; //i自增,i=1 i = temp + i; //相加,i=1
发表于 2020-01-25 15:41:35 回复(0)