char中的java赋值

时间:2013-10-16 15:47:31

标签: java char

我正在学习java,一个问题的答案似乎是错误的: 问题:以下哪项是合法的?

char c = 0x1234;//A
char c = \u1234;//B
char c = '\u1234';//C
在书中答案是C,但我认为它应该是A和C.任何人都请为我验证?

2 个答案:

答案 0 :(得分:6)

A和C都是正确的

char a = 0x1234;

文字0x1234是十六进制整数文字。它的值适合char基元类型,因此它是有效的;

char b = \u1234;//B

无效符号,因此无法编译。

char c = '\u1234';

char is

  

char:char数据类型是一个16位Unicode字符。它有   最小值'\ u0000'(或0)和最大值'\ uffff'(或   65,535(含))。

所以这是有效的。

答案 1 :(得分:1)

char c = 0x1234; // A - 正确

因为它的值以0X开头,所以它是有效的十六进制值。因此正确。

char c = \ u1234; // B ---不正确

不是有效的u代码,因为它没有包含''。

char c ='\ u1234'; // C - 正确

它是有效的u代码并被''正确包围,因此它也是正确的。