Java 数据类型初始值


推荐java基本数据类型和类型转换,讲解非常清晰的一篇博文: Java基本数据类型


基本数据类型和引用数据类型的区别

 基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上;

  引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。

若基本数据类型作为类成员的时候,即使没有进行初始化。java也会给定默认的初始值。默认是如下所示:

boolean false
char  '/uoooo'(null)
byte(byte)0
short(short)0
int   0
long 0L
float0.0f
double  0.0d

当变量作为作为类成员使用时,java才确保给定其初始值,防止程序运行时错误。但是这些初始值对你的程序来说是不正确的。所以必须明确指定初始值。然而以上所诉并不适用于“局部”变量(即:非某个类的字段)。因此在某个方法中定义int i;那么变量i可能得到的是任一值,不会被初始化为0。所以使用前先付一个适当的值。如果忘记了,java会在编译时返回一个错误。告诉你此变量没有初始化。在类中定义一个对象的引用时,如果没有给定初始化值,此引用会默认为null值。


也就是说在java中基本类型的默认值是0,引用类型会默认为null。

栗子:

public class TestDefValue {
	private static boolean e1;
	private static byte e2;
	private static char e3;
	private static short e4;
	private static int e5;
	private static long e6;
	private static float e7;
	private static double e8;
	private static innerClass e9;
	private static String str;
	private static Integer i;
	
	public static void main(String[] args) {
		System.out.println(e1);
		System.out.println((int)e3);
		System.out.println((char)e2);
		System.out.println(e4);
		System.out.println(e5);
		System.out.println(e6);
		System.out.println(e7);
		System.out.println(e8);
		System.out.println(e9);
		System.out.println(str);
		System.out.println(i);
		System.out.println("--------------");
	}

	private class innerClass{}

}
打印结果:

false
0

0
0
0
0.0
0.0
null
null
null
--------------


参考材料

java 基本数据类型初始值(默认值)


博客内容仅作学习/交流/参考之用,欢迎大家交流探讨;E-Mail:dwang2014#hotmail.com(# ——> @)

如果内容信息侵犯了您的合法权益,请告知我,我将及时处理。

站在巨人的肩上才能看得更远,一步一个脚印才能走得更远。分享成长,交流进步,转载请注明出处!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值