黑马程序员技术交流社区
标题:
关于++的问题
[打印本页]
作者:
silencea
时间:
2015-9-7 23:33
标题:
关于++的问题
class Demo{
public static void main(String[] args) {
int a = 2;
int b = 2;
a = a++;
b = a++;
System.out.println(a);
System.out.println(b);
}
}
请各位大神帮我解答一下,理解不了
作者:
zx0210
时间:
2015-9-7 23:40
答案都是2,其实我也不太懂,老师说是先进行a=a+1,然后运行a=1,今天被老师说的云里雾里的!
作者:
xiaoxiao147
时间:
2015-9-8 00:15
++在左边表示先+1后赋值,在右边表示先赋值后自增..
作者:
我是三星
时间:
2015-9-8 08:02
a=2
b=3
你可以这样理解,a=a 接下来进行++运算,此时a=3.
类似的b=a 输出运算结果。++在后面,先把值赋给变量,在进行++运算。
作者:
wdj
时间:
2015-9-8 10:18
就这个题来说,a 和b都是先把它本身的值赋给左边,然后再自增 1,所以输出结果为2
作者:
迷茫不堪的年纪
时间:
2015-9-8 16:41
自增 的 ++a a++
这个东西很容易被误认为 a+1。 思维太容易混乱,自己多看几次就明白了
作者:
lion_good
时间:
2015-9-8 17:29
a++ 返回+1前的值.然后自己加1
++a 自己+1后返回
作者:
sansu
时间:
2015-9-8 18:59
你若去掉b=a++,那么运行结果就是a=2,b=2.你循环语句里的被赋值的a不是你原先定义的a,它只是循环内的局部变量,而你最终输出的sum是你第一次定义的那个全局变量,而不是同名的局部变量。
你若学过C++,你就会学习同名称的全局变量和局部变量的使用方法
作者:
xiaozeiyes
时间:
2015-9-8 21:08
a=2;b=2;
++在操作数后边是先参与运算再自增,
a=a++是将a++这个表达式的值赋值给a即a=2;
b=b++同理
作者:
a4903913
时间:
2015-9-8 21:37
答案都是2 这是java缓存机制的问题,a=a++;完整的写法是这样的 a = a = a + 1;在运算的时候,会先将 a =a;运算,然后在算 a++ ;
作者:
13706649811
时间:
2015-9-8 22:10
还是2 呗
作者:
c4anger
时间:
2015-9-8 23:02
答案是3,2.
作者:
路宪帅
时间:
2015-9-9 10:01
a=3,b=2
a=a++;是赋值运算 相当于a=a;
b=a++;相当于b=a; a=a+1;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2