我有一个简单的代码块,有人可以向我解释为什么这在Java中可以接受吗?
int a = 10;
int c = 'A' + (a -1);
System.out.println(c);
Run Code Online (Sandbox Code Playgroud)
在编译器中显示的结果是:74.那么七十年代的价值究竟来自哪里呢?谢谢你的回答.
在Java中,a char可以(显式或隐式)转换为int,然后使用与该字符关联的ASCII值.
在你的情况下,七十年代来自角色'A'.该字符的ASCII值为65.因此系统隐含地进行了转换'A' ? 65.你的计算是:
c = 'A' + (a-1)
?
c = 65 + (10-1)
?
c = 74
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |