请问Java中的++a 和 a++ ,有何区别.!

来源:百度知道 编辑:UC知道 时间:2024/06/08 14:32:04
如题:
public class Test{
int a = 5;
System.out.println(a++);
System.out.println(++a);
}

答案为什么是 5 和7

a++实在调用a之后自加1,所以第一句
System.out.println(a++);
是先输出a的值5然后自加1,此时a的值为6;
(此时可以System.out.println(a)看看)

++a是在调用a之前自加1,所以第二句
System.out.println(++a);
在输出a的值之前a先自加1,此时a的值为7,然后再输出a的值。

所以输出是5和7.

a++ 是先使用 a ,用完之后再 ++, 所以++在后面

++a 是先 ++, 然后再使用,所以 ++在前面。

简单好记吧!

其实很好理解啊

a++中人们习惯的阅读顺序,+号在后,可以简单记为“先用后加”,意思就是先用a,用完再把a的值加1。
a初始值为5,所以System.out.println(a++),先用a,当然打出来是5咯,用完之后再把a加1,a变为6。
然后System.out.println(++a)。这次是++a,类似的,就是“先加后用”,刚才a已经变成6了,再加1就是7,然后再用a,也就是把a打出来,就是7了。

首先你这个程序是错误的!,应该这么写
public class Test{
public static void main(String[] args)
{
int a = 5;
System.out.println(a++); //执行这句时是先输出a=5,然后a再加1变成了6
System.out.println(++a); //执行这句话前a为6,++a要先对a进行加1操作然后输出,结果就输出7了。
}
}

第一句打印的是5//a=5
第二句打印的是7//a++( 打印完5后加1就是6),++a(直接打印6加1就是7)

第一次a++,先输出a,然后a=a+1..a的值是6
第二次++a,先a=a+1,a的值是7,然后输出