基本数据类型

1、基本数据类型的大小:char和short 2字节,int和float 4字节,double和long 8字节,boolean 1位 

2、Math类相关函数

double floor(double a):向下取整。Math.floor(-1.5)=-2

long round(double a):四舍五入

double ceil(double a):向上取整

double random():[0,1)随机数

3、Integer的==比较

Integer的是int的包装类,int的初值为0,Ingeter的初值为null。

publicstaticvoidmain(String[] args) {

Integer a1=1;

Integer a2=1;

Integer b1=200;

Integer b2=200;

Integer c1=newInteger(1);

Integer c2=newInteger(1);

Integer d1=newInteger(200);

Integer d2=newInteger(200);

System.out.println("a1==a2?"+(a1==a2));

System.out.println("b1==b2?"+(b1==b2));

System.out.println("c1==c2?"+(c1==c2));

System.out.println("d1==d2?"+(d1==d2));

}

运行结果:

a1==a2?true

b1==b2?false

c1==c2?false

d1==d2?false

为什么是这样的呢?我们一个一个解释。先比较a和b两组,Integer初始化时,缓存Integer对象数据,这些Integer对象对应的int值为byte范围,即[-128,127]。当直接给Integer赋int值时,如果值得范围为[-128,127],Integer直接从缓存中取Integer对象,因此,当直接赋的int值处于[-128,127]时,Integer对象为相同的对象。而通过new方式取的Integer对象,是直接从堆里面分配的对象,因此,不管具体的int值为多少,==判断的结果都是false

你可能感兴趣的:(基本数据类型)