Úvodní myšlenky
Podmíněné příkazy tvoří základ každého programovacího jazyka, Java nevyjímaje. Umožňují softwaru reagovat na různé situace, spouštět různé části kódu na základě splnění určitých kritérií. V Javě máme k dispozici několik typů těchto příkazů, každý s vlastním specifickým využitím.
Druhy podmíněných příkazů
1. Příkaz if
Nejjednodušší formou podmíněného příkazu je if
. Jeho účelem je provést určený blok kódu, pokud je daná podmínka pravdivá. Struktura tohoto příkazu je následující:
java
if (podminka) {
// Kód, který se spustí při splnění podmínky
}
Například kód níže vypíše na konzoli hlášku „Podmínka byla splněna“, pokud je hodnota proměnné x
vyšší než 10:
java
int x = 11;
if (x > 10) {
System.out.println(„Podmínka byla splněna“);
}
2. Příkaz if-else
Příkaz if-else
rozšiřuje funkčnost příkazu if
. Umožňuje specifikovat kód, který se má spustit, pokud podmínka není pravdivá. Jeho obecná podoba je následující:
java
if (podminka) {
// Kód pro případ, že je podmínka pravdivá
} else {
// Kód pro případ, že podmínka není pravdivá
}
Následující kód vypíše „Podmínka byla splněna“, pokud je x
větší než 10, a „Podmínka nebyla splněna“ v opačném případě:
java
int x = 9;
if (x > 10) {
System.out.println(„Podmínka byla splněna“);
} else {
System.out.println(„Podmínka nebyla splněna“);
}
3. Příkaz switch-case
Konstrukce switch-case
se používá, když potřebujeme rozlišit mezi více možnými stavy a reagovat na ně různými akcemi. Jeho struktura je následující:
java
switch (vyraz) {
case hodnota1:
// Kód pro případ, že se výraz rovná hodnota1
break;
case hodnota2:
// Kód pro případ, že se výraz rovná hodnota2
break;
// ...
default:
// Kód pro případ, že se výraz nerovná žádné z hodnot
}
Například následující kód vypíše konkrétní zprávu podle toho, jakou hodnotu má proměnná den
:
java
String den = "pondělí";
switch (den) {
case „pondělí“:
System.out.println(„Dnes je pondělí“);
break;
case „úterý“:
System.out.println(„Dnes je úterý“);
break;
// …
default:
System.out.println(„Není zadaný platný den“);
}
Logické výrazy v podmínkách
Podmínky v podmíněných příkazech jsou definovány pomocí logických výrazů. Ty využívají operátory jako &&
(a současně), ||
(nebo) a !
(negace) ke kombinování jednodušších podmínek do komplexnějších celků.
Následující výraz bude vyhodnocen jako pravdivý pouze v případě, že jsou obě proměnné x
a y
větší než 10:
java
x > 10 && y > 10
Následující výraz je pravdivý, pokud alespoň jedna z proměnných x
nebo y
je větší než 10:
java
x > 10 || y > 10
Viditelnost proměnných v blocích
Bloky kódu uvnitř podmíněných příkazů mají svou vlastní oblast platnosti. Proměnné deklarované uvnitř bloku jsou přístupné pouze v rámci tohoto bloku.
Při pokusu o přístup k proměnné y
z vnějšku bloku if
, jak ukazuje následující kód, dojde k chybě při kompilaci:
java
if (x > 10) {
int y = 20;
}
System.out.println(y); // Chyba kompilace
Závěrem
Podmíněné příkazy jsou nepostradatelným nástrojem pro tvorbu programů v Javě. Umožňují dynamické chování programu v závislosti na konkrétních podmínkách. S příkazy if
, if-else
a switch-case
můžeme řešit širokou škálu programátorských problémů. Zvládnutí správného používání těchto příkazů je klíčové pro vytváření kvalitního a spolehlivého kódu.
Často kladené otázky
1. Který příkaz slouží k provedení kódu pouze za splnění podmínky?
* Příkaz if
2. Jaký je rozdíl mezi příkazy if
a if-else
?
* Příkaz if-else
umožňuje definovat alternativní kód pro případ nesplnění podmínky.
3. Kdy je vhodné použít příkaz switch-case
?
* Pokud existuje více možných podmínek a pro každou z nich je třeba provést jinou akci.
4. Jaké operátory se používají pro kombinování podmínek?
* &&
(a současně), ||
(nebo) a !
(negace)
5. Mají bloky kódu v podmíněných příkazech vlastní viditelnost proměnných?
* Ano
6. Jaký bude výstup následujícího kódu?
java
int x = 11;
if (x > 10) {
System.out.println(„Podmínka byla splněna“);
} else {
System.out.println(„Podmínka nebyla splněna“);
}
* Podmínka byla splněna
7. Upravte kód tak, aby se vypsala zpráva „Dnes je pátek“, pokud je proměnná den
nastavena na „pátek“:
java
String den = "pátek";
// Doplňte kód
* switch (den) { case "pátek": System.out.println("Dnes je pátek"); break; // ... }
8. Jaká je správná syntaxe příkazu if
?
* if (podmínka) { // Kód }
9. Jaká je správná syntaxe příkazu switch-case
?
* switch (výraz) { case hodnota1: // Kód break; // ... default: // Kód }
10. Jaký je účel operátoru !
?
* Obrátí logickou hodnotu (true na false a naopak).