Voorwaardelijke verklaringen in Java

Voorwaardelijke verklaringen in een computerprogramma ondersteunen beslissingen op basis van een bepaalde voorwaarde. Als aan de voorwaarde is voldaan, of "waar", wordt een bepaald stuk code uitgevoerd.

U wilt bijvoorbeeld door de gebruiker ingevoerde tekst naar kleine letters converteren. Voer de code alleen uit als de gebruiker tekst met hoofdletters heeft ingevoerd. Als dit niet het geval is, wilt u de code niet uitvoeren omdat deze tot een runtime-fout leidt.

Er zijn twee belangrijke voorwaardelijke statements in Java: de if-then en if-then-else-instructies en de switchuitspraak.

De If-Then en If-Then-Else-verklaringen

De meest elementaire flow control-verklaring op Java is if-then: als [iets] waar is, doe [iets]. Deze verklaring is een goede keuze voor eenvoudige beslissingen. De basisstructuur van een if-instructie begint met het woord "if", gevolgd door de te testen instructie, gevolgd door accolades die de actie omzetten als de instructie waar is. Het ziet er zo uit:

if (statement) // doe hier iets ...

Deze verklaring kan ook worden uitgebreid om iets anders te doenals de voorwaarde niet waar is:

if (statement) // doe hier iets ...
anders // doe iets anders ...

Als u bijvoorbeeld bepaalt of iemand oud genoeg is om te rijden, heeft u mogelijk een verklaring waarin staat: "Als u 16 jaar of ouder bent, kunt u rijden; anders kunt u niet rijden."

int leeftijd = 17;
if age> = 16 System.out.println ("Je kunt rijden.");
else System.out.println ("Je bent niet oud genoeg om te rijden.")

Er is geen limiet aan het aantal instructies dat u kunt toevoegen. 

Voorwaardelijke operators

In het bovenstaande voorbeeld hebben we één operator gebruikt. Dit zijn de standaardoperators die u kunt gebruiken:

  • gelijk aan: =
  • minder dan: <
  • meer dan:>
  • groter dan of gelijk aan:> =
  • kleiner dan of gelijk aan:> =

Naast deze zijn er nog vier operatoren gebruikt met voorwaardelijke verklaringen:

  • en: &&
  • niet:! 
  • of: ||
  • is gelijk aan: == 

De rijleeftijd wordt bijvoorbeeld beschouwd als van 16 tot 85 jaar, in welk geval de operator AND kan worden gebruikt.

anders als (leeftijd> 16 && leeftijd < 85 )

Dit zal alleen waar zijn als aan beide voorwaarden is voldaan. De operatoren NIET, OF EN IS GELIJK AAN kunnen op dezelfde manier worden gebruikt.

De Switch-verklaring

De schakelaarstatement biedt een effectieve manier om met een deel van de code om te gaan dat in meerdere richtingen kan vertakken op basis van een enkelevariabel. Het biedt geen ondersteuning voor de voorwaardelijke operatoren van de if-then-instructie, en kan ook niet omgaan met meerdere variabelen. Het is echter een voorkeurskeuze wanneer aan de voorwaarde wordt voldaan door een enkele variabele omdat het de prestaties kan verbeteren en gemakkelijker te onderhouden is.

 Hier is een voorbeeld:

switch (single_variable) case value: // code_here;
breken;
zaakwaarde: // code_hier;
breken;
standaard: // stel een standaard in;

Merk op dat u begint met de schakelaar, een enkele variabele opgeeft en vervolgens uw keuzes vastlegt met behulp van de term geval. Het trefwoord breken voltooit elk geval van de schakeloptie. De standaardwaarde is optioneel, maar goede praktijk.

Met deze schakelaar wordt bijvoorbeeld de tekst afgedrukt van het nummer Twelve Days of Christmas op een bepaalde dag.

int dag = 5;

String lyric = ""; // lege string om de tekst vast te houden

schakelaar (dag) case 1:

lyric = "Een patrijs in een perenboom.";
breken;
geval 2:
lyric = "2 tortelduiven";
breken;
geval 3:
lyric = "3 Franse kippen";
breken;
geval 4:
lyric = "4 calling birds";
breken;
geval 5:
lyric = "5 gouden ringen";
breken;
geval 6:
lyric = "6 ganzen leggen";
breken;
geval 7:
lyric = "7 zwanen-een-zwemmen";
breken;
geval 8:
lyric = "8 meiden-a-melken";
breken;
geval 9:
lyric = "9 dames dansen";
breken;
geval 10:
lyric = "10 Lords-a-leaping";
breken;
geval 11:
lyric = "11 pipers piping";
breken;
geval 12:
lyric = "12 drummers drummen";
breken;
standaard:
lyric = "Er zijn slechts 12 dagen.";
breken;

System.out.println (tekst);

In dit voorbeeld is de te testen waarde een geheel getal. Java SE 7 en hoger ondersteunen een stringobject in de uitdrukking. Bijvoorbeeld:
String day = "second";
String lyric = ""; // lege string om de tekst vast te houden

schakelaar (dag)
geval "eerste":
lyric = "Een patrijs in een perenboom.";
breken;
geval "tweede":
lyric = "2 tortelduiven";
breken;
geval "derde":
lyric = "3 Franse kippen";
breken;
// enz.