V tomto tutoriáli sa pomocou príkladov dozviete o príkazoch riadenia toku pomocou Java, ak a či … else.
V počítačovom programovaní používame príkaz if na riadenie toku programu. Napríklad, ak je splnená určitá podmienka, spustite konkrétny blok kódu. V opačnom prípade spustite iný kód.
Napríklad priradenie známok (A, B, C) na základe percenta získaného študentom.
- ak je percento nad 90 , priraďte známku A
- ak je percento nad 75 , priraďte známku B
- ak je percentuálny podiel nad 65 rokov , priraďte známku C.
V if… else
jazyku Java existujú tri formy príkazov.
- ak vyhlásenie
- keby … iné vyhlásenie
- keby … inak keby … inak vyhlásenie
- Vnorené, ak … iné vyhlásenie
1. Príkaz Java, ak (ak-potom)
Syntax príkazu if-then :
if (condition) ( // statements )
Podmienkou je tu boolovský výraz. Vracia sa buď true
alebo false
.
- ak sa podmienka vyhodnotí
true
,if
vykonajú sa príkazy v tele tela - ak sa podmienka vyhodnotí na
false
, výroky vo vnútri telaif
sa preskočia
Ako keď vyhlásenie funguje?

Príklad 1: Príkaz 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"); ) )
Výkon
Počet je kladný. Výpis mimo, ak je blok
Vo vyššie uvedenom príklade sme vytvorili premennú s názvom number. Všimnite si stav testu,
number> 0
Tu je podmienkou kontrola, či je číslo väčšie ako 0 . Pretože číslo je väčšie ako 0 , podmienka sa vyhodnotí true
.
Ak premennú zmeníme na záporné celé číslo. Povedzme -5 .
int number = -5;
Teraz, keď spustíme program, výstup bude:
Statement outside if block
Je to preto, lebo hodnota čísla je menšia ako 0 . Preto sa stav hodnotí na false
. A telo if
bloku je preskočené.
Poznámka : Ak sa chcete dozvedieť viac o výraze podmienky, navštívte stránku Java Relational Operators a Java Logical Operators.
Ako testovaciu podmienku môžeme použiť aj Java Strings.
Príklad 2: Java, ak je s reťazcom
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ýkon
Najlepší programovací jazyk
Vo vyššie uvedenom príklade porovnávame dva reťazce v if
bloku.
2. Príkaz Java, ak … else (if-then-else)
Príkaz if
vykoná určitú časť kódu, ak je testovací výraz vyhodnotený na true
. Ak je však testovací výraz vyhodnotený na false
, nerobí nič.
V takom prípade môžeme použiť voliteľný else
blok. Príkazy v tele else
bloku sa vykonávajú, ak je testovací výraz vyhodnotený na false
. Toto sa v Jave nazýva príkaz if-… else .
Syntax príkazu if … else je:
if (condition) ( // codes in if block ) else ( // codes in else block )
Tu program vykoná jednu úlohu (kódy vo vnútri if
bloku), ak je podmienka splnená, true
a ďalšiu úlohu (kódy vo vnútri else
bloku), ak je splnená podmienka false
.
Ako funguje vyhlásenie if … else?

Príklad 3: Príkaz Java if … else
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ýkon
Počet je kladný. Výpis mimo, ak … inak blok
Vo vyššie uvedenom príklade máme premennú s názvom number. Tu testovací výraz number> 0
skontroluje, či je číslo väčšie ako 0.
Pretože hodnota čísla je 10, testovací výraz sa vyhodnotí ako true
. Preto if
sa vykoná kód v tele tela .
Teraz zmeňte hodnotu čísla na záporné celé číslo. Povedzme -5.
int number = -5;
Ak spustíme program s novou hodnotou čísla, výstup bude:
Počet nie je kladný. Výpis mimo, ak … inak blok
Tu je hodnota čísla -5. Takže testovací výraz sa vyhodnotí ako false
. Preto else
sa vykoná kód v tele tela .
3. Java if … else … if Vyhlásenie
V Jave máme rebríček if… else… if , ktorý je možné použiť na vykonanie jedného bloku kódu medzi viacerými ďalšími blokmi.
if (condition1) ( // codes ) else if(condition2) ( // codes ) else if (condition3) ( // codes )… else ( // codes )
Tu sa if
príkazy vykonávajú zhora nadol. Keď je testovacia podmienka true
, if
vykonajú sa kódy v tele tohto bloku. A riadenie programu vyskočí von, ak … inak … ak je rebrík.
Ak sú všetky testovacie výrazy false
, else
vykonajú sa kódy v tele tela .
Ako keby, ak … inak … keby rebrík fungoval?

Príklad 4: Java, ak… 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."); ) ) )
Výkon
Číslo 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 prostredí Java je tiež možné použiť if… else
príkazy vo vnútri if… else
príkazu. Volá sa to vnorené if… else
vyhlásenie.
Tu je program na vyhľadanie najväčšieho z 3 čísel pomocou vnoreného if… else
príkazu.
Príklad 5: Vnorené, ak … else Výpis
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ýstup :
Najväčšie číslo: 4.5
Vo vyššie uvedených programoch sme si sami priradili hodnotu premenných, aby sme to uľahčili.
V aplikáciách v reálnom svete však tieto hodnoty môžu pochádzať zo vstupných údajov používateľa, súborov denníka, odoslania formulára atď.