javaint位元組
A. Java基本數據類型
一、基本數據類型:
byte:Java中最小的數據類型,在內存中佔8位(bit),即1個位元組,取值范圍-128~127,默認值0
short:短整型,在內存中佔16位,即2個位元組,取值范圍-32768~32717,默認值0
int:整型,用於存儲整數,在內在中佔32位,即4個位元組,取值范圍-2147483648~2147483647,默認值0
long:長整型,在內存中佔64位,即8個位元組-2^63~2^63-1,默認值0L
float:浮點型,在內存中佔32位,即4個位元組,用於存儲帶小數點的數字(與double的區別在於float類型有效小數點只有6~7位),默認值0
double:雙精度浮點型,用於存儲帶有小數點的數字,在內存中佔64位,即8個位元組,默認值0
char:字元型,用於存儲單個字元,佔16位,即2個位元組,取值范圍0~65535,默認值為空
boolean:布爾類型,佔1個位元組,用於判斷真或假(僅有兩個值,即true、false),默認值false
二、Java數據類型基本概念:
數據類型在計算機語言裡面,是對內存位置的一個抽象表達方式,可以理解為針對內存的一種抽象的表達方式。接觸每種語言的時候,都會存在數據類型的認識,有復雜的、簡單的,各種數據類型都需要在學習初期去了解,Java是強類型語言,所以Java對於數據類型的規范會相對嚴格。數據類型是語言的抽象原子概念,可以說是語言中最基本的單元定義,在Java裡面,本質上講將數據類型分為兩種:基本類型和引用數據類型。
基本類型:簡單數據類型是不能簡化的、內置的數據類型、由編程語言本身定義,它表示了真實的數字、字元和整數。
引用數據類型:Java語言本身不支持C++中的結構(struct)或聯合(union)數據類型,它的復合數據類型一般都是通過類或介面進行構造,類提供了捆綁數據和方法的方式,同時可以針對程序外部進行信息隱藏。
三、Java中的數據類型與內存的關系
在Java中,每個存放數據的變數都是有類型的,如:
charch;floatx;inta,b,c;
ch是字元型的,就會分配到2個位元組內存。不同類型的變數在內存中分配的位元組數不同,同時存儲方式也是不同的。
所以給變數賦值前需要先確定變數的類型,確定了變數的類型,即確定了數據需分配內存空間的大小,數據在內存的存儲方式。
四、Java數據類型在內存中的存儲:
1)基本數據類型的存儲原理:所有的簡單數據類型不存在「引用」的概念,基本數據類型都是直接存儲在內存中的內存棧上的,數據本身的值就是存儲在棧空間裡面,而Java語言裡面八種數據類型是這種存儲模型;
2)引用類型的存儲原理:引用類型繼承於Object類(也是引用類型)都是按照Java裡面存儲對象的內存模型來進行數據存儲的,使用Java內存堆和內存棧來進行這種類型的數據存儲,簡單地講,回龍觀北大青鳥認為「引用」是存儲在有序的內存棧上的,而對象本身的值存儲在內存堆上的。