关于重复的Java初学者

时间:2013-01-14 11:05:03

标签: java

我是一个完全的初学者,我正在尝试遵循此代码段背后的逻辑。

int x = 12;
do {
    for (int w=9; w<x; w++)
        System.out.print(w+” ”);
    --x;
    System.out.println(x);
}while (x>7);

当我运行它时,答案如下:

9 10 11 11
9 10 10
9 9
8
7

如果有人能够以一种简单的方式逐步解释如何阅读代码,我将非常高兴!

3 个答案:

答案 0 :(得分:3)

int x = 12;声明新的局部变量,名为x

do {开始新的do...while循环

for (int w=9; w<x; w++)开始新的for循环,它会迭代,直到变量w的值 ,然后变量x的值。在此循环的每次迭代之后,变量w将增加其值(w++)。变量w的初始值为9int w=9)。

System.out.print(w+” ”);这个打印出来以控制变量w的当前值加上之后的一个空格

--x;此值会降低x变量的值。它就是操作--

的前缀版本

System.out.println(x);x变量的值输出到控制台并返回car

} for循环代码块结束(感谢Chris克服)

} while (x>7); while代码块的结尾,其中循环将结束的条件:直到变量x的值更多,然后7循环才会运行。

UPD:更具体地解释输出结果:

1)do loop的第1次迭代。我们有x == 12

内部for循环的迭代:

1.1)w == 99 < 12 =&gt;输出9到控制台

1.2)w++ =&gt; w == 1010 < 12 =&gt;将10输出到控制台,

1.3)w++ =&gt; w == 1111 < 12 =&gt;将11输出到控制台,

1.4)w++ =&gt; w == 1212 == 12 =&gt;结束for循环

2)for循环结束。 --x =&gt; x == 11,将11输出到控制台并返回回车符,因此我们有一行9 10 11 11

3)使用do ... while开始x == 11循环的新迭代,依此类推,直到x等于7。

答案 1 :(得分:0)

首先,正确格式化代码段可以帮助您理解它:)

int x = 12;
do {
    for (int w=9; w<x; w++)
        System.out.print(w+” ”);
    --x;
    System.out.println(x);
} while (x>7);

难以一步一步地描述它,使用调试器运行它会更好。但换句话说,该计划如下:

  1. 有do-while循环,内部有&#39; for&#39;循环,递减x 并打印
  2. for循环使用w变量并打印它。该 条件取决于x值(我想,你了解条件如何 工作等。)
  3. in for循环,&#39; print&#39;使用方法,与之相反 &#39;的println&#39;在do-while循环中。这就是w值打印的原因 线

答案 2 :(得分:0)

如果x大于7,则运行do / while循环.for循环在do / while循环内运行。 for循环声明一个整数w并赋值w为9. w