A két kifejezés típusú öntés és a típusátalakítás egy programban egy adattípus másik adattípussá alakítására használják. Az adattípusok átalakítása csak a fordító által lehetséges, ha azok kompatibilisek egymással. Beszéljük meg a típusöntés és a típuskonverzió közötti különbséget bármely programozási nyelvben.
Mi az a típusöntvény?
Amikor egy adattípust egy programozó vagy felhasználó egy másik adattípussá alakít át, miközben bármilyen programozási nyelv programkódját írja, a mechanizmus az úgynevezett típusú öntés . A programozó kézzel konvertálja az egyik adattípust egy másikra. Akkor használjuk, ha a céladattípust egy másik adattípusra szeretnénk módosítani. Ne feledje, hogy a cél adattípusnak kisebbnek kell lennie, mint a forrás adattípusának. Ezért szűkítő konverziónak is nevezik.
Szintaxis:
Destination_datatype = (target_datatype) variable; (data_type) it is known as casting operator
Target_datatype: Ez az az adattípus, amelyben a cél adattípust konvertálni szeretnénk. A változó meghatároz egy értéket, amelyet a target_data típusba kell konvertálni. Értsük meg a típusöntés fogalmát egy példán keresztül.
Tegyük fel, hogy szeretnénk konvertálni a úszó adattípus be int adattípus. Itt a céladattípus kisebb, mint a forrásadat, mert a mérete int 2 bájt, és a mérete úszó az adattípus 4 bájt. És amikor megváltoztatjuk, a float változó értéke csonkolódik, és egész változóvá alakul. Az átküldés kompatibilis és nem kompatibilis adattípussal is elvégezhető.
float b = 3.0; int a = (int) b; // converting a float value into integer
Értsük meg a típusöntést egy C programon keresztül.
mi az a java verem
AreaOfRectangle.c
#include #include void main() { printf(' Welcome to Javatpoint tutorials '); float x = 3.5, y = 4.5; // the size of float variable is 4 byte. int area; // the size of the int variable is 2 bytes. area = (int) x * y; // after conversion the product converts into integer printf(' Area of a Rectangle is : %d', area); printf(' Here, we convert float data type into the Int data type'); getch(); }
Kimenet:
Mi az a típuskonverzió?
Ha egy adattípust a fordításkor automatikusan egy másik adattípusba konvertál, azt típuskonverziónak nevezzük. Az átalakítást akkor hajtja végre a fordító, ha mindkét adattípus kompatibilis egymással. Ne feledje, hogy a cél adattípus nem lehet kisebb, mint a forrás típusa. Úgy is ismert, mint kiszélesedő az adattípus konvertálása.
Értsük meg a típuskonverziót egy példán keresztül.
Tegyük fel, hogy van egy int adattípust, és szeretné konvertálni a úszó adattípus. Ezek egymással kompatibilis adattípusok, mivel típusaik numerikusak, és az int mérete 2 bájt, ami kisebb, mint a float adattípus. Ezért a fordító automatikusan konvertálja az adattípusokat anélkül, hogy elveszítené vagy csonkolná az értékeket.
int a = 20; Float b; b = a; // Now the value of variable b is 20.000 /* It defines the conversion of int data type to float data type without losing the information. */
A fenti példában az int adattípust a float formátumba alakítjuk, amelynek mérete nagyobb, mint az int, és ezáltal kiszélesíti a forrásadattípust.
java osztálydiagram
Értsük meg a típuskonverziót egy C programmal.
#include #include void main() { printf(' Welcome to Javatpoint tutorials '); int x = 3, y = 4; // the size of int variable is 2 byte. float area; // the size of float variable is 4 bytes. area = x * y; /* It is a type conversion that automatically converted by the compiler at the compile time of a program. */ printf(' Area of a Rectangle is : %f', area); printf(' Here, we convert int data type to the float data type'); getch(); }
Kimenet:
Különbség a típusöntés és a típuskonverzió között
S.N. | Típus Casting | Típus Konverzió |
---|---|---|
1 | A típusöntés egy olyan mechanizmus, amelyben egy adattípust egy másik adattípussá konvertál a programozó egy casting () operátor segítségével. | A típuskonverzió lehetővé teszi a fordító számára, hogy egy adattípust egy másik adattípussá alakítson át egy program vagy kód fordítási idején. |
2 | Használható kompatibilis adattípussal és inkompatibilis adattípussal is. | A típuskonverzió csak kompatibilis adattípusokkal használható, ezért nincs szükség öntési operátorra. |
3 | Egy programozóra van szükség ahhoz, hogy az egyik adatot egy másik típusba kézzel öntse át. | Nem igényel programozói beavatkozást az egyik adattípus másikká konvertálásához, mert a fordító automatikusan lefordítja azt a program futási idején. |
4 | A programozó programtervezés során használja. | Egy program fordítási idejében használják vagy zajlik. |
5 | Az egyik adattípus másikba való átküldésekor a céladattípusnak kisebbnek kell lennie, mint a forrásadat. | Az egyik adattípus másikra konvertálásakor a céltípusnak nagyobbnak kell lennie, mint a forrás adattípusának. |
6 | Szűkítő konverziónak is nevezik, mivel egy nagyobb adattípus kisebb adattípussá konvertálódik. | Kiszélesítő konverziónak is nevezik, mivel egy kisebb adattípus nagyobb adattípussá konvertálódik. |
7 | Megbízhatóbb és hatékonyabb. | Kevésbé hatékony és kevésbé megbízható. |
8 | Fennáll az adat vagy információ elvesztésének lehetősége a típusöntés során. | A típuskonverzió során nem valószínű, hogy az adatok elvesznek, amikor egy kis adattípusról nagy adattípusra konvertálunk. |
8 | float b = 3.0; int a = (int) b | int x = 5, y = 2, c; float q = 12.5, p; p = q/x; |