C# - 3.díl - Proměnné, datové typy

Zdroj: SOOM.cz [ISSN 1804-7270]
Autor: sukovanej
Datum: 12.10.2012
Hodnocení/Hlasovalo: 1.43/7

V třetím díle tohoto seriálu si vysvětlíme, co jsou to datové typy, proměnné a konstanty. Ukážeme si, jak provádět konverze mezi datovými typy a jak používat operátory.

Komentáře

Při psaní programových kódu se pro větší přehlednost a pozdější aktualizaci používají komentáře. Jsou to libovolné textové řetězce, které překladač úplně ignoruje.

// Jednoduchý komentář na jeden řádek
/*
	Složitější komentář na 
	více řádků
*/
/// 
/// Dokumentační komentář
/// 
/// Popis proměnné<;/param>
/// Druhý popis proměné

Proměnné a datové typy

Proměnná je symbolické označení objektu, hodnoty atp. Jaké hodnoty do proměnné můžeme ukládat a jaké s nimi můžeme provádět operace určuje datový typ.

S datovými typy, které dovolují číselné hodnoty, můžeme provádět operace sčítání (+), odčítání (-), násobení(*), dělení(/) a zbytek po celočíselném dělení (%). Některé takovéto datové typy jsou zaznamenané v tabulce níže.

Datový typ Popis Příklad
Int Celé číslo 1024
Double Reálné číslo s 15 desetinými místy 3.14
Decimal Desetinné čísla s 28 desetinými místy
Byte Celé číslo v rozmezí od 0 do 255 123

Deklarace číselné proměnné

Proměnnou deklarujeme zapsáním datového typu a identifikátoru. Identifikátor je jakákoli posloupnost znaků, kterou není definováno nějaké klíčové slovo jazyka C# (např. int, else, void,...). Také nesmí obsahovat znaky jako \/|*<> apod., může ale obsahovat podtržítko. Také se držte dále od používá písmen s diakritikou. Na konci deklarace nesmíme zapomenout na středník, neboť jde o konec příkazu. Pro přiřazení hodnoty do proměnné použijeme rovnítko a přiřazovanou hodnotu. V příkladu níže si můžete povšimnout jednořádkového zápisu, v němž je zahrnuta jak deklarace proměnné, tak i přiřazení hodnoty.

int datum_narozeni; // Deklarace proměnné
datum_narozeni = 1996; // Určení její hodnoty

/* Ekvivalentní zápis */

int datum_narozeni = 3.14; // Deklarování a přiřazení hodnoty proměnné

Deklarace znakové proměnné

Pro práci s textovými posloupnostmi je v jazyku C# přichystán datový typ string, jímž definujeme libovolně dlouhý text. Naproti tomu typ char přijímá pouze jeden znak. Při deklaraci a přiřazování hodnot proměnné postupujeme stejně jako u číselných hodnot, jen s tím rozdílem, že definovanou hodnotu uzavřeme mezi uvozovky.

string palindrom; // Deklarace proměnné
palindrom = "Bude mít sup kata? Žito totiž? A tak pustíme dub." ; // Určení její hodnoty 

/* Ekvivalentní zápis */

string palindrom = "Bude mít sup kata? Žito totiž? A tak pustíme dub." // Deklarování a přiřazení hodnoty proměnné

Konstanty

Konstanty nejsou nic jiného, než proměnné, u kterých nelze měnit hodnotu, protože nepředpokládáme, že se bude měnit. Definuje se pomocí klíčového slova const.

const double pi = 3.141; // Deklarace Ludolfovy konstanty

Typové konverze

Pro typové verze jsou v .Netu připraveny metody, dokáží převést jeden datový typ na jiný (např. string na int).

Konverze a třída Convert

Typové konverze můžeme snadno provádět pomocí třídy Convert, která poskytuje metody pro převod zadaných proměnných do jednotlivých datových typů. Tabulka níže některé z nich zobrazuje. Pro další typy, než uvádí tabulka níže, si stačí najít analogicky metodu s příslušným označením v třídě Convert.

Zápis Konverze
Convert.ToString(objekt) Převede zadaný objekt na String (text)
Convert.ToInt(objekt) Převede zadaný objekt na Int (celé číslo)
Convert.ToDouble(objekt) Převede zadaný objekt na Double (desetinné číslo)

Abychom si ukázali užitečnost a použitelnost, začneme v tomto momentě s programováním dnešní ukázkové aplikace. Bude se jednat o program, jemuž zadáte jako vstup poloměr kruhu a program vypočítá jeho obsah a obvod.

Sestavení algoritmu

Nejdříve si definujeme konstantu PÍ (Ludolfovo číslo) s přesností např. na 10 desetinných míst. Na formuláři budeme mít jedno jedno tlačítko. PO kliknutí na toho tlačítko zobrazíme informace o výsledku pomocí komponenty Label (popisek). Obvod kruhu je definován jako násobek PI s průměru (čili dvakrát poloměr) a obsah jako násobek PI a čtverce poloměru kruhu.

const double PI = 3.1415926535; // Definujeme se PI

private void button1_Click(object sender, EventArgs e)
{
	double polomer = Convert.ToDouble(textBox1.Text); // Získání poloměru
	double obvod = 2 * PI * polomer; // Výpočet obvodu
	double obsah = PI * polomer * polomer; // Výpočet obsahu

	label1.Text = "Výsledek - S = " + obsah.ToString() + " cm2, o = " + obvod.ToString() + " cm"; 
}

Zdrojový kód předpokládá, že máme na formuláři tlačítko Button1, pole textBox1 a popisek label1. Na základě toho, co jsme již řekli, by až na předposlední řádek nemělo nic dělat problém. V předposledím řádku jsem použil metodu ToString() u proměnné obsah a obvod. Tuto metodu obsahuje každý objekt, proměnná, vlastnost atp. Slouží k převodu na datový typ string.

Na závěr

To je k tomuto dílu vše. V dalším se podíváme na větvení programu s pomocí podmínek.