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

整數型中,在不指定任何型別的情況下,默認是int型別;
byte:
例子:byte a = 100,byte b = -50。
short:
例子:short s = 100,short r = -200。
int:
例子:int a = 1000, int b = -2000。
long:
例子:long a = 100000L,Long b = -200000L。
這種型別主要使用在需要比較大整數的系統上;
注意:"L"理論上不分大小寫,但是若寫成"l"容易與數字"1"混淆,不容易分辯。所以最好大寫。
整數型的進制寫法:
1、十六進制(0x 開頭)
byte b=0xF;short s=0xF;int i=0xF;long L=0xFL;
2、八進制(0 開頭)
byte b=077;short s=077;int i=077;long L=077L;
3、二進制(0b 開頭)
byte b=0b1;short s=0b1;int i=0b1;long L=0b1L;
浮點型中,在不指定任何型別的情況下,默認是double型別;
float:
浮點數不能用來表示精確的值,如貨幣;
例子:float f1 = 234.5f。//加f或F
double:
double型別同樣不能表示精確的值,如貨幣;
例子:double d1 = 123.4。//[可選]加d或D
boolean:
boolean資料型別表示一位的資訊;
只有兩個取值:true 和 false;
這種型別只作為一種標志來記錄 true/false 情況;
默認值是 false;
例子:boolean one = true。
char:
char型別是一個單一的 16 位 Unicode 字符;
char 資料型別可以儲存任何字符;
例子:char letter = 'A';。
浮點型:
float(32位):1bit(符號位) 8bits(指數位) 23bits(尾數位)
double(64位):1bit(符號位) 11bits(指數位) 52bits(尾數位)
二、基本資料型別的包裝類
Java每個基本型別在java.lang包中都有一個相應的包裝類
包裝類有何作用
1、提供了一系列實用的方法
2、集合不允許存放基本資料型別資料,存放數字時,要用包裝型別

總結:除了int和char型別的包裝類是全稱,其余的包裝類都是首字母大寫
這八種包裝類所繼承的父類不全都相同。
1、Integer,Byte,Float,Double,Short,Long都屬于Number類的子類,Number類本身提供了一系列的,回傳以上六種基本資料型別的操作。
2、Character屬于Object子類
3、Boolean屬于Object子類。
裝箱及拆箱
1、將基本資料型別變成包裝類稱為裝箱。
2、將包裝類的型別變為基本資料型別稱為拆箱。
3、在JDK1.5之后,提供了自動裝箱和自動拆箱功能。
三、資料型別轉換
1、自動型別轉換(隱式型別轉換)
整型、字符型資料可以混合運算。
運算中,不同型別的資料先轉化為同一型別,然后進行運算。
轉換從低級到高級。

自動轉換有以下規律:
小的型別自動轉化為大的型別
整數型別可以自動轉化為浮點型別,可能會產生舍入誤差
字符可以自動提升為整數
2、強制型別轉換(顯式型別轉換)
格式: (type)value
type是要強制型別轉換后的資料型別
注意:
強制型別轉換可能導致溢位或損失精度
在把容量大的型別轉換為容量小的型別時必須使用強制型別轉換
浮點數到整數的轉換是通過舍棄小數得到,而不是四舍五入
例子:
byte byte1=127;//目前這個值是最大值:2^7-1
short short1=32767;//目前這個值是最大值:2^15-1
int int1=2147483647;//目前這個值是最大值:2^31-1
long long1=9223372036854775807L;//目前這個值是最大值:2^63-1
float float1=3.4028235E38F;//目前這個值是最大值:2^128 估值
double double1=1.7976931348623157E308;//目前這個值是最大值:2^1024 估值
//隱式轉換
//從byte隱式轉換到short
short s1=byte1;
//從short隱式轉換到int
int i1=short1;
//從int隱式轉換到long
long l1=int1;
//從long隱式轉換到float(浮點數:單精度)
float f1=long1;
//從float(浮點數:單精度)隱式轉換到double(浮點數:雙精度)
double d2=float1;
//顯示轉換
//從double(浮點數:雙精度)顯示轉換到float(浮點數:單精度)
float f2=(float)double1;
//從float(浮點數:單精度)顯示轉換到long
long l2=(long)float1;
//從long顯示轉換到int
int i2=(int)long1;
//從int顯示轉換到short
short s2=(short)int1;
//從short顯示轉換到byte
byte b2=(byte)short1;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/260225.html
標籤:非技術區
上一篇:JAVA 誰會啊。。。救救孩子吧
