Jak psát podmíněné příkazy v Javě

Ú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).