问题描述
- 求助一个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没变
时间: 2025-01-19 03:14:05