Введення в перетворення типів на Java

Як тільки змінні, так і константи різних типів будуть об'єднані в вираз, вони можуть бути змінені на подібний тип. Ця методика перетворення одного заздалегідь визначеного типу в інший відома як перетворення типів на Java.

Перетворення типу

Існує 2 різних типи перетворення, які ми використовуємо в мовах програмування.

1. Неявне перетворення типу

Якщо перетворення типу проводиться миттєво через компілятор без участі програміста, перетворення типу називається неявним перетворенням типу. Компілятор принципово заохочує кожного операнда до типу даних найбільшого операнду. Не відбувається втрати даних протягом усієї конверсії даних. Немає шансу викинути виняток через конверсію і, таким чином, відомий як безпечний для типу. Перетворення меншої величини в занадто велику кількість може бути неявним перетворенням. Перетворення даних цілого типу в плаваючі.

float i=0;
int j=10;
i=j;

// Це може бути неявна трансформація, оскільки float може бути більшим за ціле число, тому відсутність даних І також не виняток.

2. Явне перетворення типів

Перетворення типів, яке може бути здійснено через програміста, відоме як явне перетворення типів. По суті, програміст робить вираз набуття певного типу. Явна трансформація типу може бути відома як типове мовлення. Втрата даних може або не може виникнути під час перетворення даних. Тому існує ймовірність втрати деталей. це може призвести до помилки, якщо вона, можливо, спробує виконати без набору тексту. Перетворення більшої кількості на менші за розмірами числа може бути явним перетворенням.

float k=123.456
int i= (int) k

// це може бути явне перетворення, а також, (int) є typecast, оператором. На даний момент нам може вдатися уникнути винятку, але ви можете виявити видимі втрати даних. тобто i = 123

// .456 можна скинути в процесі перетворення

Введіть конверсію в Java

Як і інші мови програмування, у Java існує два типи перетворення:

Неявне перетворення типу

  • Це, як правило, те, що ми називаємо конверсією з розширенням, і це можна зробити автоматично, оскільки ми переходимо до більш широких типів даних. Отже, якщо у нас є 32-бітове ціле число і ми хочемо перейти до 64-бітного цілого числа, це ширше. Таким чином, значення можна безпечно переміщувати, щоб це було зроблено неявно. І компілятор повинен прийняти рішення про те, як зробити ці перетворення, і правила досить прості.
  • Якщо у нас є вираз з декількома (змішаними) цілими розмірами в ньому, якщо у нас короткий і довгий, незалежно від найбільшого розміру цілих чисел, в які речі його перетворять. Отже, якщо ми робимо операцію з коротким і довгим, короткий буде неявно перенесений на.
  • Якщо ми виконуємо операцію зі змішаними розмірами з плаваючою комою, тому у нас є поплавок і подвійний, вони завжди перейдуть до подвійного, оскільки подвійний - найбільший розмір з плаваючою комою.
  • І тоді, якщо ми маємо операцію, яка використовує змішані цілі типи та типи з плаваючою комою, компілятор буде передавати будь-яку найбільшу плаваючу точку в рівнянні. Отже, якщо ми робимо операцію з довгим і на плаву, довга буде кинута на плавання.
  • Якщо ми робимо операцію з довгою і подвійною, то довга буде приведена до подвійної.

Явне перетворення типів

  • Ми явно виконуємо наш код, використовуючи цю операцію лиття. Коли ми робимо це, ми беремо на себе відповідальність за те, що станеться в результаті такого типу конверсії. Через це ми можемо виконувати як розширення, так і вузьке. Таким чином, розширення переходить від 32-бітного до 64-розрядного, звужується, переходячи від 64-бітного до 32-бітного. Ми просто хотіли б усвідомлювати, що ми знаємо, що потенційно може статися.
  • Якщо ми робимо явний перехід від плаваючої точки до цілого числа, тому плаваючі точки можуть мати дробову частину, ціле число не може, тому будь-яка дробова частина буде відкинута, коли ми скинемо це плаваюче вниз до цілого числа.
  • Ви хочете бути обережними при виконанні звуження перетворення. Якщо у нас є 64-бітове ціле число, воно має можливість утримувати значення, які занадто великі, щоб вписатися в 32-бітове ціле число.
  • Отже, якщо ми передамо цей 64-бітний 32-розрядний, програма насправді зробить це, але якщо значення занадто велике, щоб вписатись у 32-бітне, ви отримаєте від цього незвичайні результати. Отже, ви хочете переконатися, що, коли ви його робите, виконуючи звужуючий склад, ви знаєте, що те, що ви робите, є безпечним.
  • І останнє - це просто те, що ви хочете бути обережними при перетворенні з цілого числа на плаваючу крапку, оскільки якщо у вас є ціле число з великою кількістю значущих цифр, через спосіб збереження плаваючої точки ви можете втратити частину ці значущі цифри.

Приклади перетворення типів

Приклади перетворення типів, згадані нижче докладно:

Код:

