我知道下面的代码返回'A'的ASCII值,但我不明白(int)做什么。
System.out.print((int)'A');
输出:65
答案 0 :(得分:3)
(int)
有一个cast。
您正在将char
文字A
转换为int
,从而将65字节的双字节表示扩展为四字节表示。
答案 1 :(得分:2)
它只是将你的char转换为int。
char character = 'a';
int ascii = (int) character;
答案 2 :(得分:2)
当您使用' A'在sysout里面。你按原样打印它。但是当与任何内部()一起使用时,你将如上所述进行投射。你可以试试这些。
System.out.println((Character)'A'); --> Prints A
System.out.println((Object)'A'); --> Prints A
System.out.println((float)'A'); --> 65.0
System.out.println((byte)'A'); --> 65
作为证据问题。
System.out.println((Integer)'A'); --> Cannot cast from char to Integer
System.out.println((Float)'A'); --> Cannot cast from char to Float