Seriály

Swift akademie pro začátečníky: logické operátory #3

V předešlém díle jsme probrali poněkud těžší témata, dnes si tedy ukážeme o trochu lehčí věci, ale na druhou stranu velmi používané části programovacího jazyka Swift.

V tomto díle se naučíme základy logických operátorů. 

Budeme učit tyto druhy:

Aritmetické

Porovnávací

Ternární (podmíněnné)

Aritmetické operátory

Aritmetické operátory všichni známe, používají se v matematice: + , – , / , *

Použití v kódu vypadá takto:

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Možná si řeknete, proč proměnná podíl je 10? Neměla by mít i nějaká desetinná čísla? Je to z prostého důvodu. Proměnnou číslo1 ani proměnnou číslo2 jsme neoznačili jakou Double. Swift si odvodil, že ji chceme používat jako Int, protože jsme její hodnotu nastavili na celé číslo. Ve Swiftu nemůžeme jen tak chtít po celém čísle, aby se vydělilo jiným celým číslem. Pokud chceme získat přesný výsledek podílu čísla1 a čísla2 musíme specifikovat, že chceme aby se tyto dvě celá čísla chovala jako Double. Použijeme specifikování datového typu:

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Teď už nám Swift rozumí, že i když je číslo1 celé, my chceme aby k němu přistupoval jako k desetinnému (Double).

Porovnávací operátory 

Jak už vyplývá z názvu, porovnávací operátory něco porovnávají. Mohou porovnávat všechny datové typy. Pozor, mezi sebou můžeme porovnávat jen stejné datové typy (String se Stringem), porovnávací operátory vždy vrátí Boolean. Operátory jsou:

A se rovná b    a == b

A se nerovná b     a != b

A je větší než b     a > b

A je menší než b     a < b

A je vetší nebo rovná se b     a >= b

A je menší nebo rovná se b     a <= b

Nikdy si nesmíme plést = a ==. = znamená, že k nějaké proměnné přiřadíme novou/jinou hodnotu, == znamená, že se dvě proměnné/hodnoty rovnají. Vytvoříme si příklad:

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Když napíšeme tento kód, můžeme kliknout na tlačítko spustit.

Po pravé straně uvidíme výsledek kódu, aniž bychom museli něco printovat:

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Jak můžeme vidět, a == b je fasle. To znamená, že a se nerovná b, což je v tomto případě pravda.

Porovnávací operátory se používají hlavně v podmínkách a cyklech, ty zatím neumíme. Porovnávat nemusíme jen čísla, ale můžeme i všechny ostatní datové typy:

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Z tohoto kódu bychom měli všemu rozumět, jediné co nás může zarazit je text2.count a text1.count. Když napíšeme nášString.count, kód nám vrátí, kolik náš textový řetězec obsahuje znaků. 

text2.count bude 3

text1.count bude 4

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Jak můžeme vidět, počet znaků v textu2 není větší než v textu1. 

Ternární (podmíněnné)

Ternární operátory se ve Swiftu používají zřídka, hlavně kvůli přehlednosti kódu. I když se tolik nepoužívají, alespoň si je ukážeme:

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Nejdříve se kódu zeptáme pomocí porovnávacího operátoru ==, zda proměnná prvníČíslo a proměnná druhéČíslo mají stejnou hodnotu. Co se má stát je vždy za otazníkem a možnosti, které se mají stát oddělujeme dvojtečkou. První možnost (v tomto případě “Čísla jsou stejná) se nám vrátí, pokud část kódu před otazníkem vyjde true. Druhá možnost (v tomto případě “Čísla nejsou stejná”) se nám vrátí, pokud část kódu před otazníky vyjde false.

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

V outputu nám ternární operátor vrátil “Čísla nejsou stejná”. Ternární operátor se vždy řídí následujícím schématem: 

pokud číslo1 == číslo2 tak ? Tato možnost se stane pokud vyjde true : Tato možnost se stane pokud vyjde false

Shrnutí

  1. Ve Swiftu se používájí aritmetické operátory stejně, jako v matematice
  2. Porovnávacími operátory můžeme porovnávat jen stejné datové typy
  3. Porovnávací operátory vždy vrátí Boolean – true nebo false
  4. Ternární operátor se používá zřídka, namísto něho se používají podmínky
  5. Všechny textové řetězce mají metodu .count. Metoda nám spočítá počet znaků v našem textovém řetězci.

Místo ternárních operátorů se ve Swiftu častěji používají podmínky, funguji na skoro stejné logice. Příště si vysvětlíme a ukážeme podmínky a Switche.

Štítky

Matyáš Himmer

Fanoušek Applu od roku 2011, rád fotím a programuji. Články píši ve svém volném čase, studuji informační technologie na SSPŠ.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

Close