java a=a++;b=a++;为什么值不一样
classK{publicstaticvoidmain(Stringargs[]){inta=1;intb=2;a=a++;//b=a++;System.out.prin...
class K
{
public static void main(String args[]) {
int a =1;
int b =2;
a=a++;
// b=a++;
System.out.println(a); //输出1
// System.out.println(b); //取消7.9行注释,注释掉6.8行,输出2
}
}
为什么b不是1? 展开
{
public static void main(String args[]) {
int a =1;
int b =2;
a=a++;
// b=a++;
System.out.println(a); //输出1
// System.out.println(b); //取消7.9行注释,注释掉6.8行,输出2
}
}
为什么b不是1? 展开
7个回答
展开全部
假设a = 5,a=a++和b=a++,最后a、b的值都是5。虽然a++的时候a的值是6,但是“a++”这个表达式的“值”是5,因此将它赋值给a和b之后,a和b的值都会是5;
而“++a”这个表达式的值和++a时a本身的值都是6,所以如果是a=++a或者b=++a,a、b的值都会是6。
而“++a”这个表达式的值和++a时a本身的值都是6,所以如果是a=++a或者b=++a,a、b的值都会是6。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
怎么可能输出b不是1,如果b=a++,那么 b肯定等于1的。你仔细看看吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
取消7.9行注释,注释掉6.8行,输出一定是1。再仔细检查一下代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a ++ 指先赋值再自加; ++a指先自加再赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询