Я учусь. Хорошо, но подождите я не простой ученик, я учусь, делая что-то. И как только я узнал об этом, я верю, что смогу поделиться этим с такими людьми, как вы. :)
Что такое приведение типов?
Проще говоря, приведение типов — это процесс преобразования одного типа данных в другой, чтобы его можно было легко хранить и обрабатывать с помощью этого требуемого идентификатора типа данных.
В java есть два способа приведения любого типа данных:
- Неявное приведение типов или расширяющее приведение типов (автоматически)
- Явное приведение типов или сужающее приведение типов (вручную)
Расширение литья-
- Всякий раз, когда тип данных с меньшей емкостью сохраняется в типе данных с большей емкостью, автоматически происходит неявное преобразование или расширение типа.
- Никакой потери информации при таком типе приведения.
- Приведение типов данных от меньшего к большему.
Теперь вы, должно быть, думаете, что Long имеет размер 8 байтов, а float — 4 байта, так как 8 байтов данных могут храниться в 4 байтах пространства?
Ну, JAVA позаботится об этом, потому что это неявное преобразование типов и вам не нужно беспокоиться об этом.
давайте разберемся с этой концепцией на примере:
Предположим, что есть две комнаты R1 и R2 со 100 и 50 скамейками соответственно. В R1 один человек сидит на скамейке. Таким образом, общее количество человек, которое может вместить R1, равно 100. Теперь во второй комнате (R2) 2 человека могут сидеть на скамейке, поэтому общая вместимость этой комнаты также становится 100. Так что это о том, как все управляется.
Итак, в java все дело во внутренней организации данных и в том, как с ними работает JVM.
Давайте возьмем программу Java, чтобы понять неявное приведение типов:
И выход -
Values Before casting- Byte 97 Short 3256 Int 100 Long 1223654555 Float 10.32 Double 123.325698 Char a Values after casting- Short 97 Int 97
Сужение трансляции
- Всякий раз, когда тип данных большей емкости хранится в типе данных меньшей емкости, происходит явное приведение типов или сужение.
- Потеря информации при таком приведении типов.
- Приведение типов данных от большего к меньшему.
Зачем нам это нужно?
Предположим, что есть случай, когда нужно сохранить тип данных большего размера в типе данных меньшего размера.
int x = 100; double y = 20.3; x = y; // ERROR; Double(8 bytes)can't be assigned to int(4 byte)
Для таких ситуаций нам нужно выполнить явное приведение типов или сужение. В Java есть определенный способ выполнения сужающего приведения.
x = (int)20.3; // Explicit TypeCasting
Итак, общий синтаксис для выполнения сужающего приведения следующий:
identifier = (data-type-of-identifier-to-which-casting)Literal;
Давайте возьмем программу Java, чтобы лучше понять ее.
И выход -
20
Обратите внимание, что в приведенном выше примере20.3 было преобразовано в 20, а .3 отброшено. Это связано с тем, что x имеет тип int, поэтому он возьмет целую часть из значения double и оставит все остальное.
Возьмем еще один пример сужающего приведения:
И выход -
100 -106
Вы заметили, что когда мы приводили z (тип int) к b2 (тип byte), мы получаем неожиданный результат. И здесь сужающиеся отливки создают проблему. Это потеряет информацию, которую вы хотите разыграть. Поэтому при использовании сужающего приведения будьте осторожны с типами данных и их размерами.
Это все, что касается приведения типов в Java. Спасибо, что прочитали эту информацию. Пожалуйста, позвольте мне улучшить мое письмо и знания, предоставляя ценные отзывы. И, пожалуйста, задавайте любые сомнения или вопросы, которые у вас есть в отношении этого поста.
Спасибо!
Пожалуйста, похлопайте в ладоши, чтобы больше людей могли найти его.