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… elseJavě 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ď truenebo false.
- pokud je podmínka vyhodnocena
true,ifjsou provedeny příkazy uvnitř těla - pokud je podmínka vyhodnocena
false, příkazy uvnitř tělaifjsou přeskočeny
Jak když prohlášení funguje?
Práce s příkazem Java if
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 ifbloku 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 ifbloku.
2. Příkaz Java if… else (if-then-else)
Příkaz ifprovede 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ý elseblok. Příkazy uvnitř těla elsebloku 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ř ifbloku), pokud je podmínka splněna, truea další úkol (kódy uvnitř elsebloku), pokud je podmínka splněna false.
Jak funguje příkaz if… else?
Práce s příkazy Java 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> 0zkontroluje, zda je číslo větší než 0.
Protože hodnota čísla je 10, testovací výraz se vyhodnotí na true. Proto ifje 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 elseje 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 ifjsou příkazy prováděny shora dolů. Když je testovací podmínka true, ifspustí 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 falsekódy uvnitř těla else.
Jak když … jinak … když žebřík funguje?
Funguje-li … jinak … je-li žebřík
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… elsepříkazy uvnitř if… elsepříkazu. Říká se tomu vnořený if… elsepří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.








