++有两种,一种放在变量后,一种放在变量前,好像有区别。但不知区别究竟在哪?
例如:b++与++b
class Example{
public static void main(String[] args)
{
int a=1;
int b=2;
int c = a + b++;
int d = a+ (++b);
System.out.println("b="+b);
System.out.println("c="+c);
System.out.println("d="+d);
}
}
答: b++与++b的区别主要是赋值与自增的先后顺序不一样。 b++是先把b的值赋予左边变量,然后自己再自增。++b是先自增,再把自增后的值赋予左边变量。
例如:
int b = 3;
int c = b++; //这条语句你如果输b、c的值得话,b先向左边变量c赋值,得 c = 3,然后b再自增后,b =4。
int c= ++b; //这条语句如果输出b、c的值得话,b先自增,b = 4, 然后把自增后的值 赋予左边变量c,得 c = 4 。
说明:++b,b++ 自增的值都是 1。
int a=1; int b=2; int d = a+ (++b); 输出是4,3,5.b有两次++,最后输出的时候,是4; int c = a + b++;a和b相加,相加之后b自增加一,所以c是1+2=3; int d=a+(++b);先算(++b)此时b上次自增再自增是4,加上a所以输出5. ++b是b先自增,再参与运算;b++是先参与操作,再自增。