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