所以我这里有这段代码:
char a = '1';
char b = '2';
System.out.println(a+b); \\ Outputs 99
我想知道为什么,因为这段代码:
char a = '1' + '2';
System.out.println(a); \\ Outputs c
我想增强我的原始心灵,请志同道合的人帮助。
最佳答案
字符具有真实的值; 当你写
char a = 49;
char k = '1'; // both of them holds same character because '1' code in ascii 49
当您在算术运算中处理两个变量时,如果其中一个类型是(byte、short 或 char),这些类型将升级为 int,因此
System.out.println(a+b); // both of them promote int
char c = a + b; // assign c, 99 which represents 'c'
关于Java Char 添加没有任何意义(对我来说),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60779950/