關于A++自增的問題。
public class HelloWorld{ ? ?
public static void main(String[] args)
?{
?int a=24; ? int b=a++; ??
?System.out.println("a:"+a); ? ?
System.out.println("b:"+b);
?} }
?輸出結果: a:25 b:24?
為什么啊?
?a=24 b的值是取a值后自增1 不是應該:a:24 b:25 ?才對嗎?
public class HelloWorld{ ? ?
public static void main(String[] args)
?{
?int a=24; ? int b=a++; ??
?System.out.println("a:"+a); ? ?
System.out.println("b:"+b);
?} }
?輸出結果: a:25 b:24?
為什么啊?
?a=24 b的值是取a值后自增1 不是應該:a:24 b:25 ?才對嗎?
2017-07-15
舉報
2017-07-15
b=a++表示把a的值賦給b,然后a=a+1,自增是增靠近"++"這個運算符最近的變量的。
如果想要達到“b的值是取a值后自增1”好像只能分開敲b=a;b++;
測試了一下用java好像無法判別(b=a)++;會提示錯誤為意外的類型;不過用C可以正確識別。
另外,在java中,a++ 和 ++a的相同點都是給a+1,不同點是a++是先參加程序的運行再+1,而++a則是先+1再參加程序的運行。
舉個例子來說: a=2; ?b = a++; ? ?運行后: b = 2,a?=3 ;
? ? ? ? ? ? ? ? ? ? ? ? ?a=2; ?b = ++a; ? ?運行后: b = 3,a?=3;?
2017-07-15
a++就是先把a的值賦值給b;如果是b=++a的話,就是先給a加1,然后賦值給b,結果就是a=25,b=25,
2017-07-15
b=a++ ,是把a賦值給b,然后a自增
2017-07-15
b=a++,意思是b=a,然后a++。