V tej vadnici boste s pomočjo primerov spoznali stavke krmiljenja toka z uporabo Jave, če in če … drugače.
Pri računalniškem programiranju s stavkom if nadzorujemo potek programa. Če je na primer izpolnjen določen pogoj, zaženite določen blok kode. V nasprotnem primeru zaženite drugo kodo.
Na primer dodelitev ocen (A, B, C) na podlagi odstotka, ki ga je pridobil študent.
- če je odstotek nad 90 , določite oceno A
- če je odstotek nad 75 , določite oceno B
- če je odstotek nad 65 , določite oceno C
V if… elseJavi obstajajo tri oblike izjav.
- če izjava
- če … drugače izjava
- if … else if … else izjava
- Izjava ugnezdena, če … drugače
1. Izjava Java if (if-then)
Sintaksa stavka if-then :
if (condition) ( // statements )
Tu je pogoj logični izraz. Vrne se bodisi trueoz false.
- če stanje oceni na
true,ifse izvršijo stavki znotraj telesa - če stanje oceni na
false, se stavki znotraj telesaifpreskočijo
Kako, če stavek deluje?
Delovanje Java if stavka
Primer 1: Izjava Java if
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"); ) )
Izhod
Številka je pozitivna. Izjava zunaj bloka
V zgornjem primeru smo ustvarili spremenljivko z imenom number. Upoštevajte preskusni pogoj,
number> 0
Tu pogoj preverja, ali je število večje od 0 . Ker je število večje od 0 , pogoj ovrednoti true.
Če spremenljivko spremenimo v negativno celo število. Recimo -5 .
int number = -5;
Zdaj, ko zaženemo program, bo rezultat:
Statement outside if block
To je zato, ker je vrednost števila manjša od 0 . Zato stanje ocenjuje na false. In telo ifbloka je preskočeno.
Opomba : Če želite izvedeti več o izražanju pogojev, obiščite Java relacijske operaterje in Java logične operaterje.
Kot preskusni pogoj lahko uporabimo tudi jave Java.
Primer 2: Java, če je z nizom
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"); ) ) )
Izhod
Najboljši programski jezik
V zgornjem primeru primerjamo dva niza v ifbloku.
2. Izjava Java if … else (if-then-else)
ifIzjava izvaja določen del kode, če je test izraz ocenili, da true. Če pa se oceni testni izraz false, to ne naredi ničesar.
V tem primeru lahko uporabimo neobvezni elseblok. Stavki znotraj telesa elsebloka se izvedejo, če se preskusni izraz oceni na false. To je v Javi znano kot stavek if- … else .
Sintaksa stavka if … else je:
if (condition) ( // codes in if block ) else ( // codes in else block )
Tu bo program opravil eno nalogo (kode znotraj ifbloka), če je stanje, truein drugo nalogo (kode znotraj elsebloka), če je stanje false.
Kako deluje izjava if … else?
Delovanje stavkov Java if-else
Primer 3: Izjava Java, če … drugače
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"); ) )
Izhod
Številka je pozitivna. Izjava zunaj, če … drugače blokira
V zgornjem primeru imamo spremenljivko z imenom number. Tu testni izraz number> 0preveri, ali je število večje od 0.
Ker je vrednost števila 10, testni izraz izračuna na true. Zato ifse izvede koda znotraj telesa .
Zdaj spremenite vrednost števila v negativno celo število. Recimo -5.
int number = -5;
Če zaženemo program z novo vrednostjo števila, bo rezultat:
Številka ni pozitivna. Izjava zunaj, če … drugače blokira
Tu je vrednost števila -5. Torej testni izraz ocenjuje na false. Zato elsese izvede koda znotraj telesa .
3. Java, če … drugače … če izjava
V Javi imamo lestvico if … else … if , s katero lahko izvedemo en blok kode med več drugimi bloki.
if (condition1) ( // codes ) else if(condition2) ( // codes ) else if (condition3) ( // codes )… else ( // codes )
Tu se ifstavki izvajajo od zgoraj proti dnu. Ko je preskusni pogoj true, ifse izvršijo kode znotraj telesa tega bloka. In nadzor programa skače zunaj lestve if … else … if .
Če so vsi testni izrazi false, elsese izvršijo kode znotraj telesa .
Kako pa če … drugače … če lestev deluje?
Delo, če … drugače … če lestev
Primer 4: Java if … else … if Statement
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."); ) ) )
Izhod
Število je 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
V Javi je možno uporabljati if… elsestavke tudi znotraj if… elsestavka. Imenuje se ugnezdeni if… elsestavek.
Tukaj je program za iskanje največje od treh številk z uporabo ugnezdenega if… elsestavka.
Primer 5: Izjava ugnezdena, če … drugače
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); ) )
Izhod :
Največje število: 4.5
V zgornjih programih smo vrednost spremenljivk dodelili sami, da to olajšamo.
Vendar pa lahko v resničnih aplikacijah te vrednosti prihajajo iz uporabniških vhodnih podatkov, dnevniških datotek, oddaje obrazcev itd.








