包裝類和基本資料型別
詳解一、八種基本資料型別常識
1.1、基本常識表
java八種基本資料型別分為四類八種,四類分別為整型、浮點型、布林型、字元型;八種分別為byte、short、int、long、float、double、boolean、char;對於上圖有以下幾點需要注意:
java八種基本資料型別的位元組數:分別為1、2、4、8個位元組;1位元組(byte、boolean)、 2位元組(short、char)、4位元組(int、float)、8位元組(long、double);
整數的預設型別為int,浮點數的預設型別為double;
java是一門面向物件的語言,但是8中基本資料型別不具備面向物件的特徵,所以實際使用中很不便所以為java八種基本資料型別提供了對應的包裝類;
八種基本資料型別的包裝類:除了char的是Character、int型別的是Integer,其他都是首字母大寫;
對應包裝類的直接父類:前6個由於是數,直接父類為Number,而後兩個的直接父類就是Object類;
關於值的範圍問題,需要注意char型別是無符號的,不能為負,所以是0開始的;
詳解二、直接量與型別轉換
2.1、直接量
- 整數型的直接量預設為int型別
- 浮點型的直接量預設為double型別
@Test
public void d() {
int a = 100;//這個100就是直接量
a = a + 100;//但是這個a+100不是直接量
double b = 3.14;
}
2.2、型別轉換
1.自動轉換:低型別的向高型別的轉換
如下圖:順著箭頭的方向是可以自動轉換的;
2.強制轉換:高型別的向低型別轉換,但可能會資料溢位或者精度丟失
以上為幾種正常的情況,但是有一種特殊的情況,就是int型直接量可以直接賦給byte、short、char型別變數,只要不超出變數型別的取值範圍
資料運算時的型別轉換
1)運算時,運算結果會向較大的型別轉換
2)特殊的:byte、short、char三種資料型別參與運算時,先一律轉化為int型別;
強制轉換
高等級轉為低等級的時候,必須強制轉換,但實際工作中不推薦使用強制轉換,可能會失精度或資料溢位;
補充說明:不是隻有強制轉換的時候會出現資料,例如下面這種情況
詳解三、對應包裝類及使用
3.1、常用方法一:靜態方法 valueOf()
- 引數為基本資料型別,返回包裝類物件;
- 引數為String字串(Character類沒有以String為 引數的該方法),返回包裝類物件;