Selles õpetuses saate näiteid kasutades teada Java-i juhtimisvoogude avalduste kohta, kui ja kui … muud väited.
Arvutiprogrammeerimisel kasutame programmi voogu juhtimiseks if-lauset. Näiteks kui teatud tingimus on täidetud, käivitage konkreetne koodiplokk. Muul juhul käivitage teine kood.
Näiteks hinnete (A, B, C) määramine õpilase saadud protsendi põhjal.
- kui protsent on üle 90 , määrake palgaaste A
- kui protsent on üle 75 , määrake palgaaste B
- kui protsent on üle 65 , määrake palgaaste C
if… else
Javas on avalduste kolme vormi .
- kui avaldus
- kui … muu avaldus
- kui … muidu kui … muu avaldus
- Pesastatud, kui … muu avaldus
1. Java if (kui-siis) avaldus
Kui-siis- lause süntaks :
if (condition) ( // statements )
Siin on tingimus tõeväärtus. See tagastab kas true
või false
.
- kui seisund seda hindab
true
,if
täidetakse kehasisesed avaldused - kui seisund hindab
false
,if
jäetakse väited keha sees vahele
Kuidas siis, kui avaldus töötab?

Näide 1: Java if avaldus
class IfStatement ( public static void main(String() args) ( int number = 10; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) System.out.println("Statement outside if block"); ) )
Väljund
Arv on positiivne. Avaldus väljaspool, kui plokk
Ülaltoodud näites oleme loonud muutuja nimega number. Pange tähele testi tingimust,
number> 0
Siin kontrollib tingimus, kas arv on suurem kui 0 . Kuna arv on suurem kui 0 , siis seisundit hinnatakse true
.
Kui muudame muutuja negatiivseks täisarvuks. Oletame, et -5 .
int number = -5;
Nüüd, kui programmi käivitame, on väljund:
Statement outside if block
Seda seetõttu, et arvu väärtus on väiksem kui 0 . Seega hindab seisund seisundit false
. Ja if
ploki kere jäetakse vahele.
Märkus . Tingimuseväljendite tundmaõppimiseks külastage kindlasti Java relatsioonioperaatoreid ja Java loogikaoperaatoreid.
Samuti võime testi tingimusena kasutada Java stringe.
Näide 2: Java, kui see on stringiga
class Main ( public static void main(String() args) ( // create a string variable String language = "Java"; // if statement if (language == "Java") ( System.out.println("Best Programming Language"); ) ) )
Väljund
Parim programmeerimiskeel
Ülaltoodud näites võrdleme if
plokis kahte stringi .
2. Java if… else (if-then-else) avaldus
if
Avalduse täidab teatud osa koodi, kui test ekspressiooni hinnati true
. Kui aga testi ekspressiooni hinnatakse false
, ei tee see midagi.
Sel juhul saame kasutada valikulist else
plokki. Lause else
ploki kehas olevad avaldused viiakse läbi, kui testväljendit hinnatakse false
. Seda nimetatakse Java-s kui if-… else avalduseks.
Lause if… else süntaks on:
if (condition) ( // codes in if block ) else ( // codes in else block )
Siin teeb programm ühe ülesande (koodid if
ploki sees ), kui tingimus on, true
ja teise ülesande (koodid else
ploki sees ), kui tingimus on false
.
Kuidas if… else väide töötab?

Näide 3: Java kui… muu avaldus
class Main ( public static void main(String() args) ( int number = 10; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) // execute this block // if number is not greater than 0 else ( System.out.println("The number is not positive."); ) System.out.println("Statement outside if… else block"); ) )
Väljund
Arv on positiivne. Väljavõte väljaspool, kui… muul juhul blokeeritakse
Ülaltoodud näites on meil muutuja nimega number. Siin number> 0
kontrollib testväljend, kas arv on suurem kui 0.
Kuna arvu väärtus on 10, annab testavaldis sellele hinnangu true
. Seega if
käivitatakse kood keha sees .
Nüüd muutke arvu väärtus negatiivseks täisarvuks. Oletame, et -5.
int number = -5;
Kui käivitame programmi uue numbri väärtusega, on väljund:
Arv pole positiivne. Väljavõte väljaspool, kui… muul juhul blokeeritakse
Siin on arvu väärtus -5. Nii et testi väljendus on false
. Seega else
käivitatakse kood keha sees .
3. Java kui… muidu … kui avaldus
Java-s on meil redel, kui… siis veel … kui redelit, mida saab kasutada ühe koodiploki käivitamiseks mitme muu ploki vahel.
if (condition1) ( // codes ) else if(condition2) ( // codes ) else if (condition3) ( // codes )… else ( // codes )
Siin if
täidetakse avaldused ülevalt alla. Kui testimistingimus on true
, if
käivitatakse selle ploki korpuses olevad koodid . Ja programmi juhtimine hüppab väljapoole kui … mujalt … kui redelit.
Kui kõik testväljendid on false
, else
käivitatakse koodid kehas .
Kuidas siis, kui… muidu … kui redel töötab?

Näide 4: Java kui… muidu … kui avaldus
class Main ( public static void main(String() args) ( int number = 0; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) // checks if number is less than 0 else if (number < 0) ( System.out.println("The number is negative."); ) // if both condition is false else ( System.out.println("The number is 0."); ) ) )
Väljund
Arv on 0.
In the above example, we are checking whether number is positive, negative, or zero. Here, we have two condition expressions:
number> 0
- checks if number is greater than 0number < 0
- checks if number is less than 0
Here, the value of number is 0. So both the conditions evaluate to false
. Hence the statement inside the body of else
is executed.
Note: Java provides a special operator called ternary operator, which is a kind of shorthand notation of if… else… if statement. To learn about the ternary operator, visit Java Ternary Operator.
4. Java Nested if… else Statement
Java-s on if… else
avaldise sees võimalik kasutada ka if… else
lauseid. Seda nimetatakse pesastatud if… else
avalduseks.
Siin on programm pesastatud lause abil 3-st numbrist suurima leidmiseks if… else
.
Näide 5: Pesastatud, kui … muu avaldus
class Main ( public static void main(String() args) ( // declaring double type variables Double n1 = -1.0, n2 = 4.5, n3 = -5.3, largest; // checks if n1 is greater than or equal to n2 if (n1>= n2) ( // if… else statement inside the if block // checks if n1 is greater than or equal to n3 if (n1>= n3) ( largest = n1; ) else ( largest = n3; ) ) else ( // if… else statement inside else block // checks if n2 is greater than or equal to n3 if (n2>= n3) ( largest = n2; ) else ( largest = n3; ) ) System.out.println("Largest Number: " + largest); ) )
Väljund :
Suurim arv: 4.5
Selle hõlbustamiseks oleme ülaltoodud programmides muutujate väärtuse ise määranud.
Reaalsetes rakendustes võivad need väärtused pärineda kasutaja sisendandmetest, logifailidest, vormide esitamisest jne.