A Java, tipus de fosa és un mètode o procés que converteix un tipus de dades en un altre tipus de dades d'una manera manual i automàtica. La conversió automàtica la fa el compilador i la conversió manual la realitza el programador. En aquesta secció, parlarem tipus de fosa i els seus tipus amb exemples adequats.
Tipus de fosa
Es coneix com a convertir un valor d'un tipus de dades a un altre tipus de dades tipus de fosa .
Tipus de Tipus Casting
Hi ha dos tipus de fosa:
- Tipus d'ampliació de fosa
- Tipus d'estrenyiment de fosa
Tipus d'ampliació de fosa
S'anomena convertir un tipus de dades inferior en un de més alt eixamplament tipus de fosa. També es coneix com conversió implícita o tirant cap avall . Es fa automàticament. És segur perquè no hi ha possibilitat de perdre dades. Té lloc quan:
mamta kulkarni
- Tots dos tipus de dades han de ser compatibles entre si.
- El tipus de destinació ha de ser més gran que el tipus d'origen.
byte -> short -> char -> int -> long -> float -> double
Per exemple, la conversió entre tipus de dades numèriques a char o booleà no es fa automàticament. A més, els tipus de dades char i booleans no són compatibles entre si. Vegem un exemple.
WideningTypeCastingExample.java
public class WideningTypeCastingExample { public static void main(String[] args) { int x = 7; //automatically converts the integer type into long type long y = x; //automatically converts the long type into float type float z = y; System.out.println('Before conversion, int value '+x); System.out.println('After conversion, long value '+y); System.out.println('After conversion, float value '+z); } }
Sortida
sistema operatiu linux
Before conversion, the value is: 7 After conversion, the long value is: 7 After conversion, the float value is: 7.0
A l'exemple anterior, hem pres una variable x i l'hem convertida en un tipus llarg. Després d'això, el tipus llarg es converteix en el tipus flotant.
Tipus d'estrenyiment de fosa
S'anomena convertir un tipus de dades més alt en un de més baix estrenyiment tipus de fosa. També es coneix com conversió explícita o aixecar . Ho fa manualment el programador. Si no realitzem el càsting, el compilador informa d'un error en temps de compilació.
double -> float -> long -> int -> char -> short -> byte
Vegem un exemple de fosa de tipus reduït.
En l'exemple següent, hem realitzat dues vegades la fosa del tipus d'estrenyiment. En primer lloc, hem convertit el tipus doble en tipus de dades llarg després que aquest tipus de dades llarg s'hagi convertit en tipus int.
NarrowingTypeCastingExample.java
cadena en int
public class NarrowingTypeCastingExample { public static void main(String args[]) { double d = 166.66; //converting double data type into long data type long l = (long)d; //converting long data type into int data type int i = (int)l; System.out.println('Before conversion: '+d); //fractional part lost System.out.println('After conversion into long type: '+l); //fractional part lost System.out.println('After conversion into int type: '+i); } }
Sortida
Before conversion: 166.66 After conversion into long type: 166 After conversion into int type: 166