Tipai ir kintamieji
Pamokos turinys
- Prisimenam praeitą pamoką
- Įžanga į programavimą su C#
- Kas yra tipas
- Kaip tipai yra naudojami arba nenaudojami (var, skirtingi int ilgiai…)
- Kas yra fundamentalūs tipai ir kaip jie atvaizduojami atmintyje
- Kintamūjų sukūrimas ir aprašymas
- Debugging pagrindai (Debug.Log ar kitas atitikmuo)
Trumpai apie C# kalbą
Kaip ir daugumoje programavimo kalbų, reikia žinoti keletą taisyklių apie sintaksę:
- Yra svarbus skirtumas tarp didžiųjų ir mažųjų raidžių,
Start()
irstart()
interpretuojami kaip skirtingos funkcijos - Eilučių pabaigoje dažniausiai dedami kabliataškiai
;
- Atsikartojantys tarpai ar naujos eilutės yra ignoruojami, bet naudojami aiškiau išdėstyti kodą
- Komentarai yra tekstas, kuris visiškai nekeičia programos veikimo (dažniausiai nėra išsaugomas galutinėje programoje)
-
- Norint vienoje eilutėje parašyt komentarą naudojami du ‘/’ simboliai:
kodas; // komentaras
-
- Norint turėti daugelio eilučių komentarą naudojami atidarymo ‘/’ ir uždarymo ‘/’ kombinacijos:
kodas;
/*
komentaras
komentaras
*/
Iš esmės kiekvienas (ne komentare esantis) simbolis kode turi paskirtį, todėl nenorint dažnai taisyti sintaksės ar kitų klaidų būtina atidžiai rašyti
C# programavimas Unity aplinkoje
Pradinis kodas
using UnityEditor;
using UnityEngine;
public static class Test {
// Unity programos viršuje atsiras mygtukas "MyMenu", kuris atidaro meniu su pasirinkimu "Pamoka1"
// Paspaudus "Pamoka1" bus vykdomas kodas esantis šioje funkcijoje
[MenuItem("MyMenu/Pamoka1")]
static void Pamoka1()
{
// Vykdomo kodo pradža
// Unity programoje matome, kad į konsolę (Console) bus atspausdinta ši eilutė
Debug.Log("Pamokos pradžia");
// Vykdomo kodo pabaiga
}
}
Kas yra tipas
Kasdieniame gyvenime mes įvairiai apibūdiname daiktus:
- Spalva: raudonas, žalias, mėlynas…
- Svoriu: 16g, 120kg, 0.063mg….
- Kiekiu: trys obuoliai, penki langai, tuščias puodelis…
- Pavadinimu: “Pepsi”, “Kaunas”, “Liepkalnis”…
Šiems apibūdinimams naudojame skirtingus tipus: skaičius, žodžius, galimas spalvų vertes (taip pat žodžiai). Kompiuteryje paprasčiausi tipai ir yra: sveikieji skaičiai int, realieji skaičiai float, taip-arba-ne vertė bool, tekstas string.
Kas yra kintamasis
Naudojant skaičiuotuvą matome tiktais aštuonis skaitmenis ir kablelio padėtį, skaičiuotuvui visiškai nesvarbu ar mes skaičiuojame bulves, nuvažiuotą atstumą, trikampio plotą ar kiek reikia sumokėti mokeščių deklaravus pajamas metų pradžioje. Tas pats ir su kompiuteriu: atliekant matematinius skaičiavimus kompiuteris visiškai nežino kokius dalykus mes aprašome. Tačiau kompiuteriai turi privalumą, palyginus su paprastais skaičiuotuvais, kad gali įsiminti begales skaičių vienu metu. Šiems skaičiams (ar kitokio tipo vertėms) pravartu duoti unikalius pavadinimus, pavadinimai neturi jokios įtakos programos veikimui: galime duoti nereikšmingus pavadinimus (a, b, c, d…), bet patartina naudoti sveiką protą.
Kintamųjų sukūrimas
Skirtingos programavimo kalbos skirtingai reikalauja aprašyti naujai sukuriamus kintamuosius, tačiau mes naudosime tik C#. Papraščiausias pavyzdys:
int myAge = 23;
int currentDay = 20;
Kintamojo tipo, ir jam duoto pavadinimo junginys yra vadinamas kintamuoju. Vienoje eilutėje mes nurodom kintamojo tipą, jam priskiriam pavadinimą ir duodam iš karto pradinę vertę. Jeigu vėliau reikės pakeisti vieną iš šių skaičių, iš karto matysis kuris ką reiškia. Tačiau ne tik mums pavadinimai yra reikšmingi, kompiuteriui visi skaičiai yra vienodos reikšmės, todėl mes privalome juos unikaliai atskirti, kad nesumaišytume darydami skaičiavimus. Jeigu bandome sukurti du kintamuosious, su tokiu pačiu pavadinimu, gausime klaidą:
int myAge = 23;
int myAge = 24; // Bus klaida
Debugging pagrindai
Labai svarbu patikrinti ar kompiuteris daro tai, ką mes norime. Kitu atveju kompiuteriai greitai sukiltų prieš žmoniją ir nustotų veikti… Unity aplinkoje patogiausias įrankis: Debug.Log(...)
funkcija:
int myAge = 23;
Debug.Log(myAge); // Bus parašoma Unity console 23
Galutinis kodas
Galutinis kodas gali truputėli skirtis :)
using UnityEditor;
using UnityEngine;
public static class Test {
[MenuItem("MyMenu/Pamoka1")]
static void Pamoka1()
{
int a = 5;
int b = 7;
int c = a - 1 + b * 2;
Debug.Log(c);
a = 4;
a += 3;
a = a + 2;
a = a + 1;
Debug.Log(a);
}
}