Een if else- instructie in Java is een voorwaardelijke instructie. Java gebruikt voorwaarden net als wiskunde, waardoor vergelijkingen mogelijk zijn die Booleaanse resultaten opleveren. U kunt dus invoer testen om te zien hoe ze zich verhouden tot een statische reeks waarden die u opgeeft. Omdat het resultaat Booleaans is, zijn er slechts twee mogelijke resultaten: 0 of 1; dat wil zeggen, onwaar of waar . Een if else java-statement is op twee basismanieren gestructureerd. De eerste is een eenvoudige als dan -instructie in Java. De tweede is als-dan-anders . Het gebruik van de else- instructie als een secundair uitvoeringspad geeft deze voorwaardelijke controle veel flexibiliteit.
If-verklaring Java-syntaxis
De if-instructie in Java gebruikt de volgende syntaxis:
If (condition) {
//do this code
}
Als de voorwaarde de Booleaanse waarde true retourneert , wordt de code tussen haakjes uitgevoerd. Als de waarde terugkeert als false , wordt de code tussen haakjes overgeslagen. Beschouw dit codefragment.
int a = 20;
if (a%2 == 0) {
System.out.println(a + " is even.");
}
…
De uitvoer in de bovenstaande code is "20 is even". Dat komt omdat de voorwaarde die werd getest, was wat de rest zou zijn als het gehele getal a wordt gedeeld door 2. Het gebruik van een Java if -instructie is een goede manier om te controleren wat er aan de hand is tijdens het debuggen van code. Als uw code niet correct reageert, kunt u een voorwaarde invoegen die uw code eenvoudig vertelt om een bevestiging af te drukken als deze werkt zoals verwacht. Op deze manier kunt u bepalen waar code zich misdraagt.
Java-syntaxis voor If Else-statements
De if else java-syntaxis is als volgt:
if (condition) {
//do this code
} else {
//do this code
}
Zoals u kunt zien, kunt u door de else -instructie toe te voegen een tweede reeks instructies maken die worden geactiveerd wanneer het Booleaanse antwoord false is . Laten we een else- statement toevoegen aan ons originele codefragment en het nesten in een eenvoudige oplopende for-lus.
…
for (int x = 1; x <=4; x++) {
if (x%2 == 0) {
System.out.println(x + " is even.");
} else {
System.out.println(x + " is odd.");
}
}
Je kunt zien dat x begint bij 1 en de lus binnengaat en wordt getest door dezelfde voorwaardelijke. Omdat de geretourneerde modulus wanneer 1 wordt gedeeld door 2 niet nul is, wordt een foutieve Booleaanse waarde geretourneerd. Dat slaat de initiële if-instructie over en activeert de else- instructie. Dus de uitvoer voor deze lus zou zijn:
1 is odd.
2 is even.
3 is odd.
4 is even.
Hoewel dit leuk is, vraag je je misschien af wat de bruikbaarheid is van java if else- statements. In de echte wereld hebben ze enorme voordelen omdat ze uitsluitend vertrouwen op de Booleaanse waarden true en false . Een videogame zoals Fortnight gebruikt een if else- statement om te bepalen of een speler een andere speler raakt op basis van of het schot in een bepaalde hitbox terechtkomt. Een wachtwoordchecker vergelijkt uw invoer met een opgeslagen wachtwoord, en als het overeenkomt, laat het u binnen. Anders doet het dat niet en vertelt u dat de wachtwoorden niet overeenkomen. Dus zelfs als je bedenkt hoe veelzijdig een if else java-statement is, kun je het nog veelzijdiger maken door meer voorwaarden toe te voegen. Dit wordt een geneste if else genoemdjava-verklaring.
Geneste If Else en Else If Java-instructies
Wanneer u begint met nesten of Java if else -instructies herhaalt, maakt u een reeks voorwaarden die elk worden gecontroleerd op een Booleaanse waarde. De syntaxis ziet er als volgt uit:
if (condition) {
//do this code
} else if (condition) {
//do this code
} else if (condition) {
//do this code
} else {
//do this code
}
U kunt de opdracht Java else if zo lang herhalen als u wilt en het systeem blijft de invoer testen. Het is belangrijk op te merken dat zodra een voorwaarde een echte Booleaanse waarde retourneert, dat gedeelte van de code tussen haakjes wordt uitgevoerd en het programma het volledige if else- codegedeelte verlaat .
Geneste If Java-verklaringen
U kunt ook if -statements nesten die geen else- voorwaarde hebben. Dus de code is eenvoudig, als dit waar is, EN dit waar is, doe dit dan. Bekijk hier de syntaxis:
if (condition) {
if (condition) {
if (condition) {
//do this code
}
}
}
U kunt zien dat de code drie verschillende voorwaarden controleert voordat de laatste code tussen haakjes wordt uitgevoerd. We kunnen dit gebruiken om te controleren of een getal een priemgetal is of niet. Kijk naar de volgende pseudocode die een geheel getal x controleert met behulp van geneste if -statements.
if (x > 1) {
if (x is odd) {
if (x modulo (every integer from 2 to x-1) != 0) {
// integer is prime
}
}
}
Deze code voert drie controles uit:
- Is het gehele getal groter dan 1, omdat 1 geen priemgetal is?
- Is het gehele getal oneven, omdat alleen oneven getallen boven 2 priemgetallen zijn?
- Kan elk ander geheel getal van 2 tot één kleiner dan x er gelijkmatig in worden verdeeld?
GO TO FULL VERSION