黑马程序员技术交流社区

标题: 分享今天课上一个易错点 [打印本页]

作者: 平凡的鱼    时间: 2015-9-6 21:33
标题: 分享今天课上一个易错点
本帖最后由 平凡的鱼 于 2015-9-6 21:38 编辑

今天老师在课上讲可的时候说一个问题,
让我们解答.自己在心中自信满满的给出了答案,
但是当老师说出答案的时候,发现自己错的离谱.
题是这样的:
class text{
     public static void main(String[] args){
              int a=10;
              a=a++;
               System.out.println(a);
       }
}
问输出的结果是什么?
你给出的答案是多少呢?
是不是11呢?
我当时给出的答案也是这样.
但是结果是10.
解释是这样的.
     a=a++
在计算机中运算的步骤有三步
                   第一步:a++是一个表达式,因为++符号在后面所以先使用a,a++表达式的值是10
         第二步:进行++运算,相当于a = a+1,这样a变成11
         第三步:进行赋值运算,将第一步整个表达式的值(10),赋值给变量a   
所以a++的表达式的值是10,按照顺序a最后被赋值10





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