黑马程序员技术交流社区

标题: 关于运算符的问题!! [打印本页]

作者: 锦宁    时间: 2014-7-1 09:28
标题: 关于运算符的问题!!
int i = 3;
  
i=i++;
  
System.out.println("i="+i);

其打印结果为什么是3?能解释一下吗?

作者: aiww    时间: 2014-7-1 10:03
i++和++i 的用法,i++是先运算后加;++i是先加在运算;如果是这样:  int i = 3;    i=++i;    System.out.println("i="+i);结果就不是3了;另运算你从右往左看;
作者: 张周飞    时间: 2014-7-1 10:05
首先你应该要理解--------------++i 和  i++  的区别 ..................................
举个例子


因此》》》


不知道能否帮到楼主

作者: on-on    时间: 2014-7-1 10:20
int a = 3;
b=a++;
运算原理是:
(1)赋值,a=3;
(2)赋值,b=a;
(3)加运算,a=a+1
int a = 3;
b=++a;
运算原理是:
(1)赋值,a=3;
(2)加运算,a=a+1;
(3)赋值,b=a;
作者: 暗影流光    时间: 2014-7-1 10:23
on-on 发表于 2014-7-1 10:20
int a = 3;
b=a++;
运算原理是:

正解。。
作者: 锦宁    时间: 2014-7-1 13:09
张周飞 发表于 2014-7-1 10:05
首先你应该要理解--------------++i 和  i++  的区别 ..................................
举个例子

自加1后,i不是变为4吗?
作者: dispensable    时间: 2014-7-1 14:18
i++是赋值后再加1,所以是3,如果你写成i++;
x=i++;
然后输出x,那就等于4了




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