Kontrolstrukturer i Java

1. Oversigt

I den mest basale forstand er et program en liste over instruktioner. Kontrolstrukturer er programmeringsblokke, der kan ændre den vej, vi går gennem disse instruktioner.

I denne vejledning udforsker vi kontrolstrukturer i Java.

Der er tre slags kontrolstrukturer:

  • Betingede filialer, som vi bruger til at vælge mellem to eller flere stier. Der er tre typer i Java: hvis / ellers / ellers hvis, ternær operatør og kontakt.
  • Sløjfer, der er vant til gentage gennem flere værdier / objekter og køre gentagne gange specifikke kodeblokke. De grundlæggende sløjfetyper i Java er til, mens og gøre imens.
  • Forgreningserklæringer, som er vant til ændre strømmen af ​​kontrol i sløjfer. Der er to typer i Java: pause og Blive ved.

2. Hvis / andet / andet hvis

Det hvis ellers Erklæring er den mest basale af kontrolstrukturer, men kan også betragtes som selve grundlaget for beslutningstagning i programmering.

Mens hvis kan bruges i sig selv, er det mest almindelige brugsscenarie at vælge mellem to stier med hvis ellers:

hvis (count> 2) {System.out.println ("Count er højere end 2"); } ellers {System.out.println ("Antallet er lavere eller lig med 2"); }

Teoretisk kan vi kæde eller rede uendeligt hvis ellers blokerer, men dette vil skade kodelæsbarheden, og det anbefales derfor ikke.

Vi vil undersøge alternative udsagn i resten af ​​denne artikel.

3. Ternær operatør

Vi kan bruge en ternær operator som et stenografisk udtryk, der fungerer som en hvis ellers udmelding.

Lad os se vores hvis ellers eksempel igen:

hvis (count> 2) {System.out.println ("Count er højere end 2"); } ellers {System.out.println ("Antallet er lavere eller lig med 2"); }

Vi kan reflektere dette med en ternær som følger:

System.out.println (antal> 2? "Antal er højere end 2": "Antal er lavere eller lig med 2");

Mens ternær kan være en fantastisk måde at gøre vores kode mere læselig på, er det ikke altid en god erstatning for hvis ellers.

4. Skift

Hvis vi har flere sager at vælge imellem, kan vi bruge en kontakt udmelding.

Lad os igen se et simpelt eksempel:

int-antal = 3; switch (count) {case 0: System.out.println ("Count er lig med 0"); pause; tilfælde 1: System.out.println ("Antal er lig med 1"); pause; standard: System.out.println ("Antallet er enten negativt eller højere end 1"); pause; }

Tre eller flere hvis ellers udsagn kan være svære at læse. Som en af ​​de mulige løsninger kan vi bruge kontakt, som set ovenfor.

Og husk også det kontakt har omfang og inputbegrænsninger, som vi skal huske, før vi bruger det.

5. Sløjfer

Vi bruger sløjfer, når vi har brug for at gentage den samme kode flere gange i træk.

Lad os se et hurtigt eksempel på sammenlignelige til og mens type sløjfer:

for (int i = 1; i <= 50; i ++) {methodToRepeat (); } int whileCounter = 1; while (whileCounter <= 50) {methodToRepeat (); whileCounter ++; } 

Begge kodeblokke ovenfor kalder methodToGentag 50 gange.

6. Brud

Vi er nødt til at bruge pause at afslutte tidligt fra en løkke.

Lad os se et hurtigt eksempel:

Liste navne = getNameList (); String name = "John Doe"; int-indeks = 0; for (; index <names.length; index ++) {if (names [index] .equals (name)) {break; }}

Her leder vi efter et navn på en liste med navne, og vi vil stoppe med at kigge, når vi først har fundet det.

En løkke vil normalt gå til færdiggørelse, men vi har brugt pause her for at kortslutte det og afslutte tidligt.

7. Fortsæt

Kort fortalt, Blive vedbetyder at springe resten af ​​den løkke, vi er i:

Liste navne = getNameList (); String name = "John Doe"; String list = ""; for (int i = 0; i <names.length; i ++) {if (names [i] .equals (name)) {fortsæt; } liste + = navne [i]; }

Her springer vi over tilføjelse af duplikatet navne ind på listen.

Som vi har set her, pause og Blive ved kan være praktisk, når det gentages, selvom de ofte kan omskrives med Vend tilbage udsagn eller anden logik.

8. Konklusion

I denne hurtige artikel lærte vi, hvad kontrolstrukturer er, og hvordan vi bruger dem til at styre flowkontrol i vores Java-programmer.

Al kode præsenteret i denne artikel er tilgængelig på GitHub.