天天看點

資料類型封裝、小數運算問題、String類

封裝資料類型(在java.lang包下):

封裝資料類型聲明結構:(也可以單做資料類使用)

byte Byte ;    short  Short;  int  Integer(長用類型 ) ; long  Long;     float  Float;   double    Double; char  Character; boolean Boolean;

封裝資料類型:

                      能通過類名調用的方法或屬性都是靜态的static封裝資料類型,對基本資料類型的封裝,封裝資料類型是一個工具類。

                      封裝資料類型第一個字母是大寫,封裝一個類。

                      封裝資料類型是一個類,他的占用記憶體比基本資料類型要打,封裝完就是一個對象了。

                      也可以當基本資料類型來使用。

裝箱拆箱:

               Integer i=100 轉換成 Integer i=Integer.valueof(100)這種轉換就叫做裝箱 

               能直接通過類名調用的都是靜态方法。

               基本資料類型按道理是不能接受封裝資料類型的,因為封裝資料類型他是一個操作類。

               int i=Integer.valueOf("100");

      基本資料類型之是以能接受是因為它調用封裝中的一個轉換int類型的方法,将它轉換int類型,再指派給基本資料類型。

              這就叫做拆箱,不會強制轉換類型轉換。

              基本資料類型是不能接受對象類型的,通過傳回來接收,傳回的值

public class T1 {
    public static void main(String[] args) {
        int i=Integer.parseInt("15");//将字元串轉換成int型的十進制
        System.out.println(i);
    }
}           

如何解決小數運算問題,有一個類可以解決:BigDecimal

import java.math.BigDecimal;

public class T1 {
    public static void main(String[] args) {
        BigDecimal bigDecimal = BigDecimal.valueOf(0.13);
        BigDecimal bigDecimal1 = BigDecimal.valueOf(5.0);
        BigDecimal bigDecimal2 = bigDecimal.add(bigDecimal1);//加法
        BigDecimal bigDecimal3 = bigDecimal1.subtract(bigDecimal);//減法
        BigDecimal bigDecimal4 = bigDecimal.multiply(bigDecimal1);//乘法
        BigDecimal bigDecimal5 = bigDecimal1.divide(bigDecimal, 3, 3);//除法有除不盡報錯問題
        //這個是解決:divisor:除數,scale:标度,即保留幾位
        //roundingMode:舍入模式,具體可以檢視api有詳細解釋,大概有直接舍棄、直接進位、接近四舍五入等
        System.out.println(bigDecimal2);
        System.out.println(bigDecimal3);
        System.out.println(bigDecimal4);
        System.out.println(bigDecimal5);
    }
}
           

String類:

               String類是一個對象。

String類建立原理:

String s2=new String("abcd")

"abcd"、新建立的String對象。

隻要帶有“”引号都是字元串對象建立。

字元串類型有一個優化:字元串池,舉例 如果字元串中例如有 “abc”下次在申請的話就會直接在字元串池中那但 如果不是 abc他就會從新建立對象。

字元串類型有個禁忌:字元串有一件事情不能做,那就是字元串不斷的累加(因為字元串是對象,如果連續申請的話就是連續申請對象很浪費記憶體)

壓縮:

         進制如果存儲的數越大,顯示的長度越長。

         壓縮有壓縮長度的作用。

         壓縮就是将相同位元組連接配接在一起,壓縮文字。

         比如6個66位元組就是6x66解壓就是将66解壓縮

         壓縮視訊就是品質壓縮,壓縮像素