Základy C# – premenné, prvý program, podmienky, cyklus. To sa dozvieš v tomto článku a v priloženom videu na konci.
Premenné
Premenné slúžia na uchovanie informácii (dát) počas behu programu. Premenná v sebe uchováva hodnotu, alebo odkaz na objekt. Tým sa rozlišujú dva typy premenných. Tie, ktoré uchovávajú hodnotu sa nazývajú value typy a tie, ktoré uchovávajú odkaz na objekt sa nazývajú referenčné typy.
C# je striktne typový jazyk. Pri písaní premenných musíme vždy napísať akého je premenná typu, alebo to musí byť zjavné z pravej strany a musíme zadať názov pre premennú. Vysvetlíme si.
V tomto príklade vidíme, že typ premennej je int. Tento typ slúži pre uchovanie čísel. Viac neskôr. Tento typ je zadefinovaný v c# (niektoré typy – tie referenčné vieme aj vyrobiť). Tento typ je primitívny dátový typ. Teda je možné priradiť mu priamo hodnotu, ktorú si uchová. Ako viem, že je primitívny – je to napísané v dokumentácii a hlavne je tento typ napísaný malými písmenami.
Referenčný dátový typ má podľa konvencie vždy začať s veľkými písmenami, aby sme vedeli hneď rozlíšiť s čím pracujeme.
Ako priradím informáciu tejto premennej? Urobím to pravou stranou, ktorá začína ak pridám rovná sa. Za rovná sa zadám niečo, čo vyprodukuje int – to niečo sa nazýva výraz (expression).
Výraz môže byť napríklad zavolanie metódy, ktorá vráti int. Alebo matematická operácia, ktorá vráti int, alebo priame priradenie informácie.
Priradenie hodnoty:
int number = 25;
Priradenie hodnoty pomocou matematickej operácie:
int number = 2 + 5;
Priradenie hodnoty pomocou zavolania metódy:
int number = GiveMeNumber();
Podmienky if, if-else, boolenovské výrazy, zložené podmienky
Základom každého algoritmu je podmienka. Ak niečo, tak niečo, alebo niečo iné. Napríklad ideš kúpiť vajíčka do obchodu:
Je obchod otvorený? Ak áno, tak idem do obchodu, ak nie, tak nikde nejdem. Je vajíčko v poriadku? Ak áno, tak si ho vezmem do košíku. Mám dosť vajíčok? Ak áno, tak končím s naberaním, ak nie naberiem ďalšie vajíčko a podobne.
V jave vieme podmienky spájať alebo ich nechať samostatne. Čo to znamená? Vysvetlime si na príklade:
if (number > 10)
{
Console.WriteLine($"number {number} is > 10");
}
if (number < 10)
{
Console.WriteLine($"number {number} is < 10");
}
V tomto príklade sa pýtame. Je číslo väčšie ako 10? Ak áno, tak vypíšem do konzoly text. Potom kód pokračuje vo vykonávaní ďalej a na ďalších riadkoch mám ďalšiu podmienku. Je číslo menšie? Ak áno vypíšem na konzolu. Pýtali sme sa dvakrát. Vieme ale kód upraviť a podmienky spojiť pomocou if else. To využiješ ak podmienky spolu súvisia. Na konci môžeme mať a nemusíme mať else blok. Ak sa tu tento blok nachádza, tak za ním nesmie a nemôže nasledovať ďalší if else blok.
if (number > 10)
{
Console.WriteLine($"number {number} is > 10");
}
else if (number < 10)
{
Console.WriteLine($"number {number} is < 10");
}
else
{
Console.WriteLine($"number {number} is = 10");
}
Cyklus while, do while
Cyklus while ak si preložíme to slovo do slovenčiny znamená pokým – kým platí podmienka, tak niečo rob. Cyklus do while znamená, rob niečo kým platí podmienka. Znie to rovnako, ale je to jemne odlišné.
Do vnútra cyklu while vojdeme len ak platí podmienka. Do cyklu do while vojdeme hneď. Raz sa určite vykoná vnútro cyklu. Potom na konci bloku bude podmienka. Ak je podmienka splnená, tak sa opäť vrátim na začiatok bloku a znovu vykonám kód v bloku.
int counter = 0;
while (counter < 10)
{
Console.WriteLine("counter: " + counter);
counter++;
}
Do while sme si vraveli, že najprv vykonám kód z cyklu a až potom vyhodnotím podmienku.
bool next = true;
do
{
int number = Calculate();
if (number == 0)
{
next = false;
}
} while (next);
Polia
Pole je zoskupenie jeden a viac prvkov. Prvok sa tu myslí hodnoty – referenčné alebo primitívne. Pole môže obsahovať len jeden typ prvkov. Ak je pole int-ov, tak len int môžem vložiť do poľa a podobne.
Každý prvok poľa má index. Index slúži na presné identifikovanie prvku v poli. V poliach začíname prvky – teda indexi počítať od 0.
Ak mám pole dĺžky 10, tak má tieto indexi: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Prvý element (prvok) má index 0.
Ak hovorím o elementoch – prvkoch, tak mám na mysli hodnotu, ktorá je uchovaná v poli na danom indexe.
Polia majú pevne definovanú dĺžku pri inicializácii. Pole nevieme inak rozšíriť. To znamená, že ak inicializujem pole, tak mu musím definovať dĺžku.
int[] arrayOfInts = new int[10];
Alebo ho rovno naplním hodnotami. Prvé pole má dĺžku 2 a druhé dĺžku 4.
int[] arrayOfInts2 = {10,10};
int[] arrayOfInts3 = {10,100,11,1};
For cyklus
Pre pochopenie for cyklu si na pomoc zavoláme pole.
Vypíšme si hodnoty pola pomocou for cyklu. Dĺžku polí zistíme pomocou .Length, ktorú napíšeš za názov premennej daného poľa.
int[] ints = new int[] { 10, 5, 15};
for (int i = 0; i < ints.Length; i++)
{
Console.WriteLine(ints[i]);
}
Z čoho sa skladá for cyklus?
- kľúčové slovo for
- vo vnútri for sú tri príkazy oddelené bodkočiarkou for(príkaz1; príkaz2; príkaz3)
Prvá časť príkaz1 sa spustí vždy raz na začiatku keď sa v behu programu narazí na príkaz for. V tejto časti býva hlavne inicializácia premennej, ktorá slúži ako počítadlo iterácií – behov cyklu.
for (int i = 0; prikaz2; prikaz3)
Druhá časť prikaz2 sa spustí pred každým behom cyklu. Tu bude niečo, čo na konci vráti true alebo false. Tu býva podmienka, či sa má vojsť do vnútra cyklu – či zbehne jedna iterácia cyklu. Po každej iterácii sa vždy spýtame na podmienku, či sa má pokračovať.
for (int i = 0; i < ints.Length; )
Posledná tretia časť príkaz3 sa spustí vždy na konci jednej iterácie cyklu. Keď prebehne všetko čo je vo vnútri for cyklu, tak vykonáme posledný príkaz a následne sa vykonáva pýtanie sa, či podmienka stále platí.
Tu býva hlavne inkrementácia počítadla iterácií – behu cyklu.
for (int i = 0; i < ints.Length; i++)
Prvé programy
V tomto článku si sa pozrel pod surface ako sa vraví – pod povrch programovacieho jazyka c#. Dôležité je to, že ak sa naučíš aspoň tieto základy budeš vedieť písať prvé vlastné programy.
Video C# za 30 minút
Ak máš chuť, pozri si aj video, ktoré som pre teba pripravil na mojom YouTube kanály, kde sa dozvieš to čo je napísané a ešte o trochu viac.
Online video kurz
Ak ti je stále málo a rád by si sa naučil zo C# viac môžeš navštíviť 2 online video kurzy, ktoré sa zaoberajú programovacím jazykom C#. Kurzy nájdeš na learn2code.sk
Záver
Páčil sa ti článok? Daj mi vedieť.
Moje kurzy: https://www.learn2code.sk/instruktori/jaroslav-beno
Ak sa ti článok páči, tak tu máš viac:
Klikaj na jaroslavbeno.sk – viac blog článkov!
Ja som Jaro a my sa vidíme, počujeme ak Boh dá nabudúce.
Čaves.