Зміст курсу
Основи Java
Основи Java
Математичні Операції Над Char
Чому можливі математичні операції над типом char?
Тип даних char
є досить цікавим. Він зберігає символи, але над цим типом також можна виконувати операції.
Яким буде результат виконання цього коду?
Main
package 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.
Це важливо знати, оскільки це дозволяє ефективно та гнучко працювати з типом даних char
.
Ось посилання на ASCII-таблицю.
Приведення типів
У наведеному вище коді ви могли помітити цей незвичний синтаксис:
python
Але чому потрібен (char)
? Операція додавання повертає результат типу int
, оскільки підсумовує числові коди символів. Щоб зберегти цей результат у змінній типу char
, необхідне явне перетворення. Саме це і виконує конструкція (char)
— вона перетворює числове значення назад у символ.
У нашому прикладі результат додавання — число 105. Конструкція (char)
перетворює це число у символ, що відповідає коду 105 у ASCII table, яким є символ i
.
Дякуємо за ваш відгук!