Zoh*_*mir 4 java integer character
我正在读一本书,我发现了这个:
int tiles = ch - 'A';
Run Code Online (Sandbox Code Playgroud)
哪里ch是一个角色.
我不明白的是两个字符之间的操作是如何产生整数的?
甲char变量实际存储在存储器中作为数字值.这个数字代表一个特定字符(a,b,é,...),根据特定的编纂(通常是ASCII表).
例如:
Decimal Char
----------------
65 A
66 B
... ...
Run Code Online (Sandbox Code Playgroud)
您可以使用char变量,就好像它是一个数字变量一样.它将自动转换,并具有表示的数值char.反之,数值可以解释为a char.
// The ASCII code for 65 is A
int result = 100 - 'A';
System.out.println ("100 - A is " + result); // Prints 35
System.out.println("ASCII code for 65: " + (char)65); // Prints A
Run Code Online (Sandbox Code Playgroud)
这是上面代码的Ideone演示.
根据JLS,第5.6.2节详细介绍.二进制数字促销和5.1.2.扩大原始转换:
对原始类型的19个特定转换称为扩展原始转换:
- ...
- char到int,long,float或double
- ...