你确定题目里的Char和Boolean首字母都是大写么?,如果这样我觉得这四个选型全都错了,因为大写说明都是基础类型的包装类型,也就是引用类型,而引用类型的默认值都是null。
如果都是小写的话,基础类型char和boolean的默认值分别是 '' 和 false,是没有错的,注意这里不是空格,而是空,网上说的 \u0000实际上代表的就是空。只不过这个是Unicode的码值。
测试代码如下
public class Main {
public static Character aChar;
public static char bChar;
public static Boolean aBoolean;
public static boolean bBoolean;
public static Float aFloat;
public static float bFloat;
public static String aString;
public static void main(String[] args) {
System.out.println("Char 默认值分别是 " + aChar);
System.out.println("char 默认值分别是 " + bChar);
System.out.println("Boolean 默认值分别是 " + aBoolean);
System.out.println("boolean 默认值分别是 " + bBoolean);
System.out.println("Float 默认值分别是 " + aFloat);
System.out.println("float 默认值分别是 " + bFloat);
System.out.println("String 默认值分别是 " + aString);
}
}
运行结果
Char 默认值分别是 null
char 默认值分别是
Boolean 默认值分别是 null
boolean 默认值分别是 false
Float 默认值分别是 null
float 默认值分别是 0.0
String 默认值分别是 null
debug可以看到
