Java學習筆記8-資料型別

星游u發表於2024-08-23

Java中主要有八種基本資料型別:byte、short、int、long、float、double、boolean、char。
各種資料型別作用:

1、byte:
8位、有符號的以二進位制補碼錶示的整數。

min : -128(-2^7)。

max: 127(2^7-1)。

default: 0。

對應包裝類:Byte。

2、short:
16位、有符號的以二進位制補碼錶示的整數;

min : -32768(-2^15);

max: 32767(2^15 - 1);

default: 0;

對應包裝類:Short。

3、int:
32位、有符號的以二進位制補碼錶示的整數;

min : -2,147,483,648(-2^31);

max: 2,147,483,647(2^31 - 1);

default: 0;

對應包裝類:Integer。

4、long:
64位、有符號的以二進位制補碼錶示的整數;

min : -9,223,372,036,854,775,808(-2^63);

max: 9,223,372,036,854,775,807(2^63 -1);

default: 0;

對應的包裝類:Long。

5、float:
單精度、32位、符合IEEE 754標準的浮點數;

float 在儲存大型浮點陣列的時候可節省記憶體空間;

浮點數不能用來表示精確的值,如貨幣;

default: 0.0f;

對應的包裝類:Float。

6、double:
雙精度、64位、符合IEEE 754標準的浮點數;

浮點數的預設型別為double型別;

double型別同樣不能表示精確的值,如貨幣;

default: 0.0d;

對應的包裝類:Double。

7、char:
char型別是一個單一的 16 位 Unicode 字元;

最小值是 \u0000(即為0);

最大值是 \uffff(即為65,535);

char 資料型別可以儲存任何字元;

對應的包裝類:Character。

8、boolean:
boolean資料型別表示一位的資訊;

只有兩個取值:true 和 false;

這種型別只作為一種標誌來記錄 true/false 情況;

對應的包裝類:Boolean。
自動型別轉換:

指不需要書寫程式碼,由系統自動完成的型別轉換。由於實際開發中這樣的型別轉換很多,所以 Java 語言在設計時,沒有為該操作設計語法,而是由 JVM自動完成。

轉換規則:從儲存範圍小的型別到儲存範圍大的型別。

具體規則為:byte→short(char)→int→long→float→double

也就是說 byte 型別的變數可以自動轉換為 short 型別,示例程式碼:

byte b=10;

short sh=b;

這裡在給sh賦值時,JVM首先將b的值轉換成short型別然後再賦值給sh。

當然,在型別轉換的時候也可以跳躍,就是byte也可以自動轉換為int型別的。

注意問題:在整數之間進行型別轉換的時候數值不會發生變化,但是當將整數型別特別是比較大的整數型別轉換成小數型別的時候,由於儲存精度的不同,可能會存在資料精度的損失。

Java引用資料型別
引用資料型別建立在基本資料型別的基礎上,包括陣列、類和介面。引用資料型別是由使用者自定義,用來限制其他資料的型別。另外,Java 語言中不支援 C++ 中的指標型別、結構型別、聯合型別和列舉型別。

引用型別還有一種特殊的 null 型別。所謂引用資料型別就是對一個物件的引用,物件包括例項和陣列兩種。實際上,引用型別變數就是一個指標,只是 Java 語言裡不再使用指標這個說法。

空型別(null type)就是 null 值的型別,這種型別沒有名稱。因為 null 型別沒有名稱,所以不可能宣告一個 null 型別的變數或者轉換到 null 型別。

空引用(null)是 null 型別變數唯一的值。空引用(null)可以轉換為任何引用型別。

在實際開發中,程式設計師可以忽略 null 型別,假定 null 只是引用型別的一個特殊直接量。

注意:空引用(null)只能被轉換成引用型別,不能轉換成基本型別,因此不要把一個 null 值賦給基本資料型別的變數。

相關文章