欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java基本数据类和其包装类型之间的比较

程序员文章站 2024-01-31 08:31:10
...

Java基本数据类和其包装类型之间的比较

Java的数据类型分为两种:基本数据类型引用数据类型

基本数据类型(8种)

  • 整数类型 byte short int long
  • 浮点数类型 float double
  • 字符类型 char
  • 浮点数类型 boolean

引用数据类型(3种)

  • 数组
  • 接口

基本数据类型的包装类型

Byte Short Integer Long
Float Double
Character
Boolean

基本数据类型之间的赋值和比较

  • 如果不加对应的标识符的赋值,整数的默认值是int,浮点数是double
    注意:给byte和short赋值,编译器会自动判断其是否符合其范围
byte a1 = 128;		//报错
byte a2 = 127;		//不报错

a1++;				//不报错  	++符号会先判断会不会溢出
a1=a1+1;			//报错	  	因为这里不会自动判断,a1是变量,byte类型的变量加一个整型可能会溢出,所以报错(short同理)

long b = 154;		//不报错 	因为int可以隐式转为long
long b = 2200000000 //报错	 	因为22亿超过了int的取值范围

基本数据类型及其包装类型之间的比较(这里以int和Integer为例)

int i1 = 127;
int i2 = 128;
Integer i3 = 127;
Integer i4 = 127;
Integer i5 = 128;
Integer i6 = 128;
Integer i7 = new Integer(127);

System.out.println(i1==i3);//true
System.out.println(i3==i7);//false
System.out.println(i1==i7);//true
System.out.println(i3==i4);//true
System.out.println(i2==i5);//true
System.out.println(i5==i6);//false

总结

  • 基本数据类型和谁比较,比较的都是值
  • 包装类型都有一个缓冲区,在缓冲区内的比较的都是值(除了new出来的);超过缓冲区大小包装类型都会创建一个新的对象