V druhém díle našeho seriálu se podíváme na zoubek oněm příkazům a také se podíváme na proměnné.
Zdravím všechny čtenáře u druhého dílu kurzu jazyka VB.NET. Jak vyplývá z perexu, dnes už budeme dělat něco nepatrně zajímavějšího než v lekci předchozí.
Otevřete si IDE (pro zapomnětlivce - vývojové prostředí), které jsme si nainstalovali v minulém díle, založte nový projekt typu Console Application a zkratkou Ctrl+Shift+S si jej uložte pod názvem DruhaLekce. Doporučuji si vyhradit někde na disku speciální složku pro tento kurz a nové projekty ukládat do ní.
Takže, pokud máte založený projekt, můžeme se pustit do toho.
Proměnné
Nejprve bude vhodné si vysvětlit, co to ta proměnná vlastně je. Proměnná je místo v paměti počítače, do kterého lze přiřadit hodnotu. Velikost tohoto místa se určuje podle typu proměnné, tzn. pro proměnnou, která obsahuje celé číslo se vytvoří místo o jiné velikosti než pro proměnnou obsahující třeba logickou hodnotu. Jazyk VB.NET má několik speciálních typů proměnných, které se nazývají primitivní typy, anglicky primitives. Nejpoužívanější primitivní typy jsou:
Jméno | Popis | Velikost | Rozsah |
Integer | Celé číslo | 32 bitů | -231 až 231 |
Long | Celé číslo, ale větší rozsah | 64 bitů | -263 až 263 |
Boolean | Logická hodnota (pravda, nepravda) | 8 bitů | True nebo False |
String | Textová hodnota | 16 bitů pro každý znak | --- |
Char | Znak | 16 bitů | 0 až 2-16 |
Double | Desetinné číslo s dvojitou přesností | 64 bitů | ± 5 x 10-324 až ± 1,7 x 10308 |
Pro vytvoření proměnné slouží ve VB.NET tato deklarace:
Dim (Jméno proměnné) As (Typ proměnné)
Čili například:
Dim pocetZakazniku As Integer
Jako ukázku práce s proměnnými si předvedeme lehce modifikovanou verzi programu z minulé lekce. Do Sub Main() napište:
Sub Main()
Dim greeting As String = "Ahoj světe Visual Basicu .NET"
'Důrazně doporučuji používat v názvech proměnných angličtinu.
'Tento kód vytvoří novou proměnnou typu String
'a uloží do ní hodnotu našeho pozdravu. Proměnná pak bude použita
'jako parametr pro metodu Console.WriteLine().
Console.WriteLine(greeting)
Console.ReadLine()
End Sub
Tento program udělá přesně to samé, co ten z minulé lekce. Vypíše na obrazovku pozdrav: "Ahoj světe Visual Basicu .NET", ovšem je zde jeden velmi podstatný rozdíl. Pozdrav jsme tentokrát uložili do proměnné a tu pak použili jako text, který chceme vypsat na obrazovku. Pokud použijeme proměnnou jako parametr příkazu, neuzavíráme ji do uvozovek! Dle programu z minulé lekce jistě víte, co by program dělal, kdybychom místo Console.WriteLine(greeting)
napsali Console.WriteLine("greeting")
. Mimochodem, ty zelené řádky s apostrofem (') na začátku jsou komentáře. Komentáře jsou vhodné, pokud máte složitější kód, ze kterého není na první pohled poznat, co dělá. Komentář platí od apostrofu po konec řádku. Další možností, jak psát komentáře, je starodávná konstrukce REM. Pokud napíšete do svého kódu REM (zkratka pro remark), bude vše od REM až do konce řádku považováno za komentář. Příklad:
REM Toto je komentář
Nicméně konstrukce REM je ve VB.NET zahrnuta jen z historických důvodů a doporučuji ji nepoužívat.
Metody a funkce
Nyní si povíme něco více o tom, co jsme v minulé lekci nazývali nepřesně příkazy. Příkazy ve VB.NET se dělí na dva typy: metody a funkce. Metoda je oddělený kus logiky programu. Pokud zavoláte metodu, proběhne všechen kód v ní obsažený a metoda se ukončí. Funkce má oproti metodě důležitou věc, a tou je tzv. návratová hodnota. Když zavoláte funkci, tak proběhne všechen kód v ní obsažený až po klíčové slovo Return
, které značí právě vrácení hodnoty. Podívejte se na tento příklad:
Module DruhaLekce
'Metoda se značí klíčovým slovem Sub. Tělo programu tvoří metoda s názvem Main()
Sub Main()
'Takto se volá metoda.
Greet()
'Funkci ale takhle zavolat nemůžeme, protože funkce vrací hodnotu, která
'musí být okamžitě přiřazena do nějaké proměnné. Funkci tedy voláme takto:
Dim a As Integer
a = Add(3, 5)
'Console.WriteLine je metoda, která jako parametr vyžaduje text, který má být vypsán na obrazovku.
Console.WriteLine(a)
'Proměnnou a nemusíme vytvářet, můžeme také zavolat pouze Console.WriteLine(Add(3, 5))
End Sub
'Deklarace metody vypadá takto: Sub (název metody) (parametry metody), tělo metody a End Sub.
'Tento příklad vytvoří metodu s názvem Greet, která nemá žádné parametry.
'Stejně jako v názvech proměnných, i zde doporučuji používat angličtinu.
Sub Greet()
Console.WriteLine("Ahoj světe")
End Sub
'Na rozdíl od metody, funkce se deklaruje takto: Function (název funkce) (parametry funkce) As (návratový typ funkce)
'Tento kód vytvoří funkci, která bude mít jako parametry dvě čísla, která sečte a vrátí výsledek součtu:
Function Add(ByVal left As Integer, ByVal right As Integer) As Integer
Return left + right
End Function
'Pro zapsaní parametru slouží klíčové slovo ByVal nebo ByRef. Deklarace musí vypadat takto:
' ByVal|ByRef (název parametru) As (datový typ parametru). V několika dalších lekcích budeme pravděpodobně používat
'pouze ByVal.
End Module
V tomto dlouhém příkladě jsme si ukázali, jak pracovat s metodami a funkcemi. Pokud je vám přece jen něco nejasné, obraťte se na mou mailovou adresu či do komentářů.
Domácí úkol
Zadání vašeho prvního domácího úkolu zní takto: napište metodu, která vypíše na obrazovku vaše jméno. Napište také funkci, která bude přijímat jako parametr váš věk a věk vašeho sourozence (rodiče, prarodiče, strýce z pátého kolene), které pak sečte a výsledek vrátí. Pomocí Console.WriteLine pak vypište návratovou hodnotu funkce na obrazovku. Jak metodu, tak výpis návratové hodnoty funkce nezapomeňte volat v Sub Main()!