Java 循环内部的If语句

Java 循环内部的If语句,java,Java,变量i被初始化为0 int i=0,如果将0除以13,结果为0。没有余数了。我试着用计算器。 但是当我运行程序时。我得到的结果是这样的,它不断地增加13,怎么 if (i % 13 == 0) 您看到的结果是您在这一行中指定的0到150之间的所有数字:对于int i=0;i

变量i被初始化为0 int i=0,如果将0除以13,结果为0。没有余数了。我试着用计算器。 但是当我运行程序时。我得到的结果是这样的,它不断地增加13,怎么

if (i % 13 == 0)

您看到的结果是您在这一行中指定的0到150之间的所有数字:对于int i=0;i<150;i++{是倍数的,没有13的余数

对于每次迭代,第一个循环在int i上加1。然后,当除以13时,它将检查是否有余数:

#: 0
#: 13
#: 26
#: 39
#: 52
#: 65
#: 78
#: 91
#: 104
#: 117
#: 130
#: 143
最后,如果除以13时没有余数,它将打印该数字:

(i % 13 == 0)

因此,结果基本上是0到150之间13的倍数。

你所看到的是正确的;它似乎每次都在加13,因为你的if语句实际上用简单的英语说:

每当13除以i,不留余数时,显示i的值

事实上,你看到的每一个数字都是等分的,没有余数:

System.out.println("#: " + i);

以此类推……

好吧,当你在输出的第二行用13除以13时,余数是多少?每次我被13整除时,你的程序都会打印i,你的问题到底是什么?你想做什么?你认为i%13在做什么?
System.out.println("#: " + i);
#: 0   //   0 / 13 = 0, no remainder
#: 13  //  13 / 13 = 1, no remainder
#: 26  //  26 / 13 = 2, no remainder