【04】java | 基本數據類型與變量詳解

Java 基本數據類型

Java語言提供了八種基本類型。六種數字類型(四個整數型,兩個浮點型),一種字符類型,還有一種布爾型。


byte

byte 數據類型是8位,即1字節,有符號的,以二進制補碼錶示的整數
最小值是: -128(-2^7)| Byte.MIN_VALUE
最大值是: 127(2^7-1)| Byte.MAX_VALUE
默認值是: 0

byte 類型用在大型數組中節約空間,主要代替整數,因爲 byte 變量佔用的空間只有 int 類型的四分之一,但要注意數據溢出的問題
例子:byte a = 100,byte b = -50。


short

short 數據類型是 16 位,2字節、有符號的以二進制補碼錶示的整數
最小值是 :-32768(-2^15)| Short.MAX_VALUE
最大值是: 32767(2^15 - 1)| Short.MAX_VALUE
默認值是 :0

Short 數據類型也可以像 byte 那樣節省空間。一個short變量是int型變量所佔空間的二分之一;
例子:short s = 1000,short r = -20000。


int:

int 數據類型是32位、有符號的以二進制補碼錶示的整數;
最小值是 :-2,147,483,648(-2^31)| Integer.MIN_VALUE
最大值是 :2,147,483,647(2^31 - 1)| Integer.MXA_VALUE
默認值是 :0 

一般地整型變量(整數字面量)默認爲 int 類型;
例子:int a = 100000, int b = -200000。


long:

long 數據類型是 64 位、有符號的以二進制補碼錶示的整數;
最小值是: -9,223,372,036,854,775,808(-2^63)| Long.MIN_VALUE
最大值是:9,223,372,036,854,775,807(2^63 -1)| Long.MAX_VALUE
默認值是: 0L
數字後面需要加“L”或“l”

這種類型主要使用在需要比較大整數的系統上;
例子: long a = 100000L,Long b = -200000L。
"L"不分大小寫,但是若寫成"l"容易與數字"1"混淆,不容易分辯。所以最好大寫。


float:

float 數據類型是單精度、32位、符合IEEE 754標準的浮點數;
float 在儲存大型浮點數組的時候可節省內存空間;
最小值:Float.MIN_VALUE
最大值:Float.MAX_VALUE
默認值是 0.0f;

要表示一個字面量數據爲float型,必須在數據之後加字母 “f"
浮點數不能用來表示精確的值,如貨幣;
例子:float f1 = 234.5f。


double:

double 數據類型是雙精度、64 位、符合IEEE 754標準的浮點數;
浮點數的默認類型爲double類型,即數值字面量都可以作爲double型浮點數
最小值:Double.MAX_VALUE
最大值:Double.MAX_VALUE
默認值是 :0.0

數值字面量作爲double型數據時末尾不用加字母
double類型同樣不能表示精確的值,如貨幣;
例子:double d1 = 123.4。


boolean:

boolean數據類型表示一位的信息;
只有兩個取值:true 和 false;
這種類型只作爲一種標誌來記錄 true/false 情況;
默認值是 false;

和C++語言的bool邏輯變量不同,C++的邏輯值還可以是1或0
例子:boolean one = true。


char:

char類型是一個單一的 16 位 Unicode 字符;
最小值是 \u0000(即爲0);
最大值是 \uffff(即爲65,535);
char 數據類型可以儲存任何字符;
例子:char letter = 'A';。

在java中,字符串類型,枚舉類型,數組類型等都是引用類型,也就是都是類類型數據。
定義這些數據類型的變量屬於引用變量,引用變量指向對象的引用,引用變量一定指向該實例對象,即引用變量的值是某一對象在堆中的地址。



java變量解釋

局部變量

  • 局部變量聲明在方法、構造方法或者語句塊中;
  • 局部變量在方法、構造方法、或者語句塊被執行的時候創建,當它們執行完成後,變量將會被銷燬;
  • 訪問修飾符不能用於局部變量;
  • 局部變量只在聲明它的方法、構造方法或者語句塊中可見;
  • 局部變量是在棧上分配的。
  • 局部變量沒有默認值,所以局部變量被聲明後,必須經過初始化,纔可以使用。

成員變量(實例變量)

  • 實例變量聲明在一個類中,但在方法、構造方法和語句塊之外,成員變量存在於堆中,而方法定義等存在於棧中或代碼區中。
  • 當一個對象被實例化之後,每個實例變量的值就跟着確定;
  • 實例變量在對象創建的時候創建,在對象被銷燬的時候銷燬,對象的銷燬有系統自行完成;
  • 實例變量的值應該至少被一個方法、構造方法或者語句塊引用,使得外部能夠通過這些方式獲取實例變量信息;
  • 實例變量可以聲明在使用前或者使用後,即在類中,變量的使用與變量的位置無關;
  • 訪問修飾符可以修飾實例變量;
  • 實例變量對於類中的方法、構造方法或者語句塊是可見的。一般情況下應該把實例變量設爲私有。通過使用訪問修飾符可以使實例變量對子類可見;
  • 實例變量具有默認值。數值型變量的默認值是0,布爾型變量的默認值是false,引用類型變量的默認值是null。變量的值可以在聲明時指定,也可以在構造方法中指定;
  • 實例變量可以直接通過變量名訪問。但在靜態方法以及其他類中,就應該使用完全限定名:ObejectReference.VariableName。

類變量(靜態變量)

  • 類變量也稱爲靜態變量,在類中以 static 關鍵字聲明,但必須在方法之外。
    無論一個類創建了多少個對象,類只擁有類變量的一份拷貝,就是類變量屬於類,所有對象共享
  • 靜態變量儲存在靜態存儲區。經常被聲明爲常量,很少單獨使用static聲明變量。
  • 靜態變量在第一次被訪問時創建,即類的第一個實例生成時創建,在程序結束時銷燬。
  • 與實例變量具有相似的可見性。但爲了對類的使用者可見,大多數靜態變量聲明爲public類型。
  • 默認值和實例變量相似。
  • 靜態變量可以通過:ClassName.VariableName的方式訪問。
  • 類變量被聲明爲public static final類型時,類變量名稱一般建議使用大寫字母。如果靜態變量不是public和final類型,其命名方式與實例變量以及局部變量的命名方式一致。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章