关于java各种数据类型分析

JAVA数据类型分基本数据类型和引用数据类型;
1)Java里面包含8个基本数据类型,分别是:
byte、short、char、int、float、long、double、boolean
1.byte是JAVA中最小的数据类型,它在内存中占8位(8个bit),取值范围从-128到127
2.short类型在内存中占2个字节,取值范围从 -32768到32767
3.char类型在内存中占2个字节。表示一个字符,也可以使用ASCII码范围内的值来给char型    
  的变量赋值。由于字符在内存中的取值不存在负数范围,所有取值范围从 0 到 65535
  例如:赋值:char i = ‘a’; 或者 char i = 97;
4.int型在内存中占4个字节。取值范围从 -2147483648 到 2147483647赋值:int i = 
  10;
5.float型在内存中占4个字节。取值范围从 -3.4E38 到 3.4E38赋值:float i = 1.0f;
6.long型在内存中占8个字节。取值范围从 -9223372036854775808 到
  9223372036854775807
7.double 型在内存中占8个字节。取值范围从 -1.7E308 到 1.7E308
8.单个boolean型的变量在内存中占1/8个字节,因为boolean型变量只有两个值,true和
  false,也就是计算机里面的0和1,0代表true,1代表flase,用1位代替即可,而一个
  byte占8位,所以boolean型变量在内存中只占1/8个字节
注意:
1.JAVA中所有的数字变量都是有符号(正负)的
2.带有小数点的数字变量默认都为double型
3.所占字节数小的数字型变量赋值给所占字节数比它大的类型时不用强制类型转换,此时是
  自动转型。
4.int型变量赋值给char型变量时,JVM会以int型变量值到ASCII码表中查找出所对应的
  字符,再赋值给char型变量。反之也是。但是遵循第4条规则
2)JAVA中,非简单数据类型的类型都是引用数据类型
 
/**
 * 引用数据类型例子
 */
public class DataTypeDemo {
	public DataTypeDemo(){
	}
	//覆盖了父类toString方法
	public String toString() {
		return super.toString();
	}
	
	public static void main(String[] args) {
	1.	DataTypeDemo dtd ; //声明了一个引用数据类型的变量
	2.	dtd = new DataTypeDemo(); //实例化了这个引用数据类型
	}
}


  


上述这段例子应该可以很好的理解:第1行,我们声明了一个引用数据类型的变量,但是这个时候,只在内存中开辟了一个空间存放这个变量。而这个变量此时没有任何指向;第2行,我们实例化了一个对象,这个时候在内存中开辟了一片空间存放这个对象,并让之前声明的引用数据类型变量指向了这个内存空间的首地址。
所以,我们可以说,引用数据类型就是指向一片内存空间地址的变量类型。 任何引用数据类型的初始化都需要先用new关键字来开辟一片内存空间,然后让引用数据类型变量指向这个空间的地址。



你可能感兴趣的:(java,jvm)