繁体   English   中英

在Java中执行while循环

[英]Do while loop in java

给定以下带有do while循环的代码段:

int x = 11, y = 34, z = 14, limit;

do {
      y + = z;
      z++;
      x++;
} while (x < limit);

System.out.println("x=" + x  + " y=" + y + " z=" + z);
  1. 如果限制为15,将输出什么?

  2. 使用for循环编写一段代码,无论值有什么限制,它都完全相同。

我不完全确定为什么system.out的引用是这样的。

任何帮助表示赞赏

我发现最好的方法是拿出铅笔和纸逐行浏览代码。 为了帮助进行可视化,请画出一些方框,以表示您拥有哪些变量以及变量中存储了什么。

{
    y += z;  // x[11] y[48] z[14]
    z++;     // x[11] y[48] z[15]
    x++;     // x[12] y[48] z[15]
}

然后,只需遍历循环,直到遇到while的情况为止。

传统的for循环结构是for(start; end condition; increment) 希望能有所帮助。

您的代码具有智能引号字符( ),它们不是普通引号,并且Java语言无法识别。

字符更改为"

我认为最好自己尝试一下。 一些技巧:

1)do {}(while)循环首先执行该块,然后检查条件。 在您的问题中,如果limit为14(当x = 13为true时,x <14),那么它也会执行第14次。

2)while(){}; 在执行该块之前进行循环检查。

3)for循环与while相同:for循环的步骤是:

1)设置计数器2)执行块3)检查条件4)增加计数器语句

希望这可以帮助

do ... while循环将始终执行一次,一旦执行,将检查while()中的条件是否为true。 如果为true,它将再次执行(从do开始)。

您可能还想看看如果不给它一个值,一个int类型变量将被初始化为什么。 这也涉及到这个问题。

希望能有所帮助。

我建议你做一个这样的表:

                  x    y    z    limit
Initialization   11   34   14
Iteration 1
Iteration 2
...

现在,逐步进行循环,逐次迭代并观察发生了什么。

int x = 11, y = 34, z = 14, limit;
//You must have initialize limit variable 
// If you don't do that, code will not be compilable.
// You must initialize local variables before use. 
limit = 15; //Initialize limit variable
do {
      y + = z;
      z++;
      x++;
      //If you want to trace values at each iteration then
      //System.out.println("x = " + x  + "   y = " + y +  "  z = " + z);
} while (x < limit);

System.out.println("x = " + x  + "   y = " + y +  "  z = " + z); //Edited line 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM