Во-первых, char
является кодовым модулем UTF-16, UTF-16 является одним из нескольких кодировок для набора символов Unicode.
Для диапазонов символов U + 0000 - U + D7FF и U + E000 - U + FFFF, UTF-16 кодирует их в одном блоке кода (char
) со значениями '\ u0000' to '\ uD7FF' и ' \ uE000 'to' \ uFFFF. Таким образом, в пределах этих диапазонов char
можно считать полным символом.
Теперь, в некоторых диапазонах кода, порядок иногда полезен: цифры от 0 'до' 9 'и базовые латинские буквы' А 'до' Z 'и' a 'до' z 'находятся в натуральном порядке.
Итак, в таких случаях вы можете использовать вычитание для определения «расстояния» между значениями. '3' - '1' = 2 означает, что «3» находится за пределами «1».
(Заманчиво применять эту логику и к буквам. Однако, поскольку алфавиты различаются по языку, гораздо проще использовать строку, чтобы дать упорядочение алфавиту, например, «ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ».)
Добавление символов не является чем-то, что я могу придать значение ('3' + '1'), хотя это разрешено, потому что char
может быть неявно или явно преобразован между целыми числами (код UTF-16 стоимость единицы).
Вы даже запустили этот код? Я вставил точные две строки, которые у вас есть, и не получил тот же результат, что и вы. – nhouser9
Могу ли я узнать, какой результат вы получаете ...? – Prasanth2617
@ Prasanth2617 он должен быть точно таким же, как и вы. –