Tananyag‎ > ‎Java‎ > ‎

Változók

Egy program futása közben gyakran el kell mentenünk egy értéket a memóriába. Lehet az egy szám, amit kiszámoltunk, egy szó, amit beolvastunk a standard inputról vagy egy kép, amit letöltöttünk az internetről. A változók épp ezért hasznosak: bármilyen értéket lehet bennük tárolni.
A Java nagyon szigorúan kezeli a változók típusait, ez azt jelenti, hogy minden változónál jeleznünk kell, hogy milyen adatot szeretnénk benne tárolni.

Típusok

(a félkövérek a legfontosabbak)
  • primitívek: (később nyer értelmet)
    • számok:
      • egész számok (alapértelmezett érték: 0):
        • byte: 1 bájtos, -27 – (27-1)-ig
        • short: 2 bájtos, -215 – (215-1)-ig
        • int: 4 bájtos, -231 – (231-1)-ig (a leggyakrabban használt egész szám)
        • long: 8 bájtos, -263 – (263-1)-ig
        • char: 2 bájtos, 0 – 216-ig, (karakterek tárolására szokás használni)
      • lebegőpontos (nem feltétlenül egész) számok (alapértelmezett érték: 0.0):
        • float: 4 bájtos
        • double: 8 bájtos
    • boolean (alapértelmezett érték: false): két értéke lehet: true vagy false
  • objektumok (alapértelmezett érték: null):
    • szokásos objektumok:
      • Pl: String: szöveg (karakterlánc)
Változók deklarációja (felvétele)

Változókat eljárásokon, függvényeken belül tudunk felvenni (pl. public static void main(String[] args) { … }). Ebben az alakban tudunk neki kezdeti értéket adni:
típus változóNév = érték;

Például ha egy year nevű változót szeretnénk létrehozni, 2015 értékkel, a következő módon tehetjük meg:

int year = 2015;
int a típusa, mivel értelemszerűen egész számot tárolunk benne.

További példák

boolean left = false;
double radius = 2.01, height = -21.92; // Azonos típusú változók deklarációját
                                       // össze lehet vonni
int a = 2, b = 4, area = a * b;
String name = "Ferenc";

Változók értékének változtatása

Alapesetben ugyanolyan, mint a deklaráció, csak nem kell kiírni még egyszer a változó típusát:
int number = 2;
number = -1;

De vannak egyszerűsítések, amiket bizonyos esetekben használhatunk. Például ha egy változó értékét növeljük kettővel, az előző formában így írnánk le:

number = number + 2;

Ezzel teljesen egyenértékű ez:

number += 2;

Ugyanígy működik szorzásra, osztásra, kivonásra, maradékszámításra (*=, /=, -=, %=)

További rövidítés, ha eggyel növelni vagy csökkenteni szeretnénk egy intet:

number++; // number += 1;
number--; // number -= 1;

Változók elnevezése

Nagyon fontos, hogy a változóink neve legyen sokatmondó. Ha egy év múlva visszatérünk a kódhoz, egyből tudjuk, hogy egy adott változóban mit tároltunk. Nem baj, ha hosszúra sikerül a változó neve, az IDE úgyis ki fogja találni az első két leírt betű alapján, hogy melyik változóra szeretnénk hivatkozni, ezért igazából egyszer kell leírni a teljes hosszában.

A változók neve állhat betűkből, számokból (az első karaktert leszámítva), aláhúzásból, bármi lehet az értéke pár kulcsszót leszámítva (pl. while, for, char). A bátrak ékezetes karaktereket is használhatnak a változóelnevezésben, de az eltérő karakterkódolások hibát eredményezhetnek.

Megegyezés alapján kisbetűvel szokás kezdeni a változók nevét, az összetett szavakat meg a camelCase alapjánSzokásEgybeírni. Kisbetű, nagybetű különbözik.

Alapértelmezett érték

Előfordul, hogy létrehozunk változókat, de még nem adunk nekik értéket. Ezt eljáráson belül nem engedi meg a Java fordító, de mezőknél, kitöltetlen tömböknél találkozhatunk a jelenséggel. Fentebb a típusoknál látható az egyes kategóriák alapértelmezett értéke.
Comments