题35:答案B下面关于数据类型的默认值的说法中错误的是:(选择1项)A.char类型的默认值是:'\u0000'
B.boolean类型的默认值是:false
C.float和double类型的默认值是:0.0
D.int\short\long类型的默认值是:0
E.引用类型的默认值是:null参考:http://wenku.baidu.com/view/829e2eda7f1922791688e88c.html
其中的第35题我觉得这个几个选项都对呢,很困惑的啊
B.boolean类型的默认值是:false
C.float和double类型的默认值是:0.0
D.int\short\long类型的默认值是:0
E.引用类型的默认值是:null参考:http://wenku.baidu.com/view/829e2eda7f1922791688e88c.html
其中的第35题我觉得这个几个选项都对呢,很困惑的啊
boolean b;
System.out.println(b);
public class TestA {
boolean bb;
public static void main(String[] args) {
TestA a = new TestA();
System.out.println(a.bb);
}
}输出false
float 的默认值不能是 0.0 应该精确表达为 0.0f
float a = 0.0;
这样写能通过编译嘛?
public class Test { static byte a;
static short b;
static int c;
static long d;
static float e;
static double f;
static boolean g;
static char h; public static void main(String[] args) throws Exception {
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(g);
System.out.println(h == '\u0000');
}
}
0
0
0
0
0.0
0.0
false
true
我觉得一定要自己去试才知道,
通不通过编译, 自己试了就马上知道了,记的看视频,
说 long l = 1; 不可以, 一定要在后面加个l;
但是, 试了才知道, 不加也可以, 只是如果右边的数超过了int 的范围就一定要加l
那我们必须看一下 0.0 默认表示的是什么如果把一个数据类型的默认值赋值给它,不应该报错吧?
因为编译过程中,对成员变量初始化默认值的时候,
实际上就是做了这样一句赋值 char a = '\u0000';
boolean b = false;
double c = 0.0;
float d = 0.0;
int e = 0;
short f = 0;
long g = 0;
String h = null;这里面唯一一句会报错的就是 float d = 0.0;
System.out.println(e);
最终调用的是 Float 的 toString 方法
如果是看内存的值,那 float 的表达形式恶心着呢
附給float, 就肯定要加上f了
成员变量(包括数组元素),默认值其实都是0,
byte 0
short/int/long 是0
float/double 是0.0
char '\u0000'也就是是C语言中的'\0'其实也是0,
boolean false,也就是C里面的0感觉那个35题,没正确答案
char c;
int i;
float f;
double d;
byte b;
short s;
String str;
long l;
boolean bl; public static void main(String[] args){
DefaultValue dv = new DefaultValue();
System.out.println(dv.c); //啥也木有
System.out.println(dv.i);//0
System.out.println(dv.f);//0.0
System.out.println(dv.d);//0.0
System.out.println(dv.b);//0
System.out.println(dv.s);//0
System.out.println(dv.str);//null
System.out.println(dv.l);//0
System.out.println(dv.bl);//false
}}