谁能帮我解释下这道题

谁能帮我解释下这道题publicclassaaa{publicstaticvoidmain(String[]args){inta=1;intb=a++;intc=++a;... 谁能帮我解释下这道题public class aaa {
public static void main(String[]args){
int a = 1;
int b = a++;
int c = ++a;
int d = a++ + ++a;
System.out.print(a + "," + b + "," + c + "," + d);

}
}
展开
 我来答
cs903016
2017-06-13 · TA获得超过1179个赞
知道小有建树答主
回答量:2599
采纳率:80%
帮助的人:1689万
展开全部
首先int a=1,初始化a变量赋值为1;

int b = a++;a++表示显示用后++,那么就是使用a=1的值,那么b就为1,后++,赋值完成之后a=2;
int c=++a;这时候++a表示先++后使用,那么就是在2的基础上++,这时候a变为3,那么c=3;
int d = a++ + ++a;和前面一样,a++先使用,后++,++a先++,后使用。那么a++就是先使用a=3在++,这时候就是a++为3,但是用完a变为4,加上后面的++a,犹豫a在前面变为4,故++a变为5,故a++ + ++a其实就是3+5为8
yjx759520
2017-06-13 · TA获得超过338个赞
知道小有建树答主
回答量:449
采纳率:66%
帮助的人:203万
展开全部
++a:先加一再取a的值;
a++:先取a的值再加一;
追问
第一个输出a的值是5是不是abC加起来a=1b=2C=2
追答
a输出5是因为a++,++a共出现了四次,最后输出就是5,b=1,因为b=a++;所以b就是a还没加一的时候的值,而到了c的时候,b的a++已经完成了,所以这个时候的c=++a其实相当于c=++2,那么c就等于3了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式