A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 也许_还不懂 中级黑马   /  2014-11-12 21:33  /  1017 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

刚才发帖问了一下  我没把问题说明白   重新发一遍   还有跟李春江  柳超两位同学说声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呢

4 个回复

倒序浏览
扫地僧wu 来自手机 中级黑马 2014-11-12 21:38:27
沙发
x++是使用x的值,再执行加一,所以x++/3,是用2除以3,再使x加一.++x是先x加一。再使用x
回复 使用道具 举报
扫地僧wu 来自手机 中级黑马 2014-11-12 21:39:48
藤椅
手机打字,有点乱
回复 使用道具 举报
首先説代码最里面的大括号你没有必要加的
然后现说问题!
++ 运算是先进行表达式的运算 结束后    进自增运算
打个比方:   
int i = 2 ;
int x ;
X = i++;
你觉得 X 的值是多少!


希望点名没有被认识的人看到!
回复 使用道具 举报
x++和++x的区别  int a  =  x++  相当于  x先把值赋给a然后再自增,而 ++x是先自增然后把自增后的值赋给a,你这个x = 2的值赋给了一个变量后除以了3  int不足1视为0 所以打印结果为0.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马