Java valodā, tipa liešana ir metode vai process, kas pārvērš datu tipu citā datu tipā gan manuāli, gan automātiski. Automātisko konvertēšanu veic kompilators, un manuālo konvertēšanu veic programmētājs. Šajā sadaļā mēs apspriedīsim tipa liešana un tā veidi ar pareiziem piemēriem.
Tipu liešana
Vērtības konvertēšana no viena datu veida uz citu datu tipu ir pazīstama kā tipa liešana .
bash for loop
Tipu liešanas veidi
Ir divu veidu liešanas veidi:
- Paplašināšanas veids Liešana
- Sašaurinoša tipa liešana
Paplašināšanas veids Liešana
Tiek izsaukta zemāka datu veida pārveidošana par augstāku paplašināšana tipa liešana. Tas ir pazīstams arī kā netieša konversija vai nometot . Tas tiek darīts automātiski. Tas ir droši, jo nav iespējas zaudēt datus. Tas notiek, kad:
- Abiem datu tipiem jābūt savstarpēji saderīgiem.
- Mērķa veidam ir jābūt lielākam par avota veidu.
byte -> short -> char -> int -> long -> float -> double
Piemēram, ciparu datu veida pārvēršana uz char vai Būla datu tipu netiek veikta automātiski. Turklāt char un Boolean datu tipi nav saderīgi viens ar otru. Apskatīsim piemēru.
WideningTypeCastingExample.java
vārdnīca c#
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); } }
Izvade
Before conversion, the value is: 7 After conversion, the long value is: 7 After conversion, the float value is: 7.0
Iepriekš minētajā piemērā mēs esam paņēmuši mainīgo x un pārveidojuši to par garo tipu. Pēc tam garais tips tiek pārveidots par pludiņa tipu.
Sašaurinoša tipa liešana
Tiek izsaukta augstāka datu veida konvertēšana zemākā sašaurināšanās tipa liešana. Tas ir pazīstams arī kā nepārprotama konversija vai uzmešana . Programmētājs to veic manuāli. Ja mēs neveicam apraidi, kompilators ziņo par kompilēšanas laika kļūdu.
double -> float -> long -> int -> char -> short -> byte
Apskatīsim šaurāka tipa liešanas piemēru.
Nākamajā piemērā mēs esam veikuši sašaurinoša tipa liešanu divas reizes. Pirmkārt, mēs esam pārveidojuši dubulto tipu par garo datu tipu pēc tam, kad šis garais datu tips ir pārveidots par int tipu.
NarrowingTypeCastingExample.java
darbs pie datora
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); } }
Izvade
Before conversion: 166.66 After conversion into long type: 166 After conversion into int type: 166