循环声明

时间:2015-10-31 19:52:05

标签: java while-loop

我无法理解Java中的一些代码。我已经研究过,但我仍然无法完全理解它。

boolean showShip = false; //set the ship to be hidden by default

while(!showShip) //dont get this while loop
{
  val = promptForInt("\n" + "Guess again. "); 

  if(val == randomShipLocation)
  {
    System.out.println("\n" +" BOOM!");
    showShip = false;
    riverLength[val] = 1; // mark a hit
  }
  else {
    riverLength[val] = -1; // mark a miss
  }

  displayRiver(riverLength, showShip);
}

我遇到的部分是while(!showShip)部分。这句话是什么意思?

2 个答案:

答案 0 :(得分:3)

showShip是一个布尔变量,这意味着它可以是truefalsewhile(!showShip)表示只要showShip的值为false,while循环就应该保持循环(重复)。

答案 1 :(得分:2)

while(!showShip) // don't get this while loop

使用!反转boolean,因此循环条件是一种简短的说法

while(showShip == false) // This is the long way

当然为了退出循环,您需要将showShip设置为true,但循环的主体永远不会这样做。因此,循环是无限。最有可能的意图是

System.out.println("\n" +" BOOM!");
showShip = true;

注意:编写“在变量为true时继续”的简短方法

while (showShip) // skip the == true part