public static void main(String... args){
int a = 5 - '0';
System.out.println(a); //-43
Integer b = 5 - '0';
System.out.println(b); //-43
System.out.println(Integer.valueOf(a)); //-43
System.out.println(String.valueOf(b)); //-43
}
所以我对这段代码有两个问题。为什么int a = 5 - '0';在Java中可能吗?
- 为什么
int=5-'0';
是可能的?5
是一个int,这是确定的,但旁边是一个字符,而不是为什么它不会引发任何错误? - 它是结果的ASCII值吗?比如何计算结果?
我知道的43
ASCII值+
但它会转换'0'
到它的ASCII,然后做了手术?
因为字符是数字。 – tkausl
只需查看一个ASCII表http://www.asciitable.com/'0'的ASCII值是48 –
这是因为字符常量“0”在这种情况下被自动提升为int – fge