为什么字符数组在Java中接受整数值?

时间:2015-08-02 19:28:36

标签: java arrays

当然我是Java的初学者,之前我学过C.请查看以下代码段。

char Character;
int Number = 27;
Character = Number;
System.out.println(Character);

上述代码无法编译为“信息丢失”的错误

以下代码......

char Character = ‘F’;
int Number;
Number = Character;
System.out.println(Number);`

上面的代码可以编译,但输出是“70”......而不是“F”

另请查看以下代码......

char [] arrayCh = new char [3];
arrayCh [0] = 27;
System.out.println(arrayCh[0]);

上面的代码可以编译,但它也提供了一个不熟悉的符号......

我知道有关ASCII值的问题和作为'char'的内存需要16位,'int'需要32位。因此,无法将整数值分配给字符变量,而可以将字符值作为“ASCII”值分配给整数变量。

我的问题是......为什么'char'数组接受'int'值..?谁能解释一下?

1 个答案:

答案 0 :(得分:5)

char是一个2字节长的无符号整数。 27是一个整数文字,它在char的范围内,因此编译器接受允许您将它分配给char。

'F'是一个字符文字,表示字符F,在unicode标准中具有十进制值70。因此,将“F”分配给整数与分配70相同。