C# - 2. diel
Premenné, typy premenných a základná manipulácia s nimi.
Minulý diel vám ponúkol základ a uvedenie do sveta C#. V dnešnom dieli sa dozviete, ako vytvoriť premenné, priradiť im hodnotu a pracovať s nimi.
Premenné
Premenné (variables) sú lokácie úložísk hodnôt, ktoré majú svoje symbolické meno.
Premenná sa dá vyjadriť pre nováčikov ako šuflík (spisovne zásuvka). Tento šuflík má svoje číslo a svoju veľkosť. Keď kompilátor narazí počas kompilačného procesu na deklaráciu premennej, zapamätá si meno premennej a spojí si to s nejakým číslom. Ďalšej premennej teda priradí šuflík s číslom ((číslo predošlého šuflíka) + veľkosť). A takto sa teda vytvoria symbolické mená. Programátor tak už nemusí pracovať s číslom, a potom s číslom väčším o niečo. Nemusí mať prehľad o pozíciach a veľkostiach. Pracuje už len s menom premennej. Tento postup sa všeobecne v C-like jazykoch nazýva statická alokácia premenných.
Keď sa program začína, všetky šuflíky sú voľné. Keď sa premennej 'a' priraďuje číslo 5, presunie sa číslo do šuflíkov od čísla začiatočného šuflíka. Ďalšia premenná sa presunie už vyššie o veľkosť predošlej. A tak to beží.
Vysvetlenie základných pojmov:
Deklarácia pri spracovávaní kompilátorom hovorí, že vždy keď sa napíše meno premennej, má s ňou rátať ako s lokáciou. Pri deklarácii sa teda vyhradí pamäť a symbolu sa priradí nová lokácia.
Definícia uloží hodnotu na priradenú lokáciu hodnotu. Dá sa tiež brať ako priradenie (assignment).
V jazyku C# sa premenná deklaruje takto:
Typ NazovPremennej;
Dôležitá je bodkočiarka.
Deklarácia vyzerá asi takto:
NazovPremennej = vyraz;
Samotné priradenie sa dá niekedy brať ako výraz.
Niekedy sa deklarácia a priradenie spoja:
Typ NazovPremennej = vyraz;
Typy premennej sa delia na základné a rozšírené. Základné sú tie, s ktorými pracuje aj IL (výnimka boolean). Nazývajú sa inak aj ako primitívne dátové typy. Rozšírené sú triedy a štruktúry či 'výčty' (enum) vytvorené buď vami, alebo uložené v referenciách. Tu je prehľad základných typov premenných a ich základných hodnôt:
| Názov | Alias | Veľkosť | Hodnoty |
|---|---|---|---|
| byte | System.Byte | 1 bajt (8 bitov) | Celé číslo od 0 do 255 |
| short | System.Int16 | 2 bajty (16 bitov) | Celé číslo od -32 768 do +32 767 |
| int | System.Int32 | 4 bajty (32 bitov) | Celé číslo od -2 147 483 648 do +2 147 483 647 |
| long | System.Int64 | 8 bajtov (64 bitov) | Celé číslo od –9 223 372 036 854 775 808 do +9 223 372 036 854 775 807 |
| float | System.Single | 4 bajty (32 bitov) | Celé číslo od ±1.5 × 10^−45 do ±3.4 × 10^38, presnosť 7 číslic |
| double | System.Double | 8 bajtov (64 bitov) | Celé číslo od ±5.0 × 10^−324 do ±1.7 × 10^308, presnosť 15-16 číslic |
| char | System.Char | 2 bajty (16 bitov) | 16 bitové Unicode znaky obsiahnuté v apostrofoch. Veľmi často sa využíva konverzia z čísla. |
| string | System.String | presnejšie nešpecifikovaná | reťazec Unicode znakov |
| bool | System.Boolean | presnejšie nešpecifikovaná | true alebo false |
| object | System.Object | presnejšie nešpecifikovaná | Akákoľvek hodnota alebo premenná hocijakého typu |
1. Poznámka: Typ bool v skutočnosti ani neexistuje. Jeho veľkosť je teoreticky 32 bitov (4 bajty ako pri int) a jeho hodnoty sú 0(false) a 1(true). Prečo? Premenné typu bool neexistujú ani v assembleri, ani v 'machine code' - strojovom kóde. IL teda pracuje s integermi (int) 0 a 1 ako s true a false.
2. Poznámka: Typ object je alias pre triedu System.Object, od ktorej sú implicitne odvodené všetky triedy napísané v jazyku C#. Pre to je možné priradiť typu object hocijakú hodnotu alebo premennú.
3. Poznámka: Aliasy sú typy obsahujúce metódy pre správu hodnôt daného typu.
No dobre. Teraz, keď ste už zoznámení s primitívnymi typmi jazyka C#, môžeme sa pustiť do prác s premennými. V prvom rade si deklarujeme a nastavíme zopár premenných, s ktorými budeme neskôr pracovať.
byte a = 5; int sedem = 7; double pi = 3.14; string vitaj = "Vitajte v mojom programe"; char znak = '$';
Ako vidíte, deklarácia a priraďovanie hodnôt je veľmi jednoduché. Dajte si ale pozor na rozdiel medzi apostrofmi a úvodzovkami. Apostrofy používajte len pri type char. Úvodzovky používajte len pri type string.
Poznámka: Je dobrým zvykom deklarovať si čo najväčšie množstvo premenných použitých v metóde hneď na začiatku a oddeliť ich od výkonného kódu prázdnym riadkom. Zvyšuje to prehľadnosť a pomáha vám to pri rozplánovaní kódu.
Vo všeobecnosti by ste nemali priraďovať číselným typom jazyka C# väčšie alebo členitejšie (viac desatinných miest) než sú schopné uskladniť. Môže to viesť k chybe počas kompilácie alebo počas behu programu. Rozhodne by ste taktiež nemali miešať celé a desatinné čísla.
Základné práce s premennými
Premenné rovnakého (niekedy aj rozdielneho, o tom bude reč neskôr) typu si medzi sebou môžu vymieňať hodnoty. Samotné kopírovanie je jednoduché. Namiesto hodnoty umiestnite meno premennej.
int desat = 10; int cislo = desat;
Táto operácia sa nazýva priradenie alebo kopírovanie premenných(v prípade že sa jedná o referenčný typ, ide už o niečo iné).
Samozrejme, niekedy je v programovaní potrebná aj matematika. V reálnych počtoch používame číselné honoty.
10 x 5 : 8^2 - 7.589
Medzi jednotlivými hodnotami sa nachádzajú matematické operátory, ktoré hovoria počítajúcemu, ako operáciu má previesť s danými číslami.
V programovaní je tomu tak isto. Existujú operátory ktoré oznamujú kompilátoru, ako má preložiť využitie jednotlivých premenných a metód. Nižšie sa nachádza prehľad základných matematických operátorov:
| + | Sčítanie alebo spájanie reťazcov |
| - | Odčítanie |
| * | Násobenie |
| / | Delenie |
| % | Delenie so zvyškom, vracia sa zvyšok. |
Jednotlivé operátory môžeme podľa významu vkladať medzi premenné, volania a hodnoty.
int janko = 10; int marienka = 50; int striga = 1000; double rozpravkovePostavy = janko + marienka / striga;
Niekedy je nutné niektorú z operácii uprednostniť. Na to slúžia zátvorky.
double rozpravkovePostavy = (janko + marienka) / striga;
Jednotlivé operátory (okrem delenia) vracajú celé číslo. Operácia delenia vracia desatinné číslo. Ak je však v iných operáciach použité aspoň jedno desatinné číslo (alebo premenná), bude výsledok taktiež desatinným číslom.
Pomedzi hodnoty a premenné sa do matematických operácií dajú zakomponovať aj volania metód. Nesmiete však zabúdať na zátvorky a argumenty v nich.
double rozpravkovePostavy = (janko + marienka) + striga + PernikovaChalupka.ZoberVek();
Momentálne ste zoznámení so základmi operácií v jazyku C#. Môžete pokračovať čítaním ďalšieho dielu.
0 komentárov k článku:
Komentovať môžu iba prihlásení
Zaregistruj sa cez bezplatnú registráciu alebo použi login cez Facebook (FB Connect)
Prihlás sa tu, ak už máš profil na Zajtra.sk:
Novinky
10 hod.
Kim Dotcom: Vynašiel som dvojfaktorovú autentifikáciu, Google a Facebook porušujú môj patent
Kim Dotcom, zakladateľ Spojenými štátmi rozloženej služby pre zdieľanie súborov Megaupload, dnes prekvapil vyhlásením, že vynašiel dvojfaktorovú autentifikáciu a mnohé spoločnosti vrátane Google, Facebooku a Twitteru porušujú jeho patent.
10 hod.
Internet Explorer 10 chráni pred vírusmi viac ako konkurencia
Používatelia najnovšieho Internet Explorera sú pred škodlivými súbormi chránení viac ako priaznivci konkurenčných internetových prehliadačov...
10 hod.
Xbox One: technologický rozbor nového hardwaru
Microsoft po Sony představil novou generaci vlastní konzole Xbox One, která po osmi letech přináší konečně moderní hardware. Chcete vědět podrobné detaily?
10 hod.
Samsung predal 10 miliónov S4, za menej ako mesiac
Spoločnosť Samsung dosiahla u svojho nového najvyššieho modelu smartfónu Galaxy S4 hranicu desať miliónov predaných kusov.
1 dňom
Microsoft paroduje Google Chrome. Zarába na vás, odkazuje (video)
Konfrontácia medzi spoločnosťami Microsoft a Google pokračuje. Okrem ultimáta týkajúceho sa aplikácie YouTube sa najnovšie na internete objavilo video, ktorého hlavnou obeťou sa stal čoraz populárnejší internetový prehliadača Google Chrome.
Staršie novinky »TOP dlhšie
- 01 3 praktické CSS postupy, o ktorých ste možno nevedeli... (4795x)
- 02 3 jednoduché kroky ako spraviť responzibilný dizajn webu (4088x)
- 03 Fenomén doby: Dosť bolo transparentných ikoniek! (3906x)
- 04 PayPerPost.sk - zarábajte s webom na článkoch (3661x)
- 05 Prečo sa chcem naučiť programovať web stránky? (3573x)
- Aj ty môžeš byť najčítanejší. Napíš článok »
TOP tento mesiac
- 01 Mobil Rulezz: Najlepšia brandovaná aplikácia z agentúry SCR (986x)
- 02 Poctivým zľavovým serverom sa naďalej darí (963x)
- 03 HTML WebSocket - chat v node.js za 5 minút (798x)
- 04 Nová affiliate reklamná sieť z dielne VISIBILITY (732x)
- 05 Magazín Womanman už aj v Apple aplikácii (141x)
- Aj ty môžeš byť najčítanejší. Napíš článok »
Nové články:
- 19.HTML WebSocket - chat v node.js za 5 minút
máj - 14.Poctivým zľavovým serverom sa naďalej darí
máj - 9.Nová affiliate reklamná sieť z dielne VISIBILITY
máj - 26.Mobil Rulezz: Najlepšia brandovaná aplikácia z agentúry SCR
apr - 26.Magazín Womanman už aj v Apple aplikácii
apr - Viac »
- Aj ty môžeš byť najčítanejší. Napíš článok »
Pekné veci
Pekné veci
Pekné veci
Pekné veci
Kritika
Vieš ako robiť veci lepšie? Pomôž našim odvážnejším členom a skritizuj im projekty!
Reklama
Slovenská IT komunita
Seriály zo Zajtra.sk
· Ako písať blog
· Ako sa stať PHP ninja s Yii Frameworkom
· Aplikácie pre Facebook
· CSS triky
· iOS vývojára príhody a skúsenosti
· Modelovanie webového sídla
· Nauč sa CodeIgniter [HD]
· Nauč sa jQuery [HD]
· Nette PHP framework
· OOP v Javascripte
· Slovenskí iOS developeri
· Yablkov TurboTip [HD]



















Posledné komentáre