Cvičení – tisk hodnot literálů
V tomto cvičení vytisknete zprávy obsahující jiné typy dat a dozvíte se, proč jsou datové typy v jazyce C# tak důležité.
Co je hodnota literálu?
Hodnota literálu je konstantní hodnota, která se nikdy nemění. Dříve jste do výstupní konzoly zobrazili literálový řetězec. Jinými slovy, doslova jste chtěli, aby se řetězec alfanumerických znaků H
, e
, l
, l
, o
atd. zobrazil ve výstupní konzole.
Datový typ řetězce používejte vždy, když máte alfanumerická slova, fráze nebo data pro prezentaci, nikoli výpočet. Jaké další druhy literálových dat můžete vytisknout do výstupu?
Cvičení – tisk různých datových typů literálů
V jazyce C# je mnoho datových typů. Při zahájení práce ale potřebujete vědět jenom o pěti nebo šesti datových typech, protože pokrývají většinu scénářů. Pojďme zobrazit literální instanci datového typu pro výstup.
Poznámka:
Když začnete pracovat v okně kódu, můžete si všimnout, že každá syntaxe má jinou barvu, která označuje klíčová slova, operátory, datové typy apod. Proto si začněte všímat barev. Pomůže vám odhalit chyby syntaxe při zadávání znaků a pomůže vám lépe porozumět kódu.
Použití literálů znaků
Pokud jste chtěli vytisknout jenom jeden alfanumerický znak na obrazovku , můžete vytvořit literál znaku tak, že v jednoduchých uvozovkách obklopíte jeden alfanumerický znak. Termín char
je zkratka pro znak. V jazyce C# se tento datový typ oficiálně jmenuje "char", ale často se označuje jako "znak".
Do editoru kódu přidejte následující řádek kódu:
Console.WriteLine('b');
Sledujte kód, který jste zadali.
Všimněte si, že písmeno
b
je obklopeno jednoduchými uvozovkami'b'
. Jednoduché uvozovky vytvářejí literál znaků. Vzpomeňte si, že použití dvojitých uvozovek vytvořístring
datový typ.Stisknutím zeleného tlačítka Spustit spusťte kód. V okně výstupu by se měl zobrazit následující výsledek:
b
Pokud zadáte následující kód:
Console.WriteLine('Hello World!');
Zobrazí se následující chyba:
(1,19): error CS1012: Too many characters in character literal
Všimněte si jednoduchých uvozovek kolem Hello World!
. Když použijete jednoduché uvozovky, kompilátor jazyka C# očekává jeden znak. V tomto případě se však použila syntaxe literálu znaků, ale místo toho bylo zadáno 12 znaků.
Stejně jako u datového string
typu se používá char
vždy, když máte pro prezentaci jeden alfanumerický znak (ne výpočet).
Použití celočíslovných literálů
Pokud chcete ve výstupní konzole zobrazit číselnou hodnotu celého čísla (bez zlomků), můžete použít int literál. Termín int
je zkratka pro celé číslo, které můžete rozpoznat ze studia matematiky. V jazyce C# se tento datový typ oficiálně jmenuje "int", ale často se označuje jako "celé číslo". Literál int
nevyžaduje žádné jiné operátory, jako je operátor nebo string
char
.
Do editoru kódu přidejte následující řádek kódu:
Console.WriteLine(123);
Stisknutím zeleného tlačítka Spustit spusťte kód. Ve výstupní konzole by se měl zobrazit následující výsledek:
123
Použití literálů s plovoucí desetinou čárkou
Číslo s plovoucí desetinnou čárkou je číslo, které obsahuje desetinné číslo, například 3,14159. Jazyk C# podporuje tři datové typy, které představují desetinná čísla: float
, double
a decimal
. Každý typ podporuje různé stupně přesnosti.
Float Type Precision
----------------------------
float ~6-9 digits
double ~15-17 digits
decimal 28-29 digits
Tady přesnost odráží počet číslic za desetinnou čárkou, které jsou přesné.
Do editoru kódu přidejte následující řádek kódu:
Console.WriteLine(0.25F);
Pokud chcete vytvořit
float
literál, připojte písmenoF
za číslo. V tomto kontextu seF
označuje jako přípona literálu. Přípona literálu říká kompilátoru, který chcete pracovat s hodnotoufloat
typu. Jako příponu literálu pro písmeno můžete použít maláf
nebo velkáF
písmenafloat
.Stisknutím zeleného tlačítka Spustit spusťte kód. Ve výstupní konzole by se měl zobrazit následující výsledek:
0.25
Všimněte si, že
float
datový typ je nejpřesnější, proto je nejlepší tento datový typ použít pro pevné desetinné hodnoty, abyste se vyhnuli neočekávaným chybám výpočtu.Do editoru kódu přidejte následující řádek kódu:
Console.WriteLine(2.625);
Pokud chcete vytvořit
double
literál, stačí zadat desetinné číslo. Kompilátor použije výchozídouble
literál, pokud je zadáno desetinné číslo bez přípony literálu.Stisknutím zeleného tlačítka Spustit spusťte kód. V okně výstupu by se měl zobrazit následující výsledek:
2.625
Do editoru kódu přidejte následující řádek kódu:
Console.WriteLine(12.39816m);
Pokud chcete vytvořit literál typu decimal, připojte za číslo písmeno
m
. V tomto kontextu sem
označuje jako přípona literálu. Přípona literálu říká kompilátoru, který chcete pracovat s hodnotoudecimal
typu. Jako příponu literálu pro písmeno můžete použít malám
nebo velkáM
písmenadecimal
.Stisknutím zeleného tlačítka Spustit spusťte kód. Ve výstupní konzole by se měl zobrazit následující výsledek:
12.39816
Použití logických literálů
Pokud chcete vytisknout hodnotu představující jednu true
nebo false
, můžete použít logický literál.
Termín bool
je krátký pro logickou hodnotu. V jazyce C# se oficiálně označují jako "bool", ale vývojáři často používají termín "Boolean".
Do editoru kódu přidejte následující řádky kódu:
Console.WriteLine(true); Console.WriteLine(false);
Stisknutím zeleného tlačítka Spustit spusťte kód. Ve výstupní konzole by se měl zobrazit následující výsledek:
True False
Literály bool
představují myšlenku pravdy a nepravdnosti. Když začnete do svých aplikací přidávat rozhodovací logiku, použijete bool
hodnoty značně. Vyhodnocujete výrazy, abyste zjistili, jestli je výraz pravdivý nebo nepravda.
Proč klademe takový důraz na datové typy?
Datové typy hrají v jazyce C# důležitou roli. Ve skutečnosti je důraz na datové typy jedním z klíčových rozlišujícího rysu jazyka C# v porovnání s jinými jazyky, jako je JavaScript. Návrháři jazyka C# chtěli vývojářům pomoci, aby se dokázali vyhnout nejčastějším softwarovým chybám tím, že datové typy vynutí. S tímto principem se setkáte při dalším studiu jazyka C#.
Datové typy definují možnosti
Dříve jste viděli, že string
s a char
s se používají pro "prezentaci, ne výpočet". Pokud chcete s číselnými hodnotami provádět matematické operace, musíte použít int
nebo decimal
. Pokud máte data používaná pro manipulaci s prezentací nebo textemstring
, měli byste použít datový typ.char
Předpokládejme, že potřebujete shromažďovat data od uživatele, například telefonní číslo nebo PSČ. V závislosti na zemi nebo oblasti, ve které žijete, se tato data můžou skládat z číselných znaků. Telefonní čísla a PSČ pravděpodobně nepoužíváte k matematickým výpočtům, a proto můžete k práci s těmito daty použít datový typ string
.
To samé platí pro bool
. Pokud v aplikaci potřebujete pracovat se slovy "true"
a "false"
, použijte string
. Jestli ale potřebujete s výrazy true
a false
pracovat při vyhodnocení, použijte bool
.
Je důležité vědět, že tyto hodnoty můžou vypadat jako rovnocenné řetězcové literály. Jinými slovy se může zdát, že tyto výrazy jsou stejné:
Console.WriteLine("123");
Console.WriteLine(123);
Console.WriteLine("true");
Console.WriteLine(true);
Je to ale jenom zobrazený výstup, který se zdá být podobný. Ve skutečnosti platí, že s datovými typy int
a bool
můžete provádět jiné operace než s jejich ekvivalentem typu string
.
Rekapitulace
Hlavním poznatkem je, že existuje mnoho datových typů, ale prozatím se zaměříte jen na několik:
string
pro slova, fráze nebo jakákoli alfanumerická data pro prezentaci, ne výpočetchar
pro jeden alfanumerický znakint
pro celé číslodecimal
pro číslo se zlomkovou komponentoubool
true
/false
pro hodnotu