黑马程序员技术交流社区
标题: 求帮助,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 |