Каков наилучший способ выйти/завершить цикл 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) {
....
}
break
это то, что вы ищете:
while (true) {
if (obj == null) break;
}
в качестве альтернативы реструктурируйте свой цикл:
while (obj != null) {
// do stuff
}
or:
do {
// do stuff
} while (obj != null);
Нахождение конструкции while...do
с while(true)
в моем коде вызвало бы у меня слезы на глазах. Вместо этого используйте стандартный цикл while
:
while (obj != null){
...
}
И взгляните на ссылку, которую Якоби предоставил в своем ответе, и этот тоже. Шутки в сторону.
Вы можете выполнять множественные логические проверки условий в рамках проверки while(), используя те же правила, что и в любой логической проверке.
while ( obj != null ) {
// do stuff
}
работает, как и
while ( value > 5 && value < 10 ) {
// do stuff
}
действительны. Условные выражения проверяются на каждой итерации цикла. Как только одно не совпадает, цикл while() завершается. Вы также можете использовать перерыв;
while ( value > 5 ) {
if ( value > 10 ) { break; }
...
}
Вы можете использовать «перерыв», уже упомянутый в ответах выше. Если вам нужно вернуть некоторые значения. Вы можете использовать «возврат», как в приведенном ниже коде:
while(true){
if(some condition){
do something;
return;}
else{
do something;
return;}
}
в этом случае это while находится в методе, который возвращает какие-то значения.
Взгляните на учебники по Java™ от Oracle.
Но в основном, как сказал dacwe, используйте break
.
Если вы можете, часто лучше избегать использования break и помещать проверку в качестве условия цикла while или использовать что-то вроде цикла do while. Хотя это не всегда возможно.
если вы пишете while(true). это означает, что цикл не остановится ни в какой ситуации, для остановки этого цикла вы должны использовать оператор break между блоками while.
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;
}
}
}
Вы можете использовать «break», чтобы прервать цикл, что не позволит циклу обрабатывать больше условий.
Чтобы выйти из цикла while, используйте Break;
. Это не позволит циклу обрабатывать какие-либо условия, помещенные внутри, убедитесь, что это находится внутри цикла, так как вы не можете поместить его вне цикла.