03. Típusok, változók, konstansok

Default book

A C# nyelv erősen típusos nyelv. (ellentétben a PHP-val vagy Javascripttel) Ebben a nyelvben a változók használata előtt

  • deklarálni kell a változót
  • értéket kell adni a változónak
  • A deklarálás és a kezdőérték adás egy ütemben is történhet!

A deklarálás a változó típusának megadásával megadjuk azt, hogy a változó mekkora helyet foglal el a memóriában és mekkorák és milyenek lehetnek a lehetséges értékei. A deklarálás során utasítjuk a programot, hogy a megadott memóriaméretet foglalja le a program futása során.

Általában a létező egyszerű, elemi adattípusokról itt találhatsz leírást!

A C# egyszerű adattípusai

C# típus .NET típus Méret (byte) Leírás
byte System.Byte 1 Előjel nélküli 8 bites egész szám (0..255)
char System.Char 2 Unicode karakter
bool System.Boolean 1 Logikai típus, értéke igaz(1 vagy true) vagy hamis(0 vagy false)
sbyte System.SByte 1 Előjeles, 8 bites egész szám (-128..127)
short System.Int16 2 Előjeles, 16 bites egész szám (-32768..32767
ushort System.Uint16 2 Előjel nélküli, 16 bites egész szám (0..65535)
int System.Int32 4 Előjeles, 32 bites egész szám (–2147483648..
2147483647).
uint System.Uint32 4 Előjel nélküli, 32 bites egész szám (0..4294967295)
float System.Single 4 Egyszeres pontosságú lebegőpontos szám
double System.Double 8 Kétszeres pontosságú lebegőpontos szám
decimal System.Decimal 16 Fix pontosságú 28+1 jegyű szám
long System.Int64 8 Előjeles, 64 bites egész szám
ulong System.Uint64 8 Előjel nélküli, 64 bites egész szám
string System.String  ---- Unicode karakterek sorozata. A változó által tartalmazott karakterek száma határozza meg a méretét! Egy karakter 2 byte.
object System.Object  ---- Minden más típus őse

A vastagított típusok a legfontosabbak, amiket a tanulás során gyakran használunk.

Változók (=variables)

A változók a memória egyes részeinek névvel megjelölt részei. Ezeken a memóriaterületeken a programok futás közben adatokat tárolnak. A tárolt adatokat meg lehet változtatni bármikor.

A változó létrehozása (=deklarációja).

A programokban a változót létre kell hozni egy-egy utasításssal. A deklaráció során meg kell adnunk a változó típusát, ami a változóban tárolható adatok típusát jelenti. A deklaráció a típus megadásán keresztül meghatározza azt is, hogy milyen méretű memóriaterületet foglal le a program a tárolt adatok számára. a deklaráció után a változónak kezdőértéket kell adni. Ezt a C# nem teszi meg, ezért külön utasítással vagy a deklarációban megadott értékadó utasítással kell megadni a kezdőértéket. Ha az eőtt akarunk használni egy változót, pl. kirni a tartalmát - mielőtt értéket adnánk neki, azt a fordításkor hibásnak tekinti a rendszer.

Változó deklarálásához az alábbi formákat lehet használni:

típus változónév;
típus változónév = kezdőérték;
int i;
string s;
int x, y; // Ilyen módon egy utasítással több azonos típusú változót is deklarálhatunk.

A C# 5.0 változatában megjelent az a forma, amikor a változó deklarálásához nem kell megadnunk a típust, hanem a kezdőérték adásakor annak típusából "kitalálja" a fordító a változó típusát.Ehhez a "var" kulcsszót kell használnunk:

var z = 1.34; // float típusú változó jön létre.

A változók névadási szabályai

A változók neve hivatkozás a memóriaterületre. Programírás közben elsődlegesen az a fontos, hogy a változókat a program írása során a kötelező használaton kívül helyesen is használjuk.

Kötelező használat

  • A változónevekben az angol bac betűit, aláhúzás jelet ( _ ) és számot használhatunk.
  • A változónévnek mindig az angol abc egyik betűjével vagy az aláhúzás ( _ ) jellel kell kezdődnie.
  • A változónevek kis- és nagybetűi különböznek egymástól! Nem azonos az "a" és az "A" nevű változó!

Helyes használat

  • A változó neve utaljon a változó jelentésére. Ezt hívjuk beszédes változónévnek.
    pl. x, y, z - egy koordináta, i, j, k - egy-egy index, name például egy nevet tárol.
  • A változók neve ne legyen túl hosszú, mert könnyen eltéveszthetjük!
  • Ha a változó neve hosszú, és több szóból áll, akkor használjuk a CamelCase (PúposTeve) írásmódot.

A C# összetett adattípusai

Tömb

Gyakran szükséges, hogy egyszerre több ugyanolyan típusú adatokat kell tárolnunk. Ebben az esetben érdemes tömb típusú adatokat tárolni.

  • A tömbösszetevő elemeire indexxel hivatkozhatunk. Az index 0-tól N-1 -ig terjedő egész szám lehet!
  • Egy dimenziós tömbről beszélünk, ha csak egy indexet használunk egy elem eléréséhez.
  • Két vagy több dimenziós tömbről beszélünk, ha kettő vagy több indexet használunk egy elem eléréséhez.

Magyarázat

  • Az egy dimenziós tömböt gyakran egymás mellé tett dobozokkal ábrázolunk. A dobozokat pedig megsorszámozzuk
  • A két dimenziós tömb ábrázolásához a dobozokat egy sík lapra teszünk és a két dimenziós koordinátarendszer egész számú helyein vannak az adatok.
  • A három dimenziós tömböt egy térbeli téglatesttel szoktuk ábrázolni... és így tovább.
int[] a = new int[10];

Kettes komplemens számábrázolás

Bár korábban szerepelt, de itt megismétlem az egész számok számábrázolásának elméleti hátterét.