Elméleti alapozás

Java-nyelv (egyszerű) adattípusai

 

A var változó

 

A Java 10 megjelenése óta érdekes változótípussal gazdagodott a változók menedzsmentjének eszköztára, ez a var kulcsszó (variable).

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

Használatával a változó deklarálása automatizálható olyasformán, hogy a változó típusát maga a Java-rendszer ismeri fel.

 

Például var a = 1 deklaráció esetén a rendszer érzékeli a változó egész szám jellegét és a továbbiakban így kezeli. Ugyanez érvényes például a var napszak = „este” és var isValid = true deklarációkra is.

 

Nézzük meg mindezeket futtatható Java-kódban, kiegészítve további típusokkal:

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 

 

public class Main {
public static void main(String[] args) {
    var a = 1;
    var b = 'b';
    var c = 3.14;
    var napszak = "este";
    var isValid = true;
    System.out.println(a);
    System.out.println(b);
    System.out.println(c);
    System.out.println(napszak);
    System.out.println(isValid);
    }
}
 

Végeredmény:

1
b
3.14
este
true

Az alapötlet nyilvánvalóan a Javascript nevű programozási nyelvből származik (tudom, lerágott csont programozói körökben, de mégis jelzem: a 2 nyelvnek nincs köze egymáshoz!), amelyben hasonló jellegű, éppilyen rugalmasan kezelhető adattárolás már egészen a kezdetektől fogva elérhető volt. Ez az általános változótípus tehát rendkívül rugalmas, ám ez egyúttal a gyenge pontja is, hiszen ilyen fokú rugalmasságot Javában -lévén az erősen típusos és típusfigyelő nyelv-, eleddig nem szoktunk meg. Elég probléma az objektumok és változók elnevezéseinek konvencionális tartása (Az adatok, metódusok elnevezésének problémái című fejezet), amihez most automatikus típustársítás is járul. Ha ez a kettő nincs következetesen figyelve, amit innen nekünk, manuálisan kell megtennünk, akkor főként nagyobb, esetleg már elosztott projektekben tisztességes kódzavar, vele persze adatvesztés vagy rossz kimeneti adat lehet a végeredmény.

Fontos kihangsúlyozni, hogy a var típus NEM használható: