Який найкращий спосіб вийти / завершити цикл while у Java?
Наприклад, мій код зараз такий:
while(true){
if(obj == null){
// I need to exit here
}
}
Відповіді:
Пошук while...do
конструкції з while(true)
у моєму коді змусив би мої очі кровоточити. while
Замість цього використовуйте стандартний цикл:
while (obj != null){
...
}
І подивіться на посилання, яке Yacoby надав у своїй відповіді , і це теж. Серйозно.
Ви можете виконати кілька логічних тестів за умови перевірки while (), використовуючи ті самі правила, що і в будь-якій логічній перевірці.
while ( obj != null ) {
// do stuff
}
працює, як робить
while ( value > 5 && value < 10 ) {
// do stuff
}
є дійсними. Умовні умови перевіряються на кожній ітерації через цикл. Як тільки один не збігається, цикл while () виходить. Ви також можете використовувати перерву;
while ( value > 5 ) {
if ( value > 10 ) { break; }
...
}
Ви можете використовувати "перерву", про яку вже згадувалося у відповідях вище. Якщо вам потрібно повернути деякі значення. Ви можете використовувати "return" як код нижче:
while(true){
if(some condition){
do something;
return;}
else{
do something;
return;}
}
у цьому випадку це в той час як під методом, який повертає якісь значення.
Погляньте на підручники 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;
Це не дозволить циклу обробляти будь-які умови, розміщені всередині, переконайтеся, що це всередині циклу, оскільки ви не можете розмістити його поза циклом