Java的8種基本數據類型和3種引用數據類型


背景

最近被一個問題難倒:問到Java的基本數據類型有8種,具體是哪幾個?一起復習下:

Java數據類型概述

變量就是申請內存來存儲值,即當創建變量的時候,需要在內存中申請空間。
內存管理系統根據變量的類型為變量分配存儲空間,確定了變量的類型,即確定了數據需分配內存空間的大小,數據在內存的存儲方式。

Java兩大數據類型:內置數據類型/基本數據類型、引用數據類型

  • 基本數據類型:都是直接存儲在內存中的內存上,數據本身的值就是存儲在棧空間;
  • 引用數據類型:引用類型繼承與Object類,引用(即指針)是存儲在有序的內存棧上,而對象本身的值存儲在內存堆中。

內置數據類型/基本數據類型(8種)

  • 整數型(4種):byte、short、int、long、
  • 浮點型(2種):float、double
  • 字符類型(1種):char
  • 布爾類型(1種):boolean

具體如下:

類型 概述 范圍 默認值 作用 例子
byte 8位、有符號,以二進制補碼表示的整數 -2^7 ~ (2^7-1),即 -128 ~ 127 0 byte類型用在大型數組中節約空間,主要代替整數,因為byte變量占用的空間只有int的四分之一; 例子:byte a=-2
short 16位,有符號,以二進制補碼表示的整數 -2^15 ~ 2^15-1, 即 -32768 ~ 32767 0 short占用空間是int的二分之一 例子:short s=-20000
int 32位、有符號,以二進制補碼表示的整數 -2^31 ~ 2^31-1 0 一般整數型默認為int類型; 例子:int=-200000
long 64位、有符號,以二進制補碼表示的整數 -2^63 ~ 2^63-1 0L 主要使用在需要比較大整數的系統上 例子:long a=10000L
float 32位、單精度,浮點數 浮點數不能用於表示精確的值 0.0f 在存儲大型浮點數組的時候可以節省內存空間 例子:float f1=0.3f
double 64位、雙精度,浮點數 double也不能表示精確的值 0.0d 浮點數的默認類型為double類型 例子:double d1=12.3
boolean 表示一位的信息 取值:true/false false 只作為一種標志類記錄 true/false 情況 例子:boolean one=true
char 是一個單一的16位Unicode字符 \u0000(即0)~\uffff(65,535) '\u0000' char可以存儲任何字符 例子:char letter='A'

引用數據類型(3種)

  • 引用類型指向一個對象,指向對象的變量是引用變量。這些變量在聲明時候被指定為一個特定的類型,聲明之后不能改變。
  • 引用數據類型包括:類(對象)、接口、數組。
  • 所有引用類型默認值都是null.
  • 一個引用變量可以用於引用任何與之兼容的類型。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM