基本數據類型和應用數據類型的區別

java的數據類型分兩大類:java

基本數據類型

基本類型是經過諸如 int a = 5; long b = 6L;的形式來定義的,稱爲自動變量,自動變量存放的是字面值,不是類的實例,它存放在內存的堆棧中,數據大小和生存期必須是肯定的,存取速度比較快,在堆棧中的字面值能夠共享,也就是說咱們定義一個int a = 5;而後又定義了一個int b = 5;這時a與b在內存中指向的是同一個字面常量。數組

四類八種接口

四類:整形、浮點型、布爾型、字符型內存

八種:編譯器

  • 整數型 (取值範圍)
    • 字節型byte(1個字節)(-128~127) 短整型short(2個字節)(-32768~32767) 整形int(4個字節)(通常默認)(-21億~21億) 長整型long(8個字節)( )
  • 浮點型
    • float(單精度浮點數) (4個字節) double(雙精度浮點數)(8個字節)(通常默認)
  • 字符型
    • char(字符型)(2個字節)
  • 布爾型
    • boolean(1個字節)(只有兩個結果true或者false)

8種基本類型在java中都有對應的封裝類型,也就是引用類型:
整數類型 Byte、Short、Integer(-128~127)、Long
浮點數類型 Float、Double
字符型 Character
布爾類型 Boolean編譯

在參數傳遞時,基本類型都是傳值,也就是傳遞的都是原變量的值得拷貝,改變這個值不會改變原變量變量

引用數據類型

除了基本數據就是引用數據類型垃圾回收

基本數據類型加上[] 就變成引用數據類型數據類型

類、接口、數組引用

引用類型通常是經過new關鍵字來建立,好比Integer num = new Integer(3);它存放在內存的堆中,能夠在運行時動態的分配內存大小,生存期也沒必要事先告訴編譯器,當引用類型變量不被使用時,Java內部的垃圾回收器GC會自動回收走。引用變量中存放的不是變量的內容,而是存放變量內容的地址。

引用類型傳遞的是地址,也就是參數與原變量指向的是同一個地址,因此若是改變參數的值,原變量的值也會改變

相關文章
相關標籤/搜索