public static void main(String[] args) {
int a,b,c;
a=b=c=5;
a=++b-++c;
System.out.println("a="+a+"b="+b+"c="+c);
a=b+++c++;
System.out.println("a="+a+"b="+b+"c="+c);
a=b--+c--;
System.out.println("a="+a+"b="+b+"c="+c);
}
}
为什么这串代码第二次第三次输出的a值是在b c自增之前所得出的?
按优先级不是应该自增自减运算先吗?
a++和++a,a++是在整句执行完之后才执行的,也就是在;之后执行,而++a是在语句执行前执行的。
结果
a=0b=6c=6
a=12b=7c=7
a=14b=6c=6
前面++b,先+1,表达式等于之后的,所以是6
b++,的值是自增前,6,然后b+1