java中 +a+ , +a代表什么?还有 --a 和 a-- 的区别?请举实例

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-- 一样吗?
什么时候 + 是连接符?什么时候 + 是加号?

这个可以分为2部分
首先 关于+a+和+a
我们可以这样来理解 若int a=2,那么我们将a可以看做是形式的,2是实际的
同样 String s="a=" s是形式的,a=是实际的
在System.out.println()里,""中的都是实际的,即电脑会原分不动的打印出里面的内容 而+号是连结两个表达式的,""也算是表达式,形式的参数也是表达式。
拿你给出的例子做说明
int a=2,b;
b=a++; //这个你肯定明白的,是a自+
System.out.println("a="+a+",b="+b);
这里我们可以看到有四个表达式"a=" + a + "b=" + b
于是电脑会输出a=3,b=2
其中a=就是"a="
3就是a
,b=就是",b="
2就是b

然后 关于--a和a--
如果--在变量的前边,那么是先执行--运算在执行+ - 等运算,
int a = 2; a = --a;a的值是1
int a = 2; a = a--;a的值是2追问

可以根据我的问题补充回答一下吗?谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-03
a++和++a的区别就在于使用a的时候是先让它+1还是使用之后才+1.
b=++a;++a是先让a+1然后再赋值给b。b=a++;a++是把a当前的值赋值给b后a再+1。所以无论是a++还是++a,a都会是4
--a和a--同理。
+是连接符只出现在字符串。
System.out.println("a="+a+",b="+b);这句print里面一开始就是引号“”,所以整句话都会被当成字符串解释而+自然就是用来连接里面的内容了。
第2个回答  2019-07-06
a++和++a的区别就在于使用a的时候是先让它+1还是使用之后才+1.
b=++a;++a是先让a+1然后再赋值给b。b=a++;a++是把a当前的值赋值给b后a再+1。所以无论是a++还是++a,a都会是4
--a和a--同理
第3个回答  2012-12-02
问题应该是a++和++a吧。。。
例如:
int a=1,s=0;
s=a++;此时s=1,a=2;
a=1;s=0;
s=++a;此时s=2,a=2;

a--和--a都类似。如果是a++或a--,先取a直接进行赋值或其他运算,若++a或--a,就直接取(a+1)或(a-1)进行运算来自:求助得到的回答
第3个回答  2012-12-02
1.+a+ :前后的加号是连接符代表连接,举一例子写一输出语句,输出结果:变量a=1
eg:System.out.println("变量"+a+"=1");
2.+a :前边的加号也是连接符,eg:System.out.println("变量"+a); 输出结果:变量a
3.你知不知道++a与a++的区别,而--a与a--的区别是一样的,其含义都是a=a-1,区别在于使用和运算的先后顺序,例如,--a是先运算后使用,a--反之,举个例子eg:
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;含义是b=a+1=4,而这时的变量a=a+1=4,所以输出结果是a=4,b=4
如果b=a++;是先使用a的值赋给b,所以b=3,再在运算a=a++=a+1=4
所以输出结果是a=4,b=3追问

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,而后在自身运算
}
}