我正在学习一本书,发现了这一点:
int tiles = ch - 'A';
ch
一个字符在哪里。
我不明白的是两个字符之间的运算是如何产生整数的?
甲char
变量实际存储在存储器中作为数字值。这个数字代表一个特定字符(a
,b
,é
,...),根据特定的编纂(通常是ASCII表)。
例如:
Decimal Char
----------------
65 A
66 B
... ...
您可以像使用char
数字变量一样使用变量。它会自动进行强制转换,并具有代表的数字值char
。反之亦然,数值可以解释为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
这是上面代码的Ideone演示。
根据JLS第5.6.2节,进行详细介绍。二进制数值提升和5.1.2。扩大原始转换:
关于原始类型的19种特定转换称为扩展原始转换:
- ...
- char转换为int,long,float或double
- ...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句