我有一个简单的代码块,有人可以向我解释为什么这在Java中可以接受吗?
int a = 10;
int c = 'A' + (a -1);
System.out.println(c);
在编译器中显示的结果是:74。
那么,七十年代的价值究竟从何而来?
感谢您的回答。
最佳答案
在Java中,可以将char
显式或隐式转换为int
,然后使用与此字符关联的ASCII值。
根据您的情况,七十年代来自字符'A'
。此字符的ASCII值为65
。因此,系统会隐式地执行'A' → 65
强制转换。您的计算结果是:
c = 'A' + (a-1)
↓
c = 65 + (10-1)
↓
c = 74