web-dev-qa-db-ja.com

whileループ内のif条件からwhileループを解除する方法は?

Ifステートメントを含む以下の形式のwhileループを解除したいです。 ifステートメントがtrueの場合、whileループも中断する必要があります。任意の助けをいただければ幸いです。

while(something.hasnext()) {
   do something...
   if(contains something to process){
      do something
      break if condition and while loop
   }
}
15
Coder2018

breakキーワードはまさにそれを行います。これが不自然な例です:

public static void main(String[] args) {
  int i = 0;
  while (i++ < 10) {
    if (i == 5) break;
  }
  System.out.println(i); //prints 5
}

実際にネストされたループを使用している場合は、 ラベルを使用 が可能です。

39
assylias
while(something.hasnext())
do something...
   if(contains something to process){
      do something...
      break;
   }
}

Breakステートメントを使用するだけです。

たとえば、これは単に「Breaking ...」と出力します。

while (true) {
     if (true) {
         System.out.println("Breaking...");
         break;
     }
     System.out.println("Did this print?");
}
5
rahul pasricha

「if」はループではありません。 「if」内でブレークを使用すると、「while」から抜け出します。

正規のネストされたループを使用する必要がある場合、Javaにはラベル付きブレークの概念があります。ループの前にラベルを付けて、ラベルの名前を使用してブレークすることができます。ラベル付きループの外側で中断します。