V tomto tutoriálu se pomocí příkladů dozvíte o příkazech řízení toku pomocí Java, pokud a pokud… else.
V počítačovém programování používáme příkaz if k řízení toku programu. Pokud je například splněna určitá podmínka, spusťte konkrétní blok kódu. Jinak spusťte jiný kód.
Například přiřazování známek (A, B, C) na základě procenta získaného studentem.
- pokud je procento nad 90 , přiřaďte známku A
- je-li procentní podíl vyšší než 75 , přiřaďte stupeň B
- pokud je procento nad 65 , přiřaďte známku C.
V if… else
Javě existují tři formy příkazů.
- pokud prohlášení
- pokud … jiné prohlášení
- if… else if… else statement
- Vnořeno, pokud … else prohlášení
1. Příkaz Java if (if-then)
Syntaxe příkazu if-then :
if (condition) ( // statements )
Zde je podmínka booleovský výraz. Vrací buď true
nebo false
.
- pokud je podmínka vyhodnocena
true
,if
jsou provedeny příkazy uvnitř těla - pokud je podmínka vyhodnocena
false
, příkazy uvnitř tělaif
jsou přeskočeny
Jak když prohlášení funguje?

Příklad 1: Pří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ýstup
Počet je kladný. Výpis mimo blok
Ve výše uvedeném příkladu jsme vytvořili proměnnou s názvem number. Všimněte si testovacího stavu,
number> 0
Tady podmínka kontroluje, zda je číslo větší než 0 . Protože číslo je větší než 0 , podmínka se vyhodnotí true
.
Změníme-li proměnnou na záporné celé číslo. Řekněme -5 .
int number = -5;
Nyní, když spustíme program, bude výstup:
Statement outside if block
Je to proto, že hodnota čísla je menší než 0 . Podmínka se proto vyhodnotí na false
. A tělo if
bloku je přeskočeno.
Poznámka : Chcete-li se dozvědět více o výrazu podmínky, nezapomeňte navštívit relační operátory Java a logické operátory Java.
Jako podmínku testu můžeme také použít Java Strings.
Příklad 2: Java, pokud je s řetězcem
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ýstup
Nejlepší programovací jazyk
Ve výše uvedeném příkladu porovnáváme dva řetězce v if
bloku.
2. Příkaz Java if… else (if-then-else)
Příkaz if
provede určitou část kódu, pokud je testovací výraz vyhodnocen na true
. Pokud je však testovací výraz vyhodnocen na false
, nedělá nic.
V tomto případě můžeme použít volitelný else
blok. Příkazy uvnitř těla else
bloku jsou prováděny, pokud je testovací výraz vyhodnocen na false
. Toto se v Javě nazývá příkaz if-… else .
Syntaxe příkazu if… else je:
if (condition) ( // codes in if block ) else ( // codes in else block )
Zde program provede jeden úkol (kódy uvnitř if
bloku), pokud je podmínka splněna, true
a další úkol (kódy uvnitř else
bloku), pokud je podmínka splněna false
.
Jak funguje příkaz if… else?

Příklad 3: Pří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ýstup
Počet je kladný. Výpis mimo, pokud … jinak blok
Ve výše uvedeném příkladu máme proměnnou s názvem number. Zde testovací výraz number> 0
zkontroluje, zda je číslo větší než 0.
Protože hodnota čísla je 10, testovací výraz se vyhodnotí na true
. Proto if
je spuštěn kód uvnitř těla .
Nyní změňte hodnotu čísla na záporné celé číslo. Řekněme -5.
int number = -5;
Pokud spustíme program s novou hodnotou number, výstup bude:
Číslo není kladné. Výpis mimo, pokud … jinak blok
Zde je hodnota čísla -5. Zkušební výraz je tedy vyhodnocen jako false
. Proto else
je spuštěn kód uvnitř těla .
3. Java if… else… if Statement
V Javě máme žebřík if… else… if , který lze použít k provedení jednoho bloku kódu mezi několika dalšími bloky.
if (condition1) ( // codes ) else if(condition2) ( // codes ) else if (condition3) ( // codes )… else ( // codes )
Zde if
jsou příkazy prováděny shora dolů. Když je testovací podmínka true
, if
spustí se kódy uvnitř těla tohoto bloku. A ovládání programu vyskočí ven, pokud … jinak … pokud je žebřík.
Pokud jsou všechny testovací výrazy, jsou prováděny false
kódy uvnitř těla else
.
Jak když … jinak … když žebřík funguje?

Příklad 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."); ) ) )
Výstup
Čí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 Javě je také možné použít if… else
příkazy uvnitř if… else
příkazu. Říká se tomu vnořený if… else
příkaz.
Zde je program, který pomocí vnořeného příkazu najde největší ze 3 čísel if… else
.
Příklad 5: Vnořeno, pokud … else Prohlášení
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 :
Největší počet: 4.5
Ve výše uvedených programech jsme si sami přiřadili hodnotu proměnných, abychom to usnadnili.
V aplikacích v reálném světě však tyto hodnoty mohou pocházet ze vstupních dat uživatele, souborů protokolu, odeslání formuláře atd.