JAVA SĄLYGOS
Java if instrukcija
Sąlygos ir if instrukcija leidžia valdyti programos eigą – nuspręsti, kuris kodas bus vykdomas, o kuris praleistas.
Sąlyga turi grąžinti true arba false
Įsivaizduok kasdienį sprendimą: jei lyja, pasiimk skėtį. Java programoje toks sprendimas aprašomas sąlyga, kurios rezultatas yra loginė boolean reikšmė.
boolean lyja = true;
if (lyja) {
System.out.println("Pasiimk skėtį!");
}Pasiimk skėtį!
- Pirmoje eilutėje sukuriamas loginis kintamasis
lyja. - Į jį įrašyta reikšmė
true, kuri reiškia „taip, lyja“. ifpatikrina kintamojolyjareikšmę.- Kadangi sąlyga teisinga, Java įeina į bloką tarp riestinių skliaustų ir parodo tekstą Pasiimk skėtį!.
Java praleistų visą if bloką, todėl ši programa konsolėje nieko neparodytų.
Palyginimo operatoriai sąlygose
Sąlygos dažnai kuriamos palyginant dvi reikšmes:
| Operatorius | Reikšmė | Pavyzdys |
|---|---|---|
< | Mažiau | a < b |
<= | Mažiau arba lygu | a <= b |
> | Daugiau | a > b |
>= | Daugiau arba lygu | a >= b |
== | Lygu | a == b |
!= | Nelygu | a != b |
Java sąlyginės instrukcijos
ifnurodo kodą, vykdomą tada, kai sąlyga teisinga.elsenurodo alternatyvą, kai ta pati sąlyga klaidinga.else iftikrina naują sąlygą, jei ankstesnė buvo klaidinga.switchleidžia pasirinkti vieną iš daugelio kodo blokų.
if instrukcijos sintaksė
if (sąlyga) {
// Šis kodas vykdomas, jei sąlyga yra true
}- Po raktažodžio
ifpaprastuose skliaustuose rašoma tikrinama sąlyga. - Sąlygos atsakymas turi būti
truearbafalse. - Jeigu atsakymas yra
true, vykdomos instrukcijos tarp riestinių skliaustų{ }. - Jeigu atsakymas yra
false, Java tą bloką praleidžia ir tęsia programą po juo.
Žodžiai sąlyga ir komentaras žymi vietas, kuriose programuotojas turi įrašyti tikrą sąlygą bei vykdomą kodą.
Rašyk if mažosiomis raidėmis. If arba IF sukels kompiliavimo klaidą.
Reikšmių ir kintamųjų palyginimas
Galima tiesiogiai patikrinti, ar viena reikšmė yra didesnė už kitą:
if (12 > 8) {
System.out.println("12 yra daugiau už 8");
}12 yra daugiau už 8
- Operatorius
>klausia: „Ar kairėje esantis skaičius yra didesnis?“ - Java patikrina palyginimą
12 > 8ir gauna atsakymątrue. - Todėl vykdoma eilutė bloke ir konsolėje parodomas tekstas 12 yra daugiau už 8.
Praktikoje dažniausiai lyginami kintamieji:
int jonasTaskai = 20;
int onaTaskai = 18;
if (jonasTaskai > onaTaskai) {
System.out.println("Jonas surinko daugiau taškų");
}Jonas surinko daugiau taškų
- Kintamasis
jonasTaskaisaugo skaičių20, oonaTaskai–18. - Sąlygoje Java vietoje kintamųjų pavadinimų panaudoja jų saugomas reikšmes.
- Ji patikrina
20 > 18. Atsakymas yratrue. - Todėl konsolėje pasirodo paaiškinimas, kad Jonas surinko daugiau taškų.
Lygybei tikrinti naudojamas operatorius ==:
int rutaTaskai = 20;
int mantasTaskai = 20;
if (rutaTaskai == mantasTaskai) {
System.out.println("Rūta ir Mantas surinko po lygiai");
}Rūta ir Mantas surinko po lygiai
- Rūtos ir Manto kintamuosiuose saugoma ta pati reikšmė –
20. - Du lygybės ženklai
==klausia, ar abi reikšmės vienodos. - Palyginimas
20 == 20duoda atsakymątrue. - Java įvykdo
ifbloką ir parodo tekstą apie vienodą rezultatą.
== ir =.== palygina reikšmes, o = priskiria reikšmę kintamajam.
Kelių sąlygų sujungimas
Loginis operatorius && leidžia vykdyti bloką tik tada, kai abi sąlygos yra teisingos:
int onosAmzius = 20;
boolean onaTuriBilieta = true;
if (onosAmzius >= 18 && onaTuriBilieta) {
System.out.println("Ona gali įeiti");
}Ona gali įeiti
- Kintamasis
onosAmziussaugo Onos amžių20, oonaTuriBilietasaugo reikšmętrue. - Pirmoji sąlyga
onosAmzius >= 18yra teisinga, nes20yra daugiau arba lygu18. - Antroji sąlyga taip pat teisinga, nes Ona turi bilietą.
- Operatorius
&&reiškia „ir“: abi jo pusės turi būtitrue. - Kadangi abi sąlygos įvykdytos, konsolėje matome Ona gali įeiti.
Pavyzdžiui, jei Ona neturėtų bilieto, visas palyginimas su && būtų klaidingas ir konsolėje nieko nepasirodytų.

