如果声明里面的循环

时间:2014-11-21 17:05:38

标签: java

for (int i = 0; i < 150; i++) {
        if (i % 13 == 0) {
            System.out.println("#: " + i);
        }
    }

我昨天刚开始学习java而且我坚持使用for loop语句。 我对部分感到困惑

if (i % 13 == 0)

变量i初始化为零 int i = 0 如果将零除以13,则结果为0.没有余数。我试过计算器。 但是当我运行该程序时。我得到这样的结果,它一直在增加13怎么样?

#: 0
#: 13
#: 26
#: 39
#: 52
#: 65
#: 78
#: 91
#: 104
#: 117
#: 130
#: 143

3 个答案:

答案 0 :(得分:2)

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

  

每当13平均分割i时,显示i的值(不留余数)

事实上,你所看到的每个数字都是均匀分配的,没有余数:

#: 0   //   0 / 13 = 0, no remainder
#: 13  //  13 / 13 = 1, no remainder
#: 26  //  26 / 13 = 2, no remainder

依旧......

答案 1 :(得分:1)

您看到的结果是0到150之间的所有数字(您在此行中指定:for (int i = 0; i < 150; i++) {)是倍数(没有余数)为13

答案 2 :(得分:1)

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

(i % 13 == 0)

最后,如果它除以13时没有余数,它将打印该数字:

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

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