麻烦老师解读一下这段代码的意思?

新手上路,请多包涵

Head First Java第24页泳池迷宫练习题:要求输出
a noise
annoys
an oyster
代码如下(看不懂,麻烦老师解释一下):

class Demo{
public static void main(String[] args){
int x = 0;
while (x<4){
System.out.print("a");
if (x<1){
System.out.print(" ");
}
System.out.print("n");
if(x>1){
System.out.print(" oyster");
x = x+2;
}
if(x==1){
System.out.print("noys");
}
if(x<1){
System.out.print("oise");
}
System.out.println("");
x=x+1;
}
}
}

阅读 2.9k
1 个回答

首先重新整理下代码。。。

class Demo{
    public static void main(String[] args){
        int x = 0;
        /* 当 x < 4 时执行循环,x >= 4 后跳出循环 */
        while (x < 4) {
            /* 输出 a */
            System.out.print("a");
            /* 如果 x < 1, 输出空格 */ 
            if (x < 1) {
                System.out.print(" ");
            }
            /* 输出 n  */ 
            System.out.print("n");
            /* 如果 x > 1, 输出 oyster, 并且 x 被加 2 */ 
            if(x > 1) {
                System.out.print(" oyster");
                x = x + 2;
            }
            /* 如果 x 等于 1, 输出 noys */ 
            if(x == 1) {
                System.out.print("noys");
            }
            /* 如果 x < 1, 输出 oise */ 
            if(x < 1) {
                System.out.print("oise");
            }
            System.out.println("");
            /* x 加 1*/ 
            x=x+1;
        }
    }
}

第一次循环,x等于0,执行第7行,输出a,执行第10行,输出空格,执行13行,输出n,然后
执行25行,输出 oise,27行换行,然后x加1变成1。

第二次循环,x等于1,执行第7,13,21,27行,输出annoys,然后x加1变成2。
第三次循环,第四次循环你就自己研究了。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题