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į!");
}
Konsolės rezultatas

Pasiimk skėtį!

  1. Pirmoje eilutėje sukuriamas loginis kintamasis lyja.
  2. Į jį įrašyta reikšmė true, kuri reiškia „taip, lyja“.
  3. if patikrina kintamojo lyja reikšmę.
  4. Kadangi sąlyga teisinga, Java įeina į bloką tarp riestinių skliaustų ir parodo tekstą Pasiimk skėtį!.
O kas būtų, jei reikšmė būtų false?

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:

Java palyginimo operatoriai
OperatoriusReikšmėPavyzdys
<Mažiaua < b
<=Mažiau arba lygua <= b
>Daugiaua > b
>=Daugiau arba lygua >= b
==Lygua == b
!=Nelygua != b

Java sąlyginės instrukcijos

  • if nurodo kodą, vykdomą tada, kai sąlyga teisinga.
  • else nurodo alternatyvą, kai ta pati sąlyga klaidinga.
  • else if tikrina naują sąlygą, jei ankstesnė buvo klaidinga.
  • switch leidžia pasirinkti vieną iš daugelio kodo blokų.

if instrukcijos sintaksė

if (sąlyga) {
    // Šis kodas vykdomas, jei sąlyga yra true
}
  1. Po raktažodžio if paprastuose skliaustuose rašoma tikrinama sąlyga.
  2. Sąlygos atsakymas turi būti true arba false.
  3. Jeigu atsakymas yra true, vykdomos instrukcijos tarp riestinių skliaustų { }.
  4. Jeigu atsakymas yra false, Java tą bloką praleidžia ir tęsia programą po juo.
Šis šablonas konsolės rezultato neturi.

Žodžiai sąlyga ir komentaras žymi vietas, kuriose programuotojas turi įrašyti tikrą sąlygą bei vykdomą kodą.

Java raktažodžiai skiria didžiąsias ir mažąsias raides.

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");
}
Konsolės rezultatas

12 yra daugiau už 8

  1. Operatorius > klausia: „Ar kairėje esantis skaičius yra didesnis?“
  2. Java patikrina palyginimą 12 > 8 ir gauna atsakymą true.
  3. 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ų");
}
Konsolės rezultatas

Jonas surinko daugiau taškų

  1. Kintamasis jonasTaskai saugo skaičių 20, o onaTaskai – 18.
  2. Sąlygoje Java vietoje kintamųjų pavadinimų panaudoja jų saugomas reikšmes.
  3. Ji patikrina 20 > 18. Atsakymas yra true.
  4. 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");
}
Konsolės rezultatas

Rūta ir Mantas surinko po lygiai

  1. Rūtos ir Manto kintamuosiuose saugoma ta pati reikšmė – 20.
  2. Du lygybės ženklai == klausia, ar abi reikšmės vienodos.
  3. Palyginimas 20 == 20 duoda atsakymą true.
  4. Java įvykdo if bloką ir parodo tekstą apie vienodą rezultatą.
Nepainiok == 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");
}
Konsolės rezultatas

Ona gali įeiti

  1. Kintamasis onosAmzius saugo Onos amžių 20, o onaTuriBilieta saugo reikšmę true.
  2. Pirmoji sąlyga onosAmzius >= 18 yra teisinga, nes 20 yra daugiau arba lygu 18.
  3. Antroji sąlyga taip pat teisinga, nes Ona turi bilietą.
  4. Operatorius && reiškia „ir“: abi jo pusės turi būti true.
  5. Kadangi abi sąlygos įvykdytos, konsolėje matome Ona gali įeiti.
Jeigu bent viena sąlyga būtų false

Pavyzdžiui, jei Ona neturėtų bilieto, visas palyginimas su && būtų klaidingas ir konsolėje nieko nepasirodytų.