在Java中,何时发生增量后操作?

Cof*_*fee 0 java jvm operators post-increment

我正在看这个Java代码:

        while (n-- != 0) {
            if (searchMe.charAt(j++) != substring.charAt(k++)) {
                continue test;
            }
        }
Run Code Online (Sandbox Code Playgroud)

我确实很困惑,确切地说,n--操作发生的时间.是在if声明之后吗?

Ted*_*opp 5

n--操作中的每个的时间发生while评估条件; 特别!=是在评估操作员的左侧时.它与if声明无关.的while条件在每次循环迭代的开始被评估; 如果它的计算结果是true,则执行while循环体(if语句),但在n--操作完成后就好了.(但当然,那就是下一个循环迭代.)