Tässä opetusohjelmassa opit käyttämään Java-ohjauksen kulkulauseita, jos ja jos… muita lauseita esimerkkien avulla.
Tietokoneohjelmoinnissa käytämme if-käskyä ohjaamaan ohjelman kulkua. Esimerkiksi, jos tietty ehto täyttyy, suorita tietty koodilohko. Muussa tapauksessa suorita toinen koodi.
Esimerkiksi arvosanojen (A, B, C) osoittaminen opiskelijan saaman prosenttiosuuden perusteella.
- jos prosenttiosuus on yli 90 , määritä palkkaluokka A
- jos prosenttiosuus on yli 75 , määritä palkkaluokka B
- jos prosenttiosuus on yli 65 , anna palkkaluokka C
Javalassa on kolme if… else
lausekemuotoa.
- jos lausunto
- jos… muu lausunto
- jos … muuten jos … muu lausunto
- Sisäkkäin, jos… muu lausunto
1. Java if -lauseke
If -then- lauseen syntakse:
if (condition) ( // statements )
Tässä ehto on looginen lauseke. Se palauttaa joko true
tai false
.
- Jos ehto on
true
, lausuntoja kehossaif
toteutetaan - jos tila arvioi sen
false
, lausunnot rungon sisälläif
ohitetaan
Miten lausunto toimii?

Esimerkki 1: Java if -lauseke
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"); ) )
Tuotos
Luku on positiivinen. Lausunto ulkopuolella, jos lohko
Yllä olevassa esimerkissä olemme luoneet muuttujan nimeltä numero. Huomaa testin tila,
number> 0
Tässä tila tarkistaa, onko luku suurempi kuin 0 . Koska luku on suurempi kuin 0 , ehto arvioidaan true
.
Jos muutamme muuttujan negatiiviseksi kokonaisluvuksi. Sanotaan -5 .
int number = -5;
Nyt kun suoritamme ohjelmaa, tulos on:
Statement outside if block
Tämä johtuu siitä, että luvun arvo on alle 0 . Siksi ehto arvioidaan false
. Ja if
lohkon runko ohitetaan.
Huomaa : Jos haluat oppia ehtolausekkeista, muista käydä Java Relational Operators- ja Java Logical Operators -operaattoreissa.
Voimme käyttää myös Java-merkkijonoja testiehtona.
Esimerkki 2: Java, jos siinä on merkkijono
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"); ) ) )
Tuotos
Paras ohjelmointikieli
Edellä olevassa esimerkissä verrataan kahta merkkijonoa if
lohkossa.
2. Java if… else (if-then-else) -lauseke
if
Lausuma suorittaa tietty osa koodia, jos testi lauseke on arvioitu true
. Jos testilauseke arvioidaan false
, se ei kuitenkaan tee mitään.
Tässä tapauksessa voimme käyttää valinnaista else
lohkoa. Lauseen rungon sisällä olevat else
lauseet suoritetaan, jos testilauseke arvioidaan false
. Tätä kutsutaan Java-lausekkeeksi if-… else .
Syntaksi jos … muu toteamus on:
if (condition) ( // codes in if block ) else ( // codes in else block )
Tässä ohjelma suorittaa yhden tehtävän (koodit if
lohkon sisällä ), jos ehto on, true
ja toisen tehtävän (koodit else
lohkon sisällä ), jos ehto on false
.
Kuinka if… else -lauseke toimii?

Esimerkki 3: Java if… else -lauseke
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"); ) )
Tuotos
Luku on positiivinen. Lausunto ulkopuolella, jos… muuten estetään
Yllä olevassa esimerkissä meillä on muuttuja nimeltä numero. Tässä testilauseke number> 0
tarkistaa, onko luku suurempi kuin 0.
Koska luvun arvo on 10, testilausekkeen arvo on true
. Siksi koodi rungon sisällä if
suoritetaan.
Muuta nyt luvun arvo negatiiviseksi kokonaisluvuksi. Sanotaan -5.
int number = -5;
Jos suoritamme ohjelman uudella numeroarvolla, tulos on:
Luku ei ole positiivinen. Lausunto ulkopuolella, jos… muuten estetään
Tässä luvun arvo on -5. Joten testilauseke arvioi false
. Siksi koodi rungon sisällä else
suoritetaan.
3. Java jos… muuten… jos lausunto
Java-ohjelmassa meillä on if… else … if- tikkaat, joita voidaan käyttää yhden koodilohkon suorittamiseen useiden muiden lohkojen joukossa.
if (condition1) ( // codes ) else if(condition2) ( // codes ) else if (condition3) ( // codes )… else ( // codes )
Tässä if
lauseet suoritetaan ylhäältä alaspäin. Kun testiolosuhteet ovat true
, kyseisen if
lohkon rungossa olevat koodit suoritetaan. Ja ohjelman hallinta hyppää jos… muuten … jos tikkaat.
Jos kaikki testilausekkeet ovat false
, suoritetaan koodit rungon sisällä else
.
Kuinka jos… muuten … jos tikkaat toimivat?

Esimerkki 4: Java, jos… muuten … jos lausunto
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."); ) ) )
Tuotos
Luku 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-ohjelmassa on myös mahdollista käyttää if… else
lauseita lauseen sisällä if… else
. Sitä kutsutaan sisäkkäisiksi if… else
lauseiksi.
Tässä on ohjelma, jolla löydät suurimman 3 numerosta sisäkkäisen if… else
käskyn avulla.
Esimerkki 5: Sisäkkäin, jos… muu lausunto
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); ) )
Tuotos :
Suurin luku: 4.5
Edellä mainituissa ohjelmissa olemme itse määrittäneet muuttujien arvon tämän helpottamiseksi.
Todellisissa sovelluksissa nämä arvot voivat kuitenkin tulla käyttäjän syöttötiedoista, lokitiedostoista, lomakkeiden lähettämisestä jne.