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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 笑笑精灵 中级黑马   /  2015-9-8 21:31  /  1322 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class  Demo{
        public static void main(String[] args) {
                int a = 2;
                int b = 2;
                a = a++;
                b = a++;
               
                System.out.println(a);//3
                System.out.println(b);//2
        }
}

10 个回复

倒序浏览
a = a++;
第一步:(a++)的值为2;第二步:a的值自加1,为3;第三步:将(a++)的值赋给a,此时a的值为2
b = b++;
第一步:(a++)的值为2;第二步:a的值自加1,为3;第三步:将(a++)的值赋给b,此时b的值为2,a的值为3
回复 使用道具 举报
1.先运算a++表达式的值,因为++在后面所有,当前a的值(1)作为a++表达式的值(1)
2.计算++,即a自增,a变为3
3.再赋值,将步骤1中的表达式的值(1)赋值给a,此时a又变成了2
4.相当于在内从中a的值由2变为3,再由3变为2
b也是同理
回复 使用道具 举报
a应该是2,b也是
回复 使用道具 举报
谢谢分享学习了
回复 使用道具 举报
666666666666
回复 使用道具 举报
感觉还是比较绕。
回复 使用道具 举报
楼上解释得很清楚,慢慢学着就知道其实这个是有多简单了
回复 使用道具 举报
基础的东西,用多了自然就没什么了
回复 使用道具 举报
画图理解好一点吧。
回复 使用道具 举报
黑马小辛 发表于 2015-9-8 21:55
a = a++;
第一步:(a++)的值为2;第二步:a的值自加1,为3;第三步:将(a++)的值赋给a,此时a的值为2
b ...

谢谢,分析的透彻,条理
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马