public class Demo8 { public static void main(String[] args) { int sum=0; while(true) { for(int i=1,j=2;i<10;i++) { if(i*j%3==0) continue; sum=sum+i; } if(sum>20) break; } System.out.println(sum); }
时间: 2024-02-14 09:24:37 浏览: 124
C#中static void Main(string[] args) 参数示例详解
这段代码会输出 21。
代码中使用了一个外层的无限循环 `while(true)`,只要内部的条件满足,就会一直执行下去。在循环体中,使用 `for` 循环对变量 `i` 进行迭代操作,初始值为 1,每次迭代将 `i` 的值加 1,直到 `i` 大于等于 10 时,退出循环。在每次迭代中,判断 `i*j` 是否能够被 3 整除,如果能够被 3 整除,则执行 `continue` 语句跳过本次循环,否则将 `i` 的值加到变量 `sum` 中。
在 `for` 循环执行完毕后,判断 `sum` 的值是否大于 20,如果大于 20,则执行 `break` 语句跳出循环。因为当 `i=3` 时,`i*j` 的值为 6,能够被 3 整除,所以在第三次循环中,执行了 `continue` 语句,没有将 `3` 加到变量 `sum` 中。因此,在第四次循环中,`i` 的值为 4,将其加到变量 `sum` 中后,`sum` 的值为 1+2+4=7。然后继续进行下一次循环,直到第六次循环中,`sum` 的值为 1+2+4+5+6=18。在第七次循环中,`i` 的值为 7,将其加到变量 `sum` 中后,`sum` 的值为 1+2+4+5+6+7=25,大于 20,因此执行 `break` 语句跳出循环。
因此,最后输出的 `sum` 的值为 21。
阅读全文