Swift akademie pro začátečníky: podmínky a switche #4
V minulém díle jsme se naučili operátory. Neměli jsme však možnost si ukázat jejich plné využití. V dnešním díle si tedy představíme další velkou část Swiftu, kterou jsou podmínky.
Co jsou to vlastně podmínky?
Jak vysvětlil Bill Gates v tomto videu, každý z nás používá podmínky každý den. Pokud prší tak si vezmu deštník. Rovnou si tedy můžeme na tomto příkladu ukázat, jak takovou podmínku napíšeme v kódu.
Vysvětlíme si tyto řádky jednu po druhé:
Řádkou 3 si vytvoříme konstantu budeDnesPršet
Řádkou 5 si vytvoříme podmínku (v angličtině if statement), pokud se konstanta budeDnesPršet rovná true, všechen kód co napíšeme mezí { } se spustí
else
Možná si říkáte, a co když hodnota konstanty budeDnesPršet bude false?
Když hodnota bude false, kód mezi dvěma { } se nespustí. Output bude prázdný.
K tomuto se používá else. Opět si ukážeme si příklad:
Pokud podmínka u slova if nebude pravdivá, Swift přeskočí první kód a rovnou spustí druhý
Podmínky můžeme také vrstvit. Uvedeme si příklad:
Tento kód by měl být sám o sobě pochopitelný. První podmínka v sobě má druhou podmínku, která v sobě má třetí podmínku a tak dále. Pokud všechny podmínky budou pravdivé. V outputu se nám zobrazí text Páté číslo je větší než všechny ostatní.
Pokud jedna z podmínek nebude pravdivá v outputu se nám nezobrazí nic. Kdybychom to chtěli opravit, stačí jen implementovat else bloky.
Po implementaci else bloků už output nikdy nebude prázdný.
Kombinování podmínek
Kombinováním podmínek se můžeme zeptat na dvě nebo více podmínek v jedné řádce.
K tomu použijeme dva nové operátory:
|| – nebo
&& – a
Uděláme si příklad:
Operátor && spustí kód v { } jen pokud, že obě podmínky vyjdou true. Kdyby třeba konstanta vek1 byla menší než 18 kód se nespustí.
Druhý příklad:
Operátor || spustí kód v { } jen pokud, že alespoň jedna z podmínek vyjde true. Kdyby třeba konstanta vek1 byla menší než 18 kód se i tak spustí.
Switch
Switche jsou podobné podmínkám a někomu přijdou i lehčí. Pozor, podmínky nelze zcela nahradit prostřednictvím switch! Opět si vytvoříme příklad a vysvětlíme, jak je vytvořit:
Právě vidíme hodně nového kódu. Vše si vysvětlíme.
Vytvoříme si konstantu pocasi s hodnotou Slunečno
Poté si vytvoříme switch do kterého přidáme možné případy pomocí slova case. Na rozdíl od podmínek Switch musí vždy něco vrátit, k tomu nám pomáhá slovo default. Pokud žádná z case nebude odpovídat naší konstantě, proběhne kód v bloku default.
Range operátor + Switch
Ve Switch se často používá nový logický operátor, který jsme si ještě nepředstavili.
Range operátorem určujeme rozmezí čísel. Znovu si ukážeme příklad:
Range operátor není komplikovaný. Jednoduše si určíme rozmezí pomocí tří teček. Také existuje syntaxe 1..<4. To znamená, že rozmezí od čísla 1 až do čísla menšího než 4.
fallthrough
Fallthrough je další funkce, která se používá v kombinaci se Switch. Switch vždy spustí jen jeden uvedený kód. Pokud chceme, aby se spustily dva nebo více kódů, musíme na poslední řádek našeho kódu napsat slovo fallthrough. Uděláme si příklad:
Fallthrough můžeme ve switch použít kolikrát chceme. Kdybychom fallthrough napsali na konec každého case, spustí se všechny řádky kódu.
Shrnutí
- Podmínky se vytváří pomocí slova if
- Slovo else nám napomáhá k určení co se má stát, když podmínka nebude pravdivá
- Pokud použijeme operátor || ke spuštění kódu stačí, aby jen jedná z podmínek byla pravdivá.
- Pokud použijeme operátor && ke spuštění kódu je potřeba, aby všechny zadané podmínky byly pravdivé.
- Switch vždy musí mít alespoň nějaký výsledek. Výchozí výsledek určíme pomocí slova default
- Range operátory vyjadřují rozmezí a to pomoci dvou syntaxí. … a ..<
- Slovo fallthrough použijeme v případě, že chceme aby se spustilo více bloků kódu v našem Swich.
Právě jste úspěšně dokončili další díl našeho seriálou – gratuluji! V příštím díle si vysvětlíme funkce. Programování není lehké, kdybyste si s něčím nebyli jisti, nebo jste si nevěděli rady, rád vám na vaše dotazy odpovím v diskuzi.
Zdravím Matyáši,
musím vás pochválit. Úvod do swiftu je skvěle popsán, žádné zbytečnosti. Jsem zvědavý, kam až seriál dojde? 🙂
Dostaneme se i na vytvoření jednoduché appky a nahrání na appstore?
PS: obrázek vrstvení konstanta let cislo5 = 2, mělo by tam být 5.
Těším se na další díl 🙂
Petr.
Zdravím Petře,
jsem rád, že Vás seriál baví a máte o něj zájem. K tvorbě aplikací se časem můžeme dostat, ale abyste mohl aplikaci nahrát na App Store, musíte si koupit Apple Developer Program, který stojí 100$. Pokud by se vám za něj nechtělo platit, je možnost, si vaši aplikaci zdarma nahrát do vašeho zařízení.
Kdybyste měl jakékoliv další dotazy, neváhejte se zeptat. 🙂
Přeji hezký den
Matyáš Himmer
Matyáš Himmer