2016-04-15 80 views
-3

我不明白的流程:do while(true)while sys.o.print(“Hi”);而(假);

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

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

+1

您能否以正确的格式发布代码? – Rehman

+1

你真的应该用一些大括号来澄清这一点。在缺少大括号的情况下,sys.o.print将绑定while(true):因此是无限循环。这样做会引发我一点 - 我很惊讶你没有语法错误。 – Jim

回答

3

只要条件是true,这将永远循环。

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

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

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

的DO-而结构分离,内循环运行(永远)。这就是为什么总是把{}放在那里的一个好主意

0

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

0

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

do{ 
    your code; 
}while(false); 

现在,当你的代码是:

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

这是一个无限循环,条件do-while循环将永远不会被选中。