Atomic Kotlin数据类型练习3:为何'a'+25等于'z'而非86?
Kotlin字符运算解惑
- 先纠正你的数值误解:
'a'对应的Unicode码点是97,不是86。86对应的是大写字母'V',你应该是搞混了数值。 - 字符加减的本质:在Kotlin里,对字符做加减整数操作时,会先把字符转换成对应的Unicode整数码值,计算完成后再转回字符:
'a' + 1:97 + 1 = 98,98对应的Unicode字符是'b',和你给出的结果一致。'a' + 25:97 + 25 = 122,122对应的Unicode字符正好是'z',所以c2的值是'z'。'E' - 2:'E'的Unicode码点是69,69 - 2 = 67,67对应'C',也和你给出的结果匹配。
内容的提问来源于stack exchange,提问作者Waqar
相关产品推荐
相关产品推荐

