黑马程序员技术交流社区

标题: 求帮助,System.out.println输出语句打印a++、++a问题 [打印本页]

作者: 刁镜元    时间: 2013-8-13 19:57
标题: 求帮助,System.out.println输出语句打印a++、++a问题
本帖最后由 刁镜元 于 2013-8-13 21:55 编辑

class Demo6{
public static void main(String[] args){  
  int a =1;
  System.out.println(a++ + a++ + a++);
  System.out.println(a++ + ++a + a++);
  System.out.println(a++ + ++a + ++a);
}
}
为什么打印结果是:
6
16
26
{:soso_e132:}

作者: 肥猪    时间: 2013-8-13 20:35
a++是先用 后加 ++a是先加后用
  System.out.println(a++ + a++ + a++); (1+2+3)=6
   System.out.println(a++ + ++a + a++); (4+6+6)=16
  System.out.println(a++ + ++a + ++a);(7+9+10)=26



作者: 霜冰刃雪    时间: 2013-8-13 20:37
首先,*++是先进行相关运算再自增,而++*是先自增,再进行相关运算
System.out.println(a++ + a++ + a++);  1+2+3  这时a为4
System.out.println(a++ + ++a + a++);  4+6+6  这时a为7
System.out.println(a++ + ++a + ++a);  7+9+10  最后a的值为10
只是推了下,可能有错误,LZ可以自己再试试~~~
作者: 夜写意    时间: 2013-8-13 21:22
你要搞清楚a++与++a的区别:
a++:a的值进行运算以后再自增1.
++a:a自增1以后再进行运算。
这么
第一个:1+2+3=6
第二个:4+6+6=16
第三个:7+9+10=26
作者: 张俊生    时间: 2013-8-13 21:28
如果问题已解决,请改成已解决
作者: 刁镜元    时间: 2013-8-13 21:54
懂了,坛子太给力了,这么快就有人解答我了




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