Какво е Typecasting в Java и как работи?



Леенето на типове в Java присвоява стойност на един примитивен тип данни на друг. В тази статия ще ви разкажа за различни видове преобразуване на типове.

Програмирането се играе с данни. В , има много типове данни. Повечето пъти, докато кодирате, е необходимо да промените типа данни, за да разберете обработката на дадена променлива и това се нарича Type Casting. В тази статия ще говоря за основите на кастинга на типове в Java.

По-долу са разгледани темите в тази статия:

Да започваме!





Какво е типово кастинг?

Типирането не е нищо друго освен присвояване на стойност един на друг. Когато присвоявате стойността на един тип данни на друг, трябва да сте наясно със съвместимостта на типа данни. Ако са съвместими, тогава ще извърши преобразуването автоматично, познато като Автоматично преобразуване на типа а ако не, тогава те трябва да бъдат кастирани или преобразувани изрично.

Има два вида кастинг в Java, както следва:



  • Разширяване на леене (автоматично) - Това включва преобразуване на по-малък тип данни в по-голям размер.

    байт -> кратко -> char -> int -> дълго -> float -> двойно

  • Стесняване на леене (ръчно) - Това включва преобразуване на по-голям тип данни в по-малък размер.



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

Сега нека да влезем в подробностите за видовете типово леене.

Разширяване Кастинг

Този тип преливане се извършва, когато два типа данни се преобразуват автоматично. Известно е още като имплицитна конверсия. Това се случва, когато двата типа данни са съвместими, а също и когато присвоим стойността на по-малък към по-голям тип данни.

Например, Числовите типове данни са съвместими помежду си, но не се поддържа автоматично преобразуване от числов тип в char или boolean. Също така char и boolean не са съвместими помежду си. Сега нека напишем логика за неявен тип леене, за да разберем как работи.

задайте прозорци на Java classpath 10
преобразуване на публичен клас {public static void main (String [] args) {int i = 200 // автоматично преобразуване на тип long l = i // автоматично преобразуване на тип float f = l System.out.println ('Int value' + i) System.out.println ('Дълга стойност' + l) System.out.println ('Float value' + f)}}

Изход:

Int стойност 200 Long value 200 Float стойност 200.0

Сега нека да преминем по-нататък и да разберем как работи Explicit Type Casting.

Стесняване на кастинг

В този случай, ако искате да присвоите стойност на по-голям тип данни на по-малък тип данни, можете да изпълните Изрично леене на тип или стесняване. Това е полезно за несъвместими типове данни, при които не може да се направи автоматично преобразуване.

Нека разберем това с помощта на пример.

// Java програма за илюстриране на явно преобразуване на тип публичен клас Стесняване {public static void main (String [] args) {double d = 200.06 // кастинг на явен тип long l = (long) d // кастинг на явен тип int i = (int ) l System.out.println ('Двойна стойност на типа данни' + d) // частична част загубена System.out.println ('Стойност на дълъг тип данни' + l) // частична част загубена System.out.println ('Int Стойност на типа данни '+ i)}}

Изход:

Двойна стойност на типа данни 200.06 Дълга стойност на типа данни 200 Int Стойност на типа данни 200

Сега, след като знаете как да извършите явно преливане на типове, нека преминем по-нататък и да разберем как изричното преливане може да се извърши върху Java изрази.

Изрично леене на тип в изрази

Когато оценявате изрази, изходът се актуализира автоматично до по-големия тип данни на операнда. Но ако съхранявате този резултат във всеки по-малък тип данни, той генерира грешка във времето на компилиране, поради което трябва да въведем изхода.

какво е агрегиране в java

Пример:

// Java програма за илюстриране на преливане на тип int в байт публичен клас ExplicitTest {public static void main (String args []) {byte b = 70 // type casting int to byte b = (byte) (b * 2) System.out .println (b)}}

Изход:

140

Забележка: В случай на единични операнди резултатът се преобразува в int и след това се въвежда съответно.

Така че всичко беше свързано с изрично леене на тип в Java.С това стигнахме до края на тази статия. Азнадявам се, че ви е било информативно. Ако искате да научите повече, можете да разгледате нашия както добре.

Вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Ние сме тук, за да ви помогнем във всяка стъпка по вашето пътуване, за да станете освен тези въпроси за интервю за Java, измислим учебна програма, предназначена за студенти и професионалисти, които искат да бъдат разработчик на Java.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на тази статия „Кастинг на типове в Java“ и ние ще се свържем с вас възможно най-скоро.