首页 > 解决方案 > Java 中的运算符怪异

问题描述

int number = 10;
int result = 0
        for (int i = 10; i <= 50; i += 10) {
            number = i;
            result = --number - number--;
            System.out.println("i = " + i + ", number = " + number +
                    ", result = " + result);

结果是

i = 10,数字 = 8,结果 = 0

i = 20,数字 = 18,结果 = 0

i = 30,数字 = 28,结果 = 0

i = 40,数字 = 38,结果 = 0

i = 50,数字 = 48,结果 = 0

我想知道操作员是如何一步步工作的 result = --number - number-- ;。执行上述语句时 number 的值是多少?谢谢你。

标签: java

解决方案


我认为只有这么多的代码足以让你理解这个概念:

public class Main {
    public static void main(String[] args) {
        int number = 10;
        int result = --number - number--;
        System.out.println("number = " + number + ", result = " + result);
    }
}

这是它的处理方式:

--number => number = number - 1 => number = 10 - 1 => number = 9 
result = --number - number-- => result = 9 - 9 => result = 0
number-- => number = number - 1 => number = 9 - 1  => number = 8

因此输出:

number = 8, result = 0

推荐阅读