Математичні Операції Над 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-таблиці. Символу A у таблиці відповідає число 65, а символу ( — число 40. Як можна здогадатися, символу i відповідає 105, оскільки 65 + 40 = 105.
Ось посилання на ASCII-таблицю.
Приведення типів
У наведеному вище коді ви могли помітити цей незвичний синтаксис:
char result = (char) (firstLetter + secondLetter);
Але чому потрібне (char)? Операція додавання повертає результат типу int, оскільки підсумовує числові коди символів. Щоб зберегти цей результат у змінній типу char, необхідне явне перетворення. Саме це і виконує конструкція (char) — вона перетворює числове значення назад у символ.
У нашому прикладі результат додавання — число 105. Конструкція (char) перетворює це число на символ, що відповідає коду 105 у ASCII table, яким є символ i.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат