Típusú átalakítás a java - vertex akadémia

- írásbeli Vertex Akadémia csapata. Remélhetőleg hasznos lesz az Ön számára. Élvezze az olvasást!
- ez az egyik cikkek a „bemutatója a Java”
Típusú átalakítás - egy olyan téma, amely úgy tűnik, nehezen indul programozás Java. Ahhoz azonban, hogy biztosítani Önöket, sőt, minden egyszerű. A legfontosabb dolog, hogy megértsük, milyen törvények van kölcsönhatás a változók, és emlékezni erre írásakor programokat. Úgyhogy foglalkozik.
A Java, van 2 féle transzformációk - a képet a segítséget:

Emlékezzünk, hogy az egész „univerzum Java” a következőkből áll:
- primitív típusok (byte, rövid, int, hosszú, char, float, double, boolean)
- tárgyak
Ebben a cikkben fogjuk:
- úgy típuskonverzió primitív típusú változókat
- átalakítása tárgyak (. String, szkenner, stb) ebben a cikkben nem tekinthetők különálló tárgyak bekövetkezik „mágikus” - a téma egy másik cikk.
automatikus konverzió
Nos, akkor nézzük meg, hogy megértsék, mi az „automatikus konverzió”.
Emlékszel, amikor megnéztük a változók típusát (lásd „Változók Java létrehozása változó”.) Azt mondtuk, hogy a változó - néhány „tartály”. amely képes tárolni érték későbbi felhasználásra a programban. Emellett arról is beszéltünk, hogy minden típusú változó saját tartomány az elfogadható értékek, és a memóriát. Itt ez annak a jele, ahol volt festve:

Tehát, mi vagyunk, sőt, hajlamosak. Ezen túlmenően, ez nem csak azért, mert kaptak tartományok az elfogadható értékek és a memória lábnyom 🙂
Hasonlítsuk össze, például:
1. bájt, és rövid. byte egy kisebb értéktartomány mint a rövid. Ie bájt, mint egy doboz kisebb és rövid - egy doboz több. És ez azt jelenti, hogy lehet befektetni byte rövid.
2. bájt és int. byte egy kisebb értéktartomány mint int. Ie bájt, mint egy doboz kisebb, és int - ezt a dobozt tovább. És ez azt jelenti, hogy lehet befektetni egy byte int.
3. int és hosszú. int egy kisebb értéktartomány mint a hosszú. Azaz int, mint egy doboz kisebb, és hosszú - ez több egy dobozban. És ez azt jelenti, hogy fektessenek be long int.

Ez egy példa az automatikus konverzió. Ezt sematikusan, mint itt egy kép:

Nézzük meg, hogyan működik ez a gyakorlatban.
Kód №1 - Ha ezt a kódot a számítógépen, a konzol megjeleníti a szám 15
És-és-és? Gondolod, hogy ha a konzol ugyanazt a számot, és a kód eltér a kódot №1 №2 csak írja változó b következtettünk, hogy nincs különbség a kettő között? T ő nem ez a helyzet.
Jelenleg avtomaticheskoepreobrazovanie №2 kódfajták kódja №1 - no:

Bár ez a szám elvileg ugyanaz, de most ez a bo lshem tartály, amely több helyet a lemezen. Ebben az esetben a JVM automatikus konverzióra az Ön számára. Tudja, hogy több, mint int byte.
öntvény
A másik dolog, ha próbál átadni valamit a konténer egy kisebb.

Lehet, hogy tudja, hogy egy nagy tartályba, hogy az illeszkedés és a kis -, de nem tudja, hogy a JVM, és igyekszik, hogy akadályozza meg a hibákat.

Ezért meg kell „csak annyit”, hogy a helyzet ellenőrzés alatt:
A kereszteződésekben a write, és - amennyiben az átváltás automatikusan történik, az - ha a használni kívánt explicit konverzió x - ha az átváltás nem lehetséges.
* Cast magát az úgynevezett identitás - nem szükséges előírni
- Nézd meg újra, milyen méretű, minden primitív típus. Próbáld ki, hogy egy blokk vázlata, hová tegye, milyen típusú. Tölteni nyilak „szélesedő konverzió” és a felirat „szűkítő konverzió.”
Az interjú a helyzetét Junior Java fejlesztő lehet kérni:
Mit tudni konvertáló primitív adattípusok, adatvesztés, ha van, hogy tud-e alakítani egy logikus típus?
Próbálja megválaszolni a kérdést.
Összefoglalva:
- Ha „teszi” a konténert, kisebb edény tartalmát”, a konverzió automatikusan történik, és hibák fordulnak elő nem.

- Ha szükség van rá: „az érték egy nagy tartályból egy kisebb” meg kell, hogy legyen óvatos, és használja az explicit típus.

- Amikor öntés egy float vagy dupla, hogy integer típusú, a törtrész nem kerekítve, és egyszerűen eldobjuk.
- A logikai típus nem adjuk ki a típusokat.
- A char egy numerikus típusú Unicode karakterkészlet a rendszerben.
- Ha a szám nagyobb, mint a tartály, az eredmény kiszámíthatatlan lesz.
Ez a cikk leírja csak egy része az anyag egy öntött. Vannak is hozza az objektum típusát, ami a vonal (valójában egy vonalban lehet írni semmit, ugye?) És az automatikus támogatása típusú kifejezésekben.