while(true)下i++无限循环

问题遇到的现象和发生背景

while(true)下,i++在if()里,运行没问题;
i++在if()外,运行就无限循环。

问题相关代码,请勿粘贴截图

public class Test {

public static void main(String[] args)
{
    int i = 0;
    while(true)
    {
        if(i < 100)
            System.out.println("i = " + i++);
       //if(i < 100)
           //{ System.out.println("i = " + i);
           //}
         //i++
    }
}

}

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

你这个i++放到哪里不都是无限循环吗?i一直在++不打印99之后就不循环了?
while(true)

    public static void main(String[] args) {

        int i = 0;
        boolean flag = true;
        while (flag) {
            if (i < 100)
                System.out.println("i = " + i);
            i++;
            if (i == 100)
                flag = false;
        }
    }
}