char c = '\u0000';
当我打印c时,它在命令行窗口中显示“ a”。
那么char类型字段的默认值是多少?
有人说'\ u0000'在Unicode中表示null;那正确吗?
Answers:
'\u0000'
与 null
null character
啊 该问题的一些答案是将默认值称为空字符。
null
用Java术语表示的,否则\u0000 == null
会返回false
'\ u0000'是字符的默认值。其十进制等效值为0。
当您声明一些char变量而不对其进行初始化时,默认情况下将为其分配'\ u0000'。
看到这个代码
public class Test {
char c;
public static void main(String args[]) throws Exception {
Test t = new Test();
char c1 = '\u0000';
System.out.println(t.c);
System.out.println(c1);
System.out.println(t.c == c1);
}
}
该代码将在最后一次打印时显示为true。
字符的默认值为Character.MIN_VALUE,内部表示为MIN_VALUE = '\u0000'
此外,您可以检查字符字段是否包含默认值,例如
Character DEFAULT_CHAR = new Character(Character.MIN_VALUE);
if (DEFAULT_CHAR.compareTo((Character) value) == 0)
{
}
'\u0000'
代表null
。因此,如果您打印未初始化的char变量,您将一无所获。
char数据类型的默认值为'\ u0000'(或0),最大值为'\ uffff'(或65,535(含))。
您可以在此处查看信息。
请注意,null和零之间有明显的区别。在http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html中(上面引用)中,该语句是:-
还有一个特殊的null文字可用作任何引用类型的值。可以将null分配给任何变量,原始类型的变量除外。除了测试空值的存在之外,您几乎无能为力。因此,在程序中经常使用null作为标记,以指示某些对象不可用。
这就是为什么以下语句会给您一个错误,而不是其他错误:-
char a = null; //类型不匹配:无法从null转换为char。
char b = 0; //有效的语法。
\u0000
是Java中char类型的默认值
正如其他人提到的,您可以使用比较来检查未初始化变量的值。
char ch;
if(ch==0)
System.out.println("Default value is the null character");
默认值char
是\ u0000的
public class DefaultValues {
char varChar;
public static void main(String...l)
{
DefaultValues ob =new DefaultValues();
System.out.println(ob.varChar=='\u0000');
}
}
这将返回true
如Java语言规范中所述,char基本类型的默认值为'\ u0000'(空字符)。
“ u0000”的快捷方式是“ \ 0”,因此可以用“ u0000”或“ \ 0”表示空值。
下面的Java程序使用实例char字段'c'验证空表示。
public class DefaultValueForchar {
char c;
public static void main(String[] args) {
char c0 = '\0';
char cu0000 = '\u0000';
DefaultValueForchar obj = new DefaultValueForchar();
System.out.println(obj.c);
System.out.println(c0);
System.out.println(cu0000);
System.out.println(c0==cu0000);
System.out.println(obj.c==c0);
System.out.println(obj.c==cu0000);
}
}
char == 0