Wat is de beste manier om een while-lus in Java te beëindigen/beëindigen?
Mijn code is bijvoorbeeld momenteel als volgt:
while(true){
if(obj == null){
// I need to exit here
}
}
Antwoord 1, autoriteit 100%
Gebruik break
:
while (true) {
....
if (obj == null) {
break;
}
....
}
Als je code er echter preciesuitziet zoals je hebt opgegeven, kun je een normale while
-lus gebruiken en de voorwaarde wijzigen in obj != null
:
while (obj != null) {
....
}
Antwoord 2, autoriteit 4%
while(obj != null){
// statements.
}
Antwoord 3, autoriteit 4%
break
is wat je zoekt:
while (true) {
if (obj == null) break;
}
anders kun je je loop herstructureren:
while (obj != null) {
// do stuff
}
of:
do {
// do stuff
} while (obj != null);
Antwoord 4, autoriteit 2%
Het vinden van een while...do
constructie met while(true)
in mijn code zou mijn ogen doen bloeden. Gebruik in plaats daarvan een standaard while
-lus:
while (obj != null){
...
}
En bekijk de link die Yacoby heeft gegeven in zijn antwoord, en deze ook. Ernstig.
De while- en do-while-verklaringen
Antwoord 5, autoriteit 2%
Je kunt meerdere logische conditietests doen binnen de while()-controle met dezelfde regels als bij elke logische controle.
while ( obj != null ) {
// do stuff
}
werkt, net als
while ( value > 5 && value < 10 ) {
// do stuff
}
zijn geldig. De conditionals worden gecontroleerd bij elke iteratie door de lus. Zodra er een niet overeenkomt, wordt de while()-lus verlaten. Je kunt ook pauze gebruiken;
while ( value > 5 ) {
if ( value > 10 ) { break; }
...
}
Antwoord 6
U kunt “break” gebruiken, al genoemd in de bovenstaande antwoorden. Als u enkele waarden moet retourneren. U kunt “return” gebruiken zoals de onderstaande code:
while(true){
if(some condition){
do something;
return;}
else{
do something;
return;}
}
in dit geval bevindt deze while zich onder een methode die een soort van waarden retourneert.
Antwoord 7
Bekijk de Java™-zelfstudiesvan Orakel.
Maar zoals dacwe zei, gebruik break
.
Als je kunt, is het vaak duidelijker om geen break te gebruiken en een vinkje te zetten als voorwaarde voor de while-lus, of iets als een do while-lus te gebruiken. Dit is echter niet altijd mogelijk.
Antwoord 8
als je while(true)schrijft. het betekent dat de lus in geen enkele situatie stopt. Voor het stoppen van deze lus moet u een break-statement gebruiken tussen while-blok.
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;
}
}
}
Antwoord 9
U kunt “break” gebruiken om de lus te verbreken, waardoor de lus niet meer voorwaarden kan verwerken
Antwoord 10
Om een while-lus te verlaten, gebruik Break;
Hierdoor kan de lus geen voorwaarden verwerken die erin zijn geplaatst. Zorg ervoor dat dit binnen de lus staat, aangezien u het niet buiten de lus kunt plaatsen lus