Каков наилучший способ выхода/завершения цикла while в Java?
Например, мой код в настоящее время выглядит следующим образом:
while(true){
if(obj == null){
// I need to exit here
}
}
Каков наилучший способ выхода/завершения цикла while в Java?
Например, мой код в настоящее время выглядит следующим образом:
while(true){
if(obj == null){
// I need to exit here
}
}
Используйте break
:
while (true) {
....
if (obj == null) {
break;
}
....
}
Однако, если ваш код выглядит точно так, как вы указали, вы можете использовать обычный цикл while
и изменить условие на obj != null
:
while (obj != null) {
....
}
while(obj != null){
// statements.
}
break
- это то, что вы ищете:
while (true) {
if (obj == null) break;
}
реструктурируйте свою петлю:
while (obj != null) {
// do stuff
}
или
do {
// do stuff
} while (obj != null);
Поиск конструкции while...do
с while(true)
в моем коде заставит мои глаза кровоточить. Вместо этого используйте стандартный цикл while
:
while (obj != null){
...
}
И посмотрите ссылку Yacoby, предоставленную в его , и этот тоже. Шутки в сторону.
Взгляните на Java ™ Tutorials от Oracle.
Но в основном, как dacwe сказал, используйте break
.
Если вы часто можете избежать использования break и поставить проверку как условие цикла while или использовать что-то вроде цикла while. Это не всегда возможно.
Вы можете выполнить несколько логических тестов состояния в рамках проверки while(), используя те же правила, что и в любой логической проверке.
while ( obj != null && True ) {
// do stuff
}
работает, как и
while ( value > 5 && value < 10 ) {
// do stuff
}
. Условные проверяются на каждой итерации по петле. Как только один не будет соответствовать, цикл while() будет завершен. Вы также можете использовать break;
while ( value > 5 ) {
if ( value > 10 ) { break; }
...
}
Вы можете использовать "break", уже упомянутый в ответах выше. Если вам нужно вернуть некоторые значения. Вы можете использовать "return", как показано ниже:
while(true){
if(some condition){
do something;
return;}
else{
do something;
return;}
}
в этом случае это пока находится под методом, возвращающим какие-то значения.
если вы пишете while (true). это означает, что цикл не остановится в любой ситуации, чтобы остановить этот цикл, вам нужно использовать оператор break между блоком.
package com.java.demo;
/**
* @author Ankit Sood Apr 20, 2017
*/
public class Demo {
/**
* The main method.
*
* @param args
* the arguments
*/
public static void main(String[] args) {
/* Initialize while loop */
while (true) {
/*
* You have to declare some condition to stop while loop
* In which situation or condition you want to terminate while loop.
* conditions like: if(condition){break}, if(var==10){break} etc...
*/
/* break keyword is for stop while loop */
break;
}
}
}