JAVA数据类型
JAVA数据类型——表一
简单类型
简单类型的变量在堆栈(Stack)中直接包含其数据,每个变量都有自己的数据副本,因此对一个变量的操作不影响另一个变量。简单类型一般适合存储少量数据,可以实现高效率处理。
整形:*byte,*占一个字节,即8bit.
short:占两个字节,即16bit.
int:占四个字节,即32bit.
long:占8个字节,即64bit.
浮点:float:单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 excess-127 二进制指数和一个 23 位尾数。
double:双精度浮点型)是计算机使用的一种资料型别。比起单精度浮点数(float),double(双精度浮点数)使用 64 位(8字节) 来储存一个浮点数。 它可以表示十进制的15或16位有效数字,负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.797693E+308
float和doubl区别:double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多
整形浮点型类型范围表———表二:
引用类型
引用类型的变量在堆栈(Stack)中存储对数据(对象)的引用(地址),数据(对象)存储在对(Heap)中。对于引用类型,两个变量可能同时引用一个对象,因此对一个变量的操作可能影响到两一个变量所引用的对象。
例:
class Class1{
public int value=0;
}
public class TestType{
public static void main(String[] args) {
int val1=0;
int val2=val1;
val2=123;
Class1 ref1=new Class1();
Class1 ref2=ref1;
ref2.value=123;
Ststem.out.println("val1:"+val1+"val2:"+val2);
System.out.println("refs1:"+ref1.value+"refs2:"+ref2.value);
}
}
运行结果:
val1:0 val2:123
refs1:123 refs2:123