public void test() { int a = 10; System.out.println(a++ + a--); }
19
20
21
22
a++ 先把10赋值给a 再+1 所以左边是10 但此时a=11。右边a-- 也是先赋值 a=11,再-1。10+11=21 此时a=10。
上诉答案都不够明确,如果出现下面四组,同样的推论怕是得不到正确结果。
System.out.println(a++ + a--); //11+10=21 System.out.println(a++ + --a); //11+9=20 System.out.println(++a + --a); //11+10=21 System.out.println(++a + a--); //11+11=22
说到底还是符号在前先操作再用值,符号在后先赋值再操作的问题。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题