自增自减运算符(a++、++a、a–、–a)
一、运算符的作用
-
自增、自减运算符是什么,有什么作用,需要注意什么?
- 可以放在变量前,也可以放在变量后;
- ++、–,对当前变量值+1、-1;
- 只能操作变量,不能操作字面量;
-
自增、自减运算符在变量前后有区别吗?
如果单独使用放前后是没有区别的。- 非单独使用:在变量前 ,先进行变量自增/自减,再使用变量;
- 非单独使用:在变量后 ,先使用变量,再进行变量自增/自减;
二、演示
int c = 10;
int d = 5;
int rs3 = c++ + ++c - --d - ++d + 1 + c--;
System.out.println(rs3); // 26
System.out.println(c); // 11
System.out.println(d); // 5
讲解:
首先,++、-- 运算符优先级高于+、-;
其次,运算从左至右,依次计算。
c++ + ++c - --d - ++d + 1 + c–
10 + 12 - 4 - 5 + 1 + 12
上述式子,从左到右:
- 先是 c++ ,有 2 步:[符号在后]
- ① 先使用。此时 c 是 10,故这里为 10;
- ② 然后 变量 +1。使用完,要 c = c+1,所以此时 c 是 11;
- 然后是 ++c ,有2步:【符号在前】
- ① 先 变量 +1 。这时 c 为11,所以 c = c+1,此时 c 是 12
- ② 然后再使用。故这里是 12;
- 然后是 --d ,有2步:【符号在前】
- ① 先 变量 -1 。这时 d 为5,所以 d = d-1,此时 d 是 4
- ② 然后再使用。故这里是 4;
- 然后是 ++d ,有2步:【符号在前】
- ① 先 变量 +1 。这时 d 为 4,所以 d = d+1,此时 d 是 5
- ② 然后再使用。故这里是 5;
- 然后是 c-- ,有2步:【符号在前】
- ① 先使用。此时 c 是 12,故这里为 12;
- ② 然后 变量 -1。使用完,要 c = c-1,所以此时 c 是 11;
最后,累加:
rs3 : 10 + 12 - 4 - 5 + 1 + 12 = 26 ;
c : 11 ;
d : 5 ;