而循环结束条件

Car*_*ter 0 java while-loop

这吓了我一跳.以下测试失败; 循环结束时,我的值为9,而不是8.你能解释一下吗?

import junit.framework.TestCase;

public class TestDoWhile extends TestCase {
    final int LIMIT = 8;

    public void testDoWhile() throws Exception {
        int i = 0;
        do {
        } while (i++ < LIMIT);
        assertEquals(LIMIT, i);
    }
}
Run Code Online (Sandbox Code Playgroud)

Ric*_*d H 7

你需要这样做:

++i < LIMIT
Run Code Online (Sandbox Code Playgroud)

你得到它的方式评估条件,然后我增加.如果您执行上述操作,我将在评估之前递增.