Математичні Операції Над Char
Свайпніть щоб показати меню
Чому можливі математичні операції над типом char?
Тип даних char є досить цікавим. Він зберігає символи, але над цим типом також можна виконувати операції.
Main.java
1234567891011package com.example; public class Main { public static void main(String[] args) { char firstLetter = 'A'; char secondLetter = '('; // We use type casting here to convert value from `int` to `char` char result = (char) (firstLetter + secondLetter); System.out.println(result); } }
Тут використовується знак + для об'єднання двох різних змінних.
Можна було б подумати, що результатом буде A(, але, як бачимо, результат — це i. Чому так? char — це не суто символьний тип даних; він використовує символи з ASCII table. Символ A відповідає числу 65 у таблиці, а символ ( — числу 40. Як ви вже здогадалися, символ i відповідає 105, оскільки 65 + 40 = 105.
Ось посилання на ASCII table.
Приведення типів
У коді вище ви могли помітити цю незвичну синтаксис:
char result = (char) (firstLetter + secondLetter);
Але чому потрібен (char)? Операція додавання повертає результат типу int, оскільки підсумовує числові коди символів. Щоб зберегти цей результат у змінній типу char, необхідне явне перетворення. Саме це і робить конструкція (char) — вона перетворює числове значення назад у символ.
У нашому прикладі результат додавання — число 105. Конструкція (char) перетворює це число на символ, що відповідає коду 105 у ASCII table, яким є символ i.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат