【问题标题】:do while (true) while sys.o.print("Hi"); while(false);do while (true) while sys.o.print("Hi");而(假);
【发布时间】:2016-04-15 09:04:41
【问题描述】:

我不明白的流程:

do 
while(true)
System.out.println("Hi");
while(false);

对我来说,似乎“Hi”应该只打印一次,而它会进入无限循环。

【问题讨论】:

  • 您能以正确的格式发布代码吗?
  • 你真的应该用一些大括号来澄清这一点。在没有大括号的情况下, sys.o.print 将绑定到 while(true) :因此是无限循环。这让我有点吃惊——我很惊讶你没有语法错误。

标签: java loops do-while


【解决方案1】:

只要条件是true,它就会一直循环,这就是永远。

while(true) 
    System.out.println("Hi");

【讨论】:

    【解决方案2】:

    如果你只是这样粘贴它们,你会看到以下内容:

    public static void main(String[] args) {
        do
            while (true)
                System.out.println("Hi");
        while (false);
    }
    

    do-while 结构被分离,内部循环运行(永远)。这就是为什么将 {} 放在其中的项目总是一个好主意的原因之一

    【讨论】:

      【解决方案3】:

      内部循环将被调用一次,但由于它是一个无限循环,它会永远停留在那里。

      【讨论】:

        【解决方案4】:

        在 do-while 循环中,在第一次执行循环后检查“while”条件。在你的情况下:

        do{
          your code;
        }while(false);
        

        现在你的代码是:

        while(true)
          System.out.println("Hi");
        

        这是一个无限循环,do-while循环的条件永远不会被检查。

        【讨论】:

          猜你喜欢
          • 2013-12-01
          • 2016-02-21
          • 1970-01-01
          • 2015-02-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-09
          • 1970-01-01
          相关资源
          最近更新 更多