Java基礎資料型別 (Elementary Data Type)

來源:互聯網
上載者:User

標籤:

  Java 語言是靜態類型的(statical typed),也就是說所有變數和運算式的類型再編譯時間就已經完全確定。由於是靜態類型,導致 Java 語言也是強型別(Strong typed)的。強型別意味著每個變數都具有一種類型,每個運算式具有一種類型,並且每種類型都是嚴格定義的,類型限制了變數可以接收哪些值,運算式最終產生什麼值。同時限制了這些值可以進行的操作類型以及操作的具體方式。所有的賦值操作,無論是顯式的還是在方法調用中通過參數傳遞,都要進行類型相容性檢查。

 

資料類型

  在 Java 原始碼中,每個變數都必須聲明一種類型(type)。有兩種類型:基本類型(primitive type) 和參考型別(reference type)。參考型別引用對象(reference to object),而基本類型直接包含值(directly contain value)。基本類型(primitive types)包括 boolean 類型以及數實值型別(numeric types)。數實值型別又分為整型(integer types)和浮點型(floating-point type)。整型有5種:byte short int long char(char 本質上是一種特殊的 int)。浮點類型有 float 和 double。關係整理一下如:

  null 是一種特殊的類型 ,但是你不能聲明一個變數為 null 類型,null 類型的唯一取值就是 null。null 可以負值給任意的參考型別或者轉化成任意的參考型別。在實踐中,一般把 null 當做字面值(literal),這個字面值可是是任意的參考型別。

 

  其它參考型別將在之後介紹,此處不不再贅述。

 

基本類型

  基本類型是單個值,而不是複雜的對象,基本類型不是物件導向的,主要出去效率方面的考慮,但是同時也提供基本類型的對象版本,即基本類型的封裝器(wrapper)。可以直接使用這些基本類型,也可以使用基本類型構造數組或者其他自訂類型。基本類型具有明確的取值範圍和數學行為。

 

基本類型 大小 最小值 最大值 封裝類
boolean -- -- -- Boolean
char 16 bits Unicode 0 Unicode 216-1 Character
byte 8 bits -128 +127 Byte
short 16 bits -2^15 +2^15-1 Short
int 32 bits -2^31 +2^31-1 Integer
long 64 bits -2^63 +2^63-1 Long
float 32 bits IEEE754 IEEE754 Float
double 64 bits IEEE754 IEEE754 Double
void -- -- -- Void


基本類型之間的轉換

  將一種類型的值賦給另一種類型是很常見的。在 Java 中,boolean 類型與所有其他7種類型都不能進行轉換。而其他7種數實值型別之間都可以互相轉換,但是可能會存在精度損失或者其他一些變化。轉換分為自動轉換和強制轉換。對於自動轉換(隱式),無需任何操作,而強制類型轉換需要顯式轉換,即使用轉換操作符。

7種基本類型轉換總結如:

 

  在使用字面值對整數賦值的過程中,可以將 int 賦值給byte short char int,只要不超出範圍。這個過程中的類型轉換時自動完成的,但是如果你試圖將 long 賦給byte,即使沒有超出範圍,也必須進行強制類型轉換。例如 byte b = 10L;是錯的,要進行強制轉換。

 

  除了賦值以外,運算式計算過程中也可能發生一些類型轉換。在運算式中,型別提升規則如下:

  • 所有 byte/short/char 都被提升為 int
  • 如果有一個運算元為 long,整個運算式提升為 long。float 和 double 情況也一樣

Java基礎資料型別 (Elementary Data Type)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.