Java技术路线--1基本类型与包装类

Java的基本数据类型有
byte,short,int,long,float,double,boolean,char.


对应的包装类是 Byte,Short,Integer,Long,Float,Double,Boolean,Character.


包装类型常见的静态方法和常量,以Byte为例


Byte.Size 获得基本数据类型的位数,结果是8位


Byte.MIN_VALUE Byte.MAX_VALUE获取基本数据类型的最小和最大数值,结果是-128和127,最大值=|最小值|-1,因为0存在


Byte.decode() 接受字符串,字符串可是是十进制,八进制,十六进制的字符串,返回结果是Byte包装类,通常使用Byte.vauleOf()返回包装类,有三个重载,其中的一个重载radix代表进制。


Byte.parseByte() 返回结果是byte基本类型,有两个重载。


额外的静态方法,以Integer为例,包含了进制显示,进制转换


Integer.bitCount() 返回二进制补码,1的数量


Integer.toBinaryString() 返回一个字符串,是整数参数转换后的无符号二进制数值,补码,Integer.octalString(),Integer.hexString()分别返回8进制无符号数和16进制无符号数,如果整数是负数,那么返回的结果是补码,因为正数的原码和补码相反


Integer.highestOneBit() 返回整数补码二进制最右边的1代表的整数,Integer.lowestOneBit()返回整数补码二进制最左边的1代表的整数,返回的数是2的倍数,1除外。


Integer.reverse() 返回补码反转后的数值


Integer.signum() 判断整数是负数返回-1,0返回0,正数返回1.


数值的比较
Integer.max(a,b) Integer.min() Integer.compare(a,b) 返回对应的结果,如果是浮点数,是近似比较,内部调用的是new Float(f1).compareTo(new Float(f2))


浮点数特有的静态常量
Float.POSITIVE_INFINITY,Float.NEGATIVE_INFINITY 分别是正无穷大 Float.intBitsToFloat(0x7f800000),和负无穷大Float.intBitsToFloat(0xff800000)。
Float.NaN一个非数值,返回 Float.intBitsToFloat(0x7fc00000)。


也有对应的静态方法,判断一个浮点数是否是上面的数


在实例对象中,通常有XXXVaule() 返回的是转换类型后的数值.


类型转换
在Java中规定的字面量整数是int基本数据类型,浮点数字面量是double基本数据类型。


类型转换造成的精度缺少问题,计算机底层是用二进制补码存储的,精度缺少,是截取地位,再通过符合类型设置。
比如byte a=(byte)129,a=-127.
129的补码是1000,0001;而转换成byte类型,只需要低8位,而1000,0001的8位补码转换成为源码是-127


自动类型转换,a的位数大于b的位数,那么a类型转换成b类型,需要手动转换,b类型转换成a类型不需要,及隐式类型转换。

原文地址:https://www.cnblogs.com/lin7155/p/14843022.html