"É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:"
"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 |
---|---|
|
Kiszélesedő primitív konverzió. Minden nagyszerű. |
|
A primitív konverzió szűkítése . Kifejezetten ki kell jelentenünk, hogy a plusz bájtokat el kell dobni. |
|
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. |
|
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. |
|
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. |
" 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 |
---|---|
|
A két változó közül csak az egyik adható meg hosszúnak: egy long és egy float szorzata egyenlő lebegővel. |
|
Az egész kifejezés hosszúra van vetve. |
"Látom."
GO TO FULL VERSION