int a = 3, b;
b= ++a;
System.out.println("a="+a+",b="+b);
为何数值会是a = 4,b = 4,呢?
如果b = a++; 那么数值a = 4;b = 3;呢?
究竟 --a 是否等于 a - 1 呢?又与a-- 一样吗?
什么时候 + 是连接符?什么时候 + 是加号?
可以根据我的问题补充回答一下吗?谢谢
public class First{
public static void main(String []args){
int a = 10;
int b = a-- + --a;//a-- + --a=10+8
System.out.println("变量b="+b);//输出结果是:变量b=18
}
}//这个例子,b = a-- + --a;//a-- 等于10-1 吗 --a等于10-1 吗 为何变了10 + 8 呢
如果b=a++;是先使用a的值赋给b,所以b=3,再在运算a=a++=a+1=4那就是b不参与运算吗
b=a-- + --a;//等号后单看a--是等于10-1=9,整体是先使用赋值后运算就是b=10+...
而后这时变量a=9,运算到--a时先计算a=a-1=9-1=8,后使用赋值把8赋值给a,
这时的a=8;整体来看就是b=10+8;
如果还没懂,可以分别测试一下a值,eg:
public class First{
public static void main(String []args){
int a=10;
int b=--a;
System.out.println(a);//a这时等于9
System.out.println(b);//b=9
}
}
public class Second{
public static void main(String []args){
int a=10;
int b=a--;
System.out.println(a);//a这时还等于9
System.out.println(b);//而b=10,是因为a先是使用赋值给了b,而后在自身运算
}
}