2025-05-25

java數據類型:是一種強類型語言,第一次申明變量必須說明數據類型,第一次變量賦值稱為變量的初始化。

 

種類:8種基本類型(原生類型):整型:byte 字節型    1Byte=8bit          256中狀態      -128~+127
                                                   short 短整型    2Byte=16bit       64436           -32768~32767
                                                   int 整型        4Btye=32bit        2^32    -2147483648~+2147483647
                                                                                              2^31=2^10*2^10*2^10*2
                                                                         大約在正負21億之間的數       k       k       k   2 =2G
                                                   long 長整型     8Byte=64bit        -2^63~2^63-1
                                                   char  字符型    2Byte=16bit                        0~65535
                                                                                                1+2+'a'+1+2等價於1+2+97+1+2
                                          
                                        浮點型/實型:float  單精度     4Byte=32bit     實際是3+1(1個位權)f1=5.0F或f
                                                       double  雙精度     8Byte=64bit      實際是6+2(2個位權)
                                         佈爾類型:  boolean
                        註意:浮點型數據時非精度存儲,整型數據為精確存儲。而數據類型的字面值有默認值:整型為int,實型:為double
                        double和BigDecimal的區別:double,適合做科學運算
                                                               BigDecimal,適合用商業運算
                                    BigDecimal   b1 = new BigDecimal("5.0");
                                    BigDecimal b2 = new BigDecimal("3.1");
                                    b1.subtract(b2); 減
                                    b1.pide(b2,4); 除

                        BigInteger 是用於大數據的。。比如求9的99此方

    5種引用類型(對象類型):類   接口  數組  枚舉  標註
     空類型:void類型


    數據類型的轉換:隻有boolean不參與數據類型的轉換
             (1).自動類型的轉換:a.常數在表數范圍內是能夠自動類型轉換的
                                           b.數據范圍小的能夠自動數據類型大的轉換(註意特例)
                                               int到float,long到float,long到double 是不會自動轉換的,不然將會丟失精度
                                           c.引用類型能夠自動轉換為父類的
                                           d.基本類型和它們包裝類型是能夠互相轉換的
              (2).強制類型轉換:用圓括號括起來目標類型,置於變量前


8中基本類型的包裝類:Byte  Short  Integer  Long  Character  Float  Double  Boolean
            基本類型的優勢:數據存儲相對簡單,運算效率比較高
            包裝類的優勢:有的容易,比如集合的元素必須是對象類型,滿足瞭java一切皆是對象的思想


引用類型:底層結構和基本類型差別較大
        首先介紹下JVM的內存空間:(1). Heap 堆空間:分配對象    new Student()
                                            (2). Stack 棧空間:臨時變量    Student stu
                                            (3).Code 代碼區 :類的定義,靜態資源 Student.class

  eg:Student stu = new Student();
         stu.study();
    //new 在內存的堆空間創建對象
    //把對象的地址賦給stu引用變量

上例實現步驟:a.JVM加載Student.class 到Code區
                   b.new Student()在堆空間分配空間並創建一個Student實例
                   c.將此實例的地址賦值給引用stu, 棧空間

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *