В този урок ще научим за Java Type Casting и неговите типове с помощта на примери.
Преди да научите за Java Type Casting , уверете се, че знаете за Java Data Types.
Тип Кастинг
Процесът на преобразуване на стойността на един тип данни ( int
, float
, double
и т.н.) към друг тип данни е известен като освободи от стереотипа.
В Java има 13 вида преобразуване на типове. В този урок обаче ще се съсредоточим само върху основните 2 типа.
1. Разширяване тип леене
2. Кастинг за стесняване на типа
За да научите за други видове преобразуване на типове, посетете Преобразуване на типове Java (официална документация за Java).
Разширяване тип леене
При леене на разширяващ тип Java автоматично преобразува един тип данни в друг тип данни.
Пример: Преобразуване на int в двойно
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); ) )
Изход
Целочислената стойност: 10 Двойната стойност: 10.0
В горния пример ние присвояваме int
променливата тип с име num на double
променлива тип с име data.
Тук Java първо преобразува int
данните за double
типа в типа. И след това да го присвоите на double
променливата.
В случай на разширяване на типа леене , по-ниският тип данни (с по-малък размер) се преобразува в по-високия тип данни (с по-голям размер). Следователно няма загуба на данни. Ето защо този тип преобразуване се случва автоматично.
Забележка : Това е известно още като неявен тип леене .
Стесняване на кастинг тип
При леене на стесняващи типове ние ръчно преобразуваме един тип данни в друг, използвайки скобите.
Пример: Преобразуване на double в 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); ) )
Изход
Двойната стойност: 10,99 Целочислената стойност: 10
В горния пример ние присвояваме double
променливата тип с име num на int
променлива тип с име data.
Забележете линията,
int data = (int)num;
Тук int
ключовата дума вътре в скобите показва, че променливата num се преобразува в int
типа.
В случай на стесняване на леене на тип , по-високите типове данни (с по-голям размер) се преобразуват в по-ниски типове данни (с по-малък размер). Следователно има загуба на данни. Ето защо този тип преобразуване не се случва автоматично.
Забележка : Това е известно и като явно леене на тип .
Нека да видим някои от примерите за конвертиране на други типове в Java.
Пример 1: Преобразуване на тип от int в 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); ) )
Изход
Целочислената стойност е: 10 Стойността на низа е: 10
В горната програма обърнете внимание на реда
String data = String.valueOf(num);
Тук използвахме valueOf()
метода на класа Java String, за да преобразуваме променливата тип int в низ.
Пример 2: Преобразуване на тип от String в 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); ) )
Изход
Стойността на низа е: 10 Целочислената стойност е: 10
В горния пример обърнете внимание на реда
int num = Integer.parseInt(data);
Тук използвахме parseInt()
метода на Integer
класа Java, за да преобразуваме променлива тип низ в int
променлива.
Забележка : Ако променливата на низа не може да бъде преобразувана в променлива с цяло число, NumberFormatException
възниква име с име .