1.包装类
- 就是基本类型所对应的对象注意的是:Integer和character
- parseint static 将数据类型字符串转成int类型,注意不能是null因为所有对象默认值都是null,但是null不能调用方法
integer.parseint("12")返回int 12
parseint(“110”,2)二进制110转换为int 结果是6 返回均是10进制
java最高支持36进制(0-9,a-z一共36)注意前边数据和进制转换数相匹配,二进制不能出现大于1得数
parse八大类均有
- int转String直接追加+“”就会变成字符串
3+""就是字符串3
也可以integer.tostring(5)返回字符串5
integer.tostring(5,2)将十进制5转成2进制返回字符串
- 构造方法new integer(“100“)和new Integer("100").intValue()一样转成基本类型
- 静态成员maxvalue,minvalue
均是静态方法
toBinaryString十转二
toOctalString十转八
toHexString十转十六
- jdk1.5之后出现自动装箱和自动拆箱
指不需要new integer(5)来转,直接integer in=5;
其中5是int直接自动转换对象in。此为自动装箱
自动拆箱 对象in+1=6此时in调用intvalue来转换为基本int5来加1
- 注意byte取值和比较
integer a=127;
integer b=127;
syso(a==b),true
syso(a.equals(b));true
integer c=128;
integer d=128;
syso(c==d),flase
syso(c.equals(d));true
==是比较对象地址(自动装箱)
equals重写方法比较数值
byte范围之内(-128到127)jvm查到如果有就不会新开地址而是d指向c的地址
如果超出byte范围就会新开地址
2.system
- 默认和私有不可用,可用全部是静态方法
- System.currentTimeMillis()返回现在毫秒,可以两个毫秒计算程序性能
- 空循环不执行,嵌套循环效率较低
- System.exit(0)退出虚拟机 0表示正常退出模式
- System.gc()收取对象垃圾
- System.getProperties()获取当前系统属性
3.array
- arraycopy(复制源,复制起始索引,复制到目标数组,目标数组起始索引,复制几个元素)
复制的元素会覆盖目标数组相应索引的元素 - native标记的是调用window来完成,走的内存是本地方法栈和虚拟机内存无关
4.math 做数学运算 java.lang.math
- math.abs(-9)返回绝对值9
- cell(double)返回大于或等于double的最小整数cell(5.1)=6.0
- floor 返回小于或等于的最大整数值floor(-1.5)=-2.0
- pow(a,b)a的b次方
- sqrt()返回平方根
- random返回0.0到1.0之间
- round获取参数的四舍五入值取整,四舍五入就是+0.5
5.arrays - Arrays.sort(数组)升序排列
- Arrays.binarySearch(数组, key)查找数组key值,二分查找法,但要保证数组有序元素不存在时候返回值(插入点-1 )
- Arrays.tostring打印出数组
6.大数据运算biginteger - 超过long型 new bigInteger(“”)
- 两个bigInteger计算完成还是biginteger
- 四则运算
b.add(c)
b.subtract(c)
b.multiply(c)
b.divide(c)除
7.普通数据计算精度不高
0.09+0.01=0.09999;
1.0-0.32=0.67999;
1.015*100=101.49999;
1.301/100=0.013009999;
- 在计算机二进制中表示浮点数不精确那就使用BigDecimal
用String类型数字格式来传和bigInteger一样用法 - 除法可能除不尽
- divide(参数,保留几位小数,保留模式),模式有roundup加一取整,rounddown舍弃小数,roundhalfup>=0.5(四舍五入);roundhalfdown>0.5否则砍掉