当int在圆括号内时会发生什么?

时间:2017-11-19 06:52:27

标签: java syntax

我知道下面的代码返回'A'的ASCII值,但我不明白(int)做什么。

System.out.print((int)'A');

输出:65

3 个答案:

答案 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
相关问题