"És most a legérdekesebb rész. Mesélek a típuskonverziókról. A változók nem változtathatják meg a típusukat, de van egy hely, ahol típusokat konvertálhat. Ez a hely egy hozzárendelési művelet . "

"Különböző típusú változókat rendelhet egymáshoz. Ennek során az egyik változó (egy adott típusú) értéke a másik típusú értékké alakul, és hozzárendelődik a másik változóhoz. "

"Kétféle konverziót különböztethetünk meg: a primitív konverziók szélesítése és a primitív konverziók szűkítése. A szélesítés olyan, mintha a dolgokat egy kis kosárból egy nagyba helyeznénk át. Az eljárás nem figyelemre méltó és fájdalommentes. A szűkítés analóg a dolgok nagy kosárból való kiemelésével. és berakja őket egy kisebbbe. Ha ezt teszi, előfordulhat, hogy nem lesz elég hely; előfordulhat, hogy ki kell dobnia valamit. "

"Íme a típusok "kosárméretük" szerint rendezve:"

Típus konverzió

"Csak néhány megjegyzés:

1. A char kosara akkora, mint a shorté, de nem lehet szabadon mozgatni a dolgokat egyikből a másikba. Amikor az értékeket rövidről char értékre helyezi át , a 0-nál kisebb értékek mindig elvesznek. Amikor az értékeket karakterről rövidre helyezi át, a 32 000-nél nagyobb értékek elvesznek.

2. Ha egész számokat tört számokká alakít, előfordulhat, hogy a szám legkisebb jelentőségű számjegyei kikerülnek. Ez azonban elfogadható, mivel a törtszám célja egy közelítő érték tárolása."

" Szűkítő konverziók végrehajtásakor kifejezetten közölnünk kell a fordítóval, hogy nem hibáztunk: szándékosan dobjuk el a szám egy részét. Ehhez egy cast operátort ( pl. a típusnév zárójelben ) használunk ."

"Így kell hozzárendelni a különböző típusú változókat:"

Java kód Leírás
byte a = 115;
int b = a;
Kiszélesedő primitív konverzió. Minden nagyszerű.
int c = 10000;
byte d = (byte) c;
A primitív konverzió szűkítése . Kifejezetten ki kell jelentenünk, hogy a plusz bájtokat el kell dobni.
int c = 10;
byte d = (byte) c;
Szűkülő primitív konverzió. Kifejezetten ki kell jelentenünk, hogy a plusz bájtokat el kell dobni, még akkor is, ha 0-val egyenlők.
float f = 10000;
long l = (long) (f * f);
float f2 = l;
long l2 = (long) f2;
Lebegőhöz való hozzárendeléskor szélesedő primitív konverzió megy végbe. Amikor egy lebegőt hosszúhoz rendelünk, szűkülő primitív konverzió megy végbe. Egy cast operátor szükséges.
double d = 1;
float f = (float) d;
long l = (long) f;
int i = (int) l;
short s = (short) i;
byte b = (byte) s;
Konverziók szűkítése minden hozzárendelési műveletben, kivéve az első sort. Ezek az átalakítások megkövetelik, hogy kifejezetten jelezzük a típuskonverziót.
3
Feladat
Java Syntax,  szintlecke
Zárt
Code entry
Sometimes you don't need to think, you just need to hammer it out! As paradoxical as it may seem, sometimes your fingers will "remember" better than your conscious mind. That's why while training at the secret CodeGym center you will sometimes encounter tasks that require you to enter code. By entering code, you get used to the syntax and earn a little dark matter. What's more, you combat laziness.

" A cast operátort egy szám/változó elé kell helyezni, amikor a szám egy része eldobásra kerül, vagy ha szűkülő primitív konverzió történik. A cast operátor csak az őt közvetlenül követő számot/változót érinti."

Java kód Leírás
float f = 10000;
long l = (long) f * f;
A két változó közül csak az egyik adható meg hosszúnak: egy long és egy float szorzata egyenlő lebegővel.
float f = 10000;
long l = (long) (f * f);
Az egész kifejezés hosszúra van vetve.

"Látom."