У нас тут проста програма, деякі декларації вгорі, плаваючі, подвійні, байтові, короткі та довгі, і всі змінні називаються, щоб допомогти визначити, які їх типи схожі на float - floatVal,

Код:

довгий - довгий

Код:

І програма просто виводить повідомлення про успіх, якщо воно працює.

Тож давайте просто подивимось, як деякі перетворення типів тут відтворюються. Тож перш за все, давайте просто продовжимо та створимо змінну. У нас короткий, і ми просто назвемо це результатом.

Насправді давайте продовжимо і назвемо це результатом1. І давайте просто зробимо просте завдання. І тому спочатку ми просто призначимо йому byteVal. Тепер, як ми очікуємо, якщо ми підемо вперед і виконаємо це, то біжимо успішно.

Код:

Вихід:

Ми знаємо, що це дійсне призначення, оскільки байт може бути присвоєний короткому, оскільки це розширення перетворення.

Якщо ми візьмемо цей byteVal, і замість цього зробимо його longVal, тож насправді це довге, якщо ми запустимо це, ми отримаємо тут повідомлення про помилку, у якому йдеться про несумісний тип, можлива втрата перетворення від довгого до короткого.

Код:

Тож, що ми можемо зробити тут, це те, що ми можемо зробити чіткий склад. Ми просто коротко поставимо перед цим. Тож тепер він дійсний, щоб ми могли його запустити.

Код:

І звичайно, це працює. Тому що довгий не міг перейти у короткий, оскільки це було звуженням перетворення.

Вихід:

Але, поставивши явний амплуа перед ним, тепер це дійсно. Якщо ми хочемо, ми можемо поставити нотатизовані позначення дуже чітко і сказати, що ви знаєте, ми знаємо, хоча перетворення байтів є законним, ми хочемо чітко показати, що ми вводимо його, помістивши туди короткий ролик, ми можемо зробити що, і це абсолютно законно.

Код:

Вихід:

Тож тепер давайте розглянемо інший сценарій. Ми створимо іншу змінну, яку будемо називати result2 , а результат2 також короткою. І що ми хочемо зробити тут, ми просто збираємося виконувати byteVal, і ми хочемо відняти longVal. Тепер ми знаємо, що це не законно, оскільки результатом виразу буде розмір найбільшого цілого числа в ньому, що є довжиною.

Код:

Тож якщо ми запустимо це, ми отримаємо помилку, сказавши, що неправомірно перетворювати довгий на короткий.

Але скажімо, що ми хочемо йти вперед і тримати цей результат як короткий. Нам потрібно зробити акторський склад. Але ми хочемо привести цей час - це значення всього результату тут. Тож, що ми будемо робити це, поставимо короткий актер перед ним.

Покладіть сюди короткий акторський склад. І загорніть все це в дужки. І запустити його.

Код:

Він буде успішно працювати.

Вихід:

Тепер оголосимо іншу змінну під назвою result3, але оголосимо цю як довгу. Отже, отримали результат 3, і що ми тут будемо робити, ми призначимо, що наш longVal - floatVal. Таким чином, ми запускаємо це, помилка втрачає перетворення, перетворюючи з плаваючого в довге, тому що, коли ми маємо цілий тип і будь-який тип з плаваючою комою, результатом буде тип з плаваючою комою.

Код:

Тож давайте продовжимо та перетворимо наш результат зараз у поплавок. Отже, зробивши цей поплавок, ми повинні мати можливість йти вперед і запускати його. І бігайте успішно.

Код:

Вихід:

Але тепер, якщо ми візьмемо floatVal тут і перетворимо це на DoubleVal, і якщо ми спробуємо запустити це, ми отримаємо помилку, оскільки він говорить, що результат буде подвійним, тому що, коли ви робите ціле число і плаваючу крапку, це розмір найбільшої плаваючої точки в рівнянні.

Код:

Тож давайте продовжимо та зробимо цей результат подвійним, щоб тепер ми могли його запустити.

Код:

Вихід:

Висновок

1. Змінні сильно набрані на Java
2. Первісні типи

  • Типи цілих чисел, типи з плаваючою комою, тип char, булевий тип

3. Тип перетворення

  • Нам часто доводиться переходити між різними типами, оскільки в міру того, як наші програми будуть складнішими, вони можуть включати кілька типів даних.
  • Компілятор може обробляти перетворення типів, які розширюються, переходячи від одного типу до іншого, які можуть містити більші значення,
  • Але ви також можете використовувати кастинг для явного виконання тих типів перетворень, які компілятор не може виконати автоматично.

Рекомендовані статті

Це посібник з перетворення типів на Java. Тут ми обговорюємо вступ, перетворення типів у java, такі як неявні та явні разом із прикладами, використовуючи різні ситуації. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Конструктор на Java
  2. Сортування на Java
  3. Конструктор на Java
  4. JCheckBox на Java
  5. Киньте проти кидок | Топ 5 відмінностей, які ви повинні знати
  6. Як реалізувати прапорець у завантажувальному закладі
  7. Перетворення в Java з прикладами