V tomto výučbe sa pomocou príkladov dozvieme o Java Type Casting a jeho typoch.
Predtým, ako sa dozviete o prenášaní typov Java , nezabudnite vedieť o dátových typoch Java.
Typ Casting
Proces premeny hodnotu jedného dátového typu ( int
, float
, double
, atď) na iný typ dát je známy ako obsadiť.
V Jave existuje 13 typov prevádzania typov. V tomto tutoriále sa však zameriame iba na hlavné 2 typy.
1. Odlievanie typu rozšírenia
2. Zúženie typu liatia
Ak sa chcete dozvedieť viac o ďalších typoch konverzie typov, navštívte Java Type Conversion (oficiálna dokumentácia Java).
Typ rozšírenia Casting
V aplikácii Widening Type Casting Java automaticky prevádza jeden údajový typ na iný údajový typ.
Príklad: Konverzia int na dvojnásobok
class Main ( public static void main(String() args) ( // create int type variable int num = 10; System.out.println("The integer value: " + num); // convert into double type double data = num; System.out.println("The double value: " + data); ) )
Výkon
Celé číslo: 10 Dvojitá hodnota: 10.0
Vo vyššie uvedenom príklade priraďujeme int
premennú typu s názvom num k double
premennej typu s názvom data.
Tu Java najskôr prevedie int
údaje o double
type na typ. A potom ho priraďte k double
premennej.
V prípade Castening Type Casting sa nižší dátový typ (s menšou veľkosťou) prevedie na vyšší dátový typ (s väčšou veľkosťou). Preto nedochádza k strate údajov. Preto sa tento typ konverzie deje automaticky.
Poznámka : Toto sa nazýva aj implicitné prenášanie typov .
Zúženie typu liatia
Pri zúžení prenášania typov ručne prevedieme jeden údajový typ na druhý pomocou zátvoriek.
Príklad: Konverzia dvojitej hodnoty na int
class Main ( public static void main(String() args) ( // create double type variable double num = 10.99; System.out.println("The double value: " + num); // convert into int type int data = (int)num; System.out.println("The integer value: " + data); ) )
Výkon
Dvojitá hodnota: 10,99 Celá hodnota: 10
Vo vyššie uvedenom príklade priraďujeme double
premennú typu s názvom num k int
premennej typu s názvom data.
Všimnite si riadok,
int data = (int)num;
Tu je int
kľúčové slovo v zátvorke udáva, že premenné num premenený na int
typu.
V prípade prenášania typu Narrowing Type Casting sa vyššie dátové typy (s väčšou veľkosťou) prevádzajú na nižšie dátové typy (s menšou veľkosťou). Preto dochádza k strate údajov. Z tohto dôvodu k tomuto typu konverzie nedochádza automaticky.
Poznámka : Toto sa tiež nazýva Explicitné prenášanie typu .
Pozrime sa na niektoré príklady konverzií iných typov v prostredí Java.
Príklad 1: Prevod typu z int na String
class Main ( public static void main(String() args) ( // create int type variable int num = 10; System.out.println("The integer value is: " + num); // converts int to string type String data = String.valueOf(num); System.out.println("The string value is: " + data); ) )
Výkon
Hodnota celého čísla je: 10 Hodnota reťazca je: 10
Vo vyššie uvedenom programe si všimnite riadok
String data = String.valueOf(num);
Tu sme použili valueOf()
metódu triedy Java String na prevod premennej typu int na reťazec.
Príklad 2: Prevod typu z reťazca na int
class Main ( public static void main(String() args) ( // create string type variable String data = "10"; System.out.println("The string value is: " + data); // convert string variable to int int num = Integer.parseInt(data); System.out.println("The integer value is: " + num); ) )
Výkon
Hodnota reťazca je: 10 Celé číslo je: 10
Vo vyššie uvedenom príklade si všimnite riadok
int num = Integer.parseInt(data);
Tu sme použili parseInt()
metódu Integer
triedy Java na prevod premennej typu reťazca na int
premennú.
Poznámka : Ak reťazcovú premennú nie je možné previesť na celočíselnú premennú, objaví sa výnimka s názvom NumberFormatException
.