Programmeren in Java/Conditionele blokken: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
k →Switch Label: bewerking met nieuwe wikitekstmodus |
taal, andere foutjes, een detail erbij |
||
Regel 3:
== If ==
De eenvoudigste vorm van een conditionele blok is
<syntaxhighlight lang="Java">
if (<booleaanse uitdrukking>) {
// De code die moet worden uitgevoerd als de uitdrukking
}
</syntaxhighlight>
Regel 30:
== Else ==
Nu je een ''if'' hebt gebruikt om code uit te voeren als er aan een voorwaarde is voldaan,
<syntaxhighlight lang="Java">
public class Main {
Regel 45:
}
</syntaxhighlight>
Dit zal dus zeggen dat een persoon meerderjarig is als die ouder is dan 18 of minderjarig als die jonger is dan 18. Dit is echter
Hier komt de ''else'' van pas en ziet er als volgt uit.
<syntaxhighlight lang="Java">
if (<booleaanse uitdrukking>) {
// De code die moet worden uitgevoerd als de uitdrukking
} else {
// De code die moet worden uitgevoerd als de uitdrukking van de if
}
</syntaxhighlight>
Regel 84:
int number = scanner.nextInt();
if (number % 2 == 0) {▼
▲ if (number%2 == 0) {
System.out.println("Het getal is even");
} else {
Regel 103 ⟶ 102:
// De code die moet worden uitgevoerd als de uitdrukking true heeft als resultaat en de uitdrukking van de vorige if ''false'' heeft als resultaat
} else {
// De code die moet worden uitgevoerd als de uitdrukking van de if
}
</syntaxhighlight>
Regel 127 ⟶ 126:
De persoon is meerderjarig.
</pre>
We hadden nochtans de
<syntaxhighlight lang="Java" highlight=5-8>
Regel 148 ⟶ 147:
De persoon is een vijftigplusser.
</pre>
Als je nu 25 zou geven als waarde aan ''age'', krijg je "De persoon is meerderjarig." te zien. Geef je een waarde onder 18, wordt de else-clausule uitgevoerd en krijg je
Je kun zoveel ''else if'' gebruiken als je wilt, je zou dit ook nog kunnen uitbreiden met zestigplusser. Onthoud wel dat de strengste booleaanse uitdrukking bovenaan moet staan.
Regel 183 ⟶ 182:
}
</syntaxhighlight>
Als je geen codeblok (met accolades) gebruikt, wordt enkel de regel die rechtstreeks na de ''if'' al dan niet uitgevoerd afhankelijk of booleaanse uitdrukking waar is of niet. Als je een regel toevoegt
<syntaxhighlight lang="Java" highlight="7">
Regel 207 ⟶ 206:
</pre>
Het is echter af te raden om dit effectief zo te doen, het
== Switch ==
Regel 217 ⟶ 216:
public static void main(String[] args) {
int dayOfTheWeek = 4;
if (dayOfTheWeek == 1) {
System.out.println("Het is maandag.");
} else if (dayOfTheWeek == 2) {
System.out.println("Het is
} else if (dayOfTheWeek == 3) {
System.out.println("Het is
} else if (dayOfTheWeek == 4) {
System.out.println("Het is
} else if (dayOfTheWeek == 5) {
System.out.println("Het is
} else if (dayOfTheWeek == 6) {
System.out.println("Het is zaterdag.");
Regel 237 ⟶ 236:
}
</syntaxhighlight>
Het probleem hiermee is dat je dus iedere keer dezelfde
<syntaxhighlight lang="Java">
Regel 245 ⟶ 244:
break;
case y:
// code om uit te voeren als expressie
break;
case z:
// code om uit te voeren als expressie
break;
//enzoverder..
Regel 294 ⟶ 293:
=== break ===
Zoals je in vorig voorbeeld kunt zien, wordt er gebruik gemaakt van het sleutelwoord ''break''. In tegenstelling tot ''if'' wordt standaard niet alleen de code uitgevoerd
<syntaxhighlight lang="Java">
Regel 300 ⟶ 299:
public static void main(String[] args) {
int number =
switch (number) {
case 5:
Regel 322 ⟶ 321:
1
</pre>
Dit zorgt er dus voor dat sinds ''number'' de waarde drie heeft de ''case'' met waarde drie wordt uitgevoerd en alle cases daarachter. ''break'' zorgt er dan voor dat je programma uit de ''switch'' gaat. Je bent niet verplicht om ''break'' te gebruiken of als je het gebruikt bij iedere case te gebruiken. De ''cases'' zijn in feite punten waarnaar gesprongen kan worden.
=== default ===
''
<syntaxhighlight lang="Java">
|