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… else
Javi 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 true
oz false
.
- če stanje oceni na
true
,if
se izvršijo stavki znotraj telesa - če stanje oceni na
false
, se stavki znotraj telesaif
preskočijo
Kako, če stavek deluje?

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 if
bloka 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 if
bloku.
2. Izjava Java if … else (if-then-else)
if
Izjava 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 else
blok. Stavki znotraj telesa else
bloka 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 if
bloka), če je stanje, true
in drugo nalogo (kode znotraj else
bloka), če je stanje false
.
Kako deluje izjava 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> 0
preveri, ali je število večje od 0.
Ker je vrednost števila 10, testni izraz izračuna na true
. Zato if
se 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 else
se 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 if
stavki izvajajo od zgoraj proti dnu. Ko je preskusni pogoj true
, if
se izvršijo kode znotraj telesa tega bloka. In nadzor programa skače zunaj lestve if … else … if .
Če so vsi testni izrazi false
, else
se izvršijo kode znotraj telesa .
Kako pa če … drugače … če lestev deluje?

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… else
stavke tudi znotraj if… else
stavka. Imenuje se ugnezdeni if… else
stavek.
Tukaj je program za iskanje največje od treh številk z uporabo ugnezdenega if… else
stavka.
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.