logo

Casting tipa u Javi

U Javi, lijevanje tipa je metoda ili proces koji pretvara tip podataka u drugi tip podataka na oba načina, ručno i automatski. Automatsku pretvorbu obavlja kompilator, a ručnu pretvorbu obavlja programer. U ovom odjeljku ćemo raspravljati lijevanje tipa i njegove vrste s pravilnim primjerima.

Casting tipa u Javi

Lijevanje tipa

Pretvaranje vrijednosti iz jedne vrste podataka u drugu vrstu podataka poznato je kao lijevanje tipa .

fibonaccijev niz u Javi

Vrste lijevanja tipa

Postoje dvije vrste lijevanja tipa:

  • Lijevanje tipa proširenja
  • Lijevanje tipa sužavanja

Lijevanje tipa proširenja

Pretvaranje nižeg tipa podataka u viši zove se širenje lijevanje tipa. Također je poznat kao implicitna pretvorba ili bacanje dolje . To se radi automatski. Sigurno je jer nema šanse da izgubite podatke. Događa se kada:

  • Obje vrste podataka moraju biti međusobno kompatibilne.
  • Vrsta cilja mora biti veća od vrste izvora.
 byte -> short -> char -> int -> long -> float -> double 

Na primjer, pretvorba između numeričkog tipa podataka u char ili Boolean ne vrši se automatski. Također, tipovi podataka char i Boolean nisu međusobno kompatibilni. Pogledajmo primjer.

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); } } 

Izlaz

 Before conversion, the value is: 7 After conversion, the long value is: 7 After conversion, the float value is: 7.0 

U gornjem primjeru uzeli smo varijablu x i pretvorili je u dugi tip. Nakon toga se dugi tip pretvara u float tip.

25 c do k

Lijevanje tipa sužavanja

Poziva se pretvaranje višeg tipa podataka u niži sužavanje lijevanje tipa. Također je poznat kao eksplicitna konverzija ili bacajući se . Programator to radi ručno. Ako ne izvršimo kasting, prevodilac prijavljuje pogrešku tijekom kompajliranja.

 double -> float -> long -> int -> char -> short -> byte 

Pogledajmo primjer lijevanja tipa sužavanja.

U sljedećem primjeru izveli smo dva puta odljev tipa suženja. Prvo smo tip double pretvorili u dugi tip podataka nakon što se taj dugi tip podataka pretvori u int tip.

NarrowingTypeCastingExample.java

gumb u sredini css
 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); } } 

Izlaz

 Before conversion: 166.66 After conversion into long type: 166 After conversion into int type: 166