day17 包装类

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否则砍掉

你可能感兴趣的:(day17 包装类)