如何理解Java中的自增与自减
我们来看一下下面这段代码
public class operation{
public static void main(String[] args){
int a=3;
int b=a++;
int c=++a;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
输出结果为:5,3,5
为了便于理解我们给代码加上注释
public class operation{
public static void main(String[] args){
int a=3;
int b=a++; //执行完这行代码后,先给b赋值,再自增
//a=a+1;
System.out.println(a);//我们不妨在此处先将a的值输出
//a=a+1;
int c=++a; //执行这行代码前,先自增,再给c赋值
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
输出结果为:4,5,3,5
int b=a++;
这行代码的意思为:先把a赋值给b,然后a再进行自增运算,即b=3,a=(a+1)=(3+1)=4,故第一次输出a的值为4
int c=++a;
这行代码的意思为:a先自增,然后再把a的值赋值给c,即a=(a+1)=(4+1)=5,故第二次输出a的值为5,c=a=5
如果将a++换成a–,即
public class operation{
public static void main(String[] args){
int a=3;
int b=a--;
int c=--a;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}