当前位置: java社区 > 01-初学乍练 > 阅读正文

java的自增自减运算符

2021.8.17.   350 次   770字

自增运算符++,自减运算符–,对一个变量+1或-1

自增运算符,自减运算符,也叫”自操作运算符“

自操作数据类型

自增运算符与自减运算符,能作用于除了boolean之外的所有基本数据类型

在char类型使用时,在计算过程中会先转换为对应的ASCII,然后自增或自减,然后结果再换回字符。例如以下例子,证明char能使用自增自减运算符

        char a = 'c';
        System.out.println(a++);    // d
        System.out.println(a--);    // c

先自增与后自增

以自增运算符为例,先自增与后自增在表达式中有不同的结果

        int a = 10;
        int b = 10;
        int c = ++a;
        int d = b++;
        System.out.println(c);  // 11
        System.out.println(d);  // 10

在自操作中,实际会被解释为2个语句,c=++a和d=b++实际被解释为

a = a+1;  // a=11
c = a;    // c=11

d = b;   // d=10
b = b+1;  // b=11

可以看到,是因为自增运算符的实际执行的顺序不同,导致表达式结果不同。

自增运算符优先级

自增运算符,是单操作数运算符,它的优先级最高

相对比+,-等二元操作数运算符,会先执行。

        int a = 10;
        int b = ++a + a++ + a - --a - a--;
        //  12     11 + 11  + 12 - 11 - 11
        System.out.println(a);  // 10
        System.out.println(b);  // 12

在java的表达式中,算术表达式是从左到右执行的,上面的例子就可以验证

        int a = 10;
        int b = ++a + a++ + a - --a - a--;
        //  12   11 + 11  + 12 - 11 - 11  从左到右
        //  8     10 +  8   +8  - 8-  10  从右到左          
        System.out.println(a);  // 10
        System.out.println(b);  // 12

本篇完,还有疑问?

加入QQ交流群:11500065636 IT 技术交流群