у Јави, ливење типа је метод или процес који конвертује тип података у други тип података на оба начина ручно и аутоматски. Аутоматску конверзију врши компајлер, а ручну конверзију изводи програмер. У овом одељку ћемо разговарати ливење типа и његове врсте са правим примерима.
Тип ливење
Конвертовање вредности из једног типа података у други тип података је познато као ливење типа .
Врсте ливења типа
Постоје две врсте ливења:
- Ширење типа Цастинг
- Кастинг типа сужавања
Ширење типа Цастинг
Конвертовање нижег типа података у виши се зове проширење ливење типа. Такође је познато као имплицитна конверзија или бацање доле . Ради се аутоматски. Сигурно је јер нема шансе да изгубите податке. Одржава се када:
1 милион број
- Оба типа података морају бити међусобно компатибилна.
- Циљни тип мора бити већи од типа извора.
byte -> short -> char -> int -> long -> float -> double
На пример, конверзија између нумеричког типа података у цхар или Боолеан не врши се аутоматски. Такође, типови података цхар и Боолеан нису међусобно компатибилни. Хајде да видимо пример.
1 до 100 римски бр
ВиденингТипеЦастингЕкампле.јава
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); } }
Излаз
Before conversion, the value is: 7 After conversion, the long value is: 7 After conversion, the float value is: 7.0
У горњем примеру, узели смо променљиву к и претворили је у дуг тип. Након тога, дуги тип се претвара у тип флоат.
Кастинг типа сужавања
Конвертовање вишег типа података у нижи се зове сужавање ливење типа. Такође је познато као експлицитна конверзија или бацање горе . Програмер то ради ручно. Ако не извршимо кастинг онда компајлер пријављује грешку у времену компајлирања.
double -> float -> long -> int -> char -> short -> byte
Погледајмо пример ливења типа сужења.
У следећем примеру, два пута смо извршили ливење типа сужења. Прво, конвертовали смо тип доубле у дуг тип података након што се тај дуги тип података конвертује у тип инт.
НарровингТипеЦастингЕкампле.јава
јкуери клик
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); } }
Излаз
Before conversion: 166.66 After conversion into long type: 166 After conversion into int type: 166