黑马程序员技术交流社区

标题: 求解释一下 [打印本页]

作者: 也许_还不懂    时间: 2014-11-12 21:33
标题: 求解释一下
刚才发帖问了一下  我没把问题说明白   重新发一遍   还有跟李春江  柳超两位同学说声SORRY  刚才没说明白 耽误你们时间了 不好一下啊  
问题是若x=2,则表达式(x++)/3的值是?  
这是我自己写的代码
class Demo {
        public static void main(String[] args) {
                int x = 2; {
                        System.out.println((x++)/3);
                }
        }
}
输出结果是0   我认为X++不就是3了么  3/3不就是1了么  为是么是0呢
作者: 扫地僧wu    时间: 2014-11-12 21:38
x++是使用x的值,再执行加一,所以x++/3,是用2除以3,再使x加一.++x是先x加一。再使用x
作者: 扫地僧wu    时间: 2014-11-12 21:39
手机打字,有点乱
作者: 柳超    时间: 2014-11-12 21:57
首先説代码最里面的大括号你没有必要加的
然后现说问题!
++ 运算是先进行表达式的运算 结束后    进自增运算
打个比方:   
int i = 2 ;
int x ;
X = i++;
你觉得 X 的值是多少!


希望点名没有被认识的人看到!
作者: wf111sxwf    时间: 2014-11-12 21:59
x++和++x的区别  int a  =  x++  相当于  x先把值赋给a然后再自增,而 ++x是先自增然后把自增后的值赋给a,你这个x = 2的值赋给了一个变量后除以了3  int不足1视为0 所以打印结果为0.





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