JAVA SĄLYGOS

Java else if instrukcija

else if nurodo naują sąlygą, kuri tikrinama tada, kai ankstesnė if arba else if sąlyga buvo klaidinga.

Kam reikalinga else if instrukcija?

Paprastas if pasirenka, ar vykdyti vieną bloką, o if ir else leidžia rinktis iš dviejų kelių. Kai galimų sprendimų yra daugiau, tarp jų įterpiamos viena ar kelios else if šakos.

Programa tikrina sąlygas iš viršaus į apačią ir sustoja ties pirmąja sąlyga, kurios rezultatas yra true.

else if sintaksė

if (sąlyga1) {
    // Vykdoma, kai sąlyga1 yra true
} else if (sąlyga2) {
    // Vykdoma, kai sąlyga1 yra false, o sąlyga2 – true
} else {
    // Vykdoma, kai abi sąlygos yra false
}
  • Pirmoji grandinės šaka visada prasideda raktažodžiu if.
  • Galima pridėti tiek else if šakų, kiek reikia.
  • Baigiamasis else nėra privalomas, tačiau apdoroja visus likusius atvejus.
  • Vienoje grandinėje vykdomas ne daugiau kaip vienas kodo blokas.

Rezultato įvertinimo pavyzdys

Programa gali parinkti skirtingą įvertinimą pagal surinktus taškus:

int taskai = 82;

if (taskai >= 90) {
    System.out.println("Puikiai");
} else if (taskai >= 75) {
    System.out.println("Gerai");
} else if (taskai >= 50) {
    System.out.println("Išlaikyta");
} else {
    System.out.println("Reikia pakartoti");
}
// Išveda: Gerai

Reikšmė 82 neatitinka pirmosios sąlygos taskai >= 90, todėl tikrinama kita sąlyga. taskai >= 75 yra teisinga, tad išvedama „Gerai“, o likusios šakos nebetikrinamos.

Sąlygų eiliškumas yra svarbus

Kai sąlygų intervalai persidengia, pirmiausia paprastai tikrinama griežčiausia arba konkrečiausia sąlyga. Priešingu atveju bendresnė sąlyga gali per anksti sustabdyti grandinę:

int taskai = 95;

// Netinkama tvarka: pirmoji sąlyga jau yra true
if (taskai >= 50) {
    System.out.println("Išlaikyta");
} else if (taskai >= 90) {
    System.out.println("Puikiai");
}
Šiame pavyzdyje „Puikiai“ niekada nebus išvesta.

95 jau atitinka pirmą sąlygą taskai >= 50. Teisinga tvarka būtų pradėti nuo taskai >= 90.

Kada rinktis else if?

else if tinka, kai kiekvienas sprendimas turi atskirą loginę sąlygą arba tikrinami reikšmių intervalai. Kai vienas kintamasis lyginamas su daugeliu tikslių reikšmių, aiškesnė gali būti switch instrukcija.