当然我是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'值..?谁能解释一下?
答案 0 :(得分:5)
char是一个2字节长的无符号整数。 27
是一个整数文字,它在char的范围内,因此编译器接受允许您将它分配给char。
'F'
是一个字符文字,表示字符F,在unicode标准中具有十进制值70。因此,将“F”分配给整数与分配70相同。