求助一个java语言的一个for循环语句

    for(int i=2,j=1;
        j<10;
        i=(i==9)?(((++j)/j)+1):(i+1)){
        System.out.printf("%d*%d=%2d%c",i,j,i*j,
                ((i==9)?'\n':' '));
    }

输出结果是99乘法表。
这个for循环里的++j为什么不能换成j+1啊?
谢谢各位了。

++j是改变变量值的
j+1是不改变变量值的

++j 等效于j=j+1 你用j+1 原j并没有变 因为没有赋值

++j在每循环一次之后,j会加1,如果写成j+1的话,j会一直是初始化的1这个值

++j 是改变了j变量的值(相当于 j = j + 1),而 j + 1 只是输出了运算结果(j变量本身的值并没有变化)

++j给j赋值了j=j+1 而j+1 j没变