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