在Java中++、--在单独使用时都是自身+1或者-1,但是在给其它变量赋值时放在前边表示先自增(减)后赋值,放在后边表示先赋值后自增(减)
例1:
public class Demo1 {
public static void main(String[] args) {
int a1=5;
a1++;
System.out.println(a1); // 6
int a2=5;
++a2;
System.out.println(a2); // 6 单独使用时无论++放在变量的后边都是给变量自身+1
int a3=5;
int b3=a3++; //此处++在变量a3的后边 先进行赋值++a3的值为5, 后进行+1, a3的值变为6
System.out.println(a3); //6
System.out.println(b3); //5
int a4=5;
int b4=++a4; //先+1后赋值
System.out.println(a4); // 6
System.out.println(b4); // 6
//--同理
}
}
例2:
public class Demo2 {
public static void main(String[] args) {
int a=10;
int b=5;
int c=a++ + ++a - --b - ++b +1 + a--;
System.out.println(a); //11
System.out.println(b); //5
System.out.println(c); //26
// 计算步骤如下:
/*
* int c=a++ + ++a - --b - ++b +1 + a--; //a=10, b=5
* =10 + ++a - --b - ++b +1 + a--; //a=11, b=5
* =10 + 12 - --b - ++b +1 + a--; //a=12, b=5
* =10 + 12 - 4 - ++b +1 + a--; //a=12, b=4
* =10 + 12 - 4 - 5 +1 + a--; //a=12, b=5
* =10 + 12 - 4 - 5 +1 + 12; //a=11, b=5
* =26 //a=11, b=5
*/
}
}