基本數(shù)據(jù)類型
java的基本數(shù)據(jù)類型分為8種,6種數(shù)字類型(4種整數(shù)型,2種浮點(diǎn)型),一種字符型,一種布爾型
數(shù)字類型:
byte 數(shù)據(jù)類型為8位,有符號的,以二進(jìn)制補(bǔ)碼表示整數(shù)
- 最小最大值:-2^7 (
-128) ~ 2^7 -1 (127) - 默認(rèn)值為
0 - 例子: byte a = 100 byte b = -50
short 數(shù)據(jù)類型為16位,有符號,以二進(jìn)制補(bǔ)碼表示整數(shù)
- 最小最大值:-2^15 ~ 2^15 -1
- 默認(rèn)值:
0 - 例子:short s = 1000 short s = -1000
int 數(shù)據(jù)類型為32位,有符號,以二進(jìn)制補(bǔ)碼表示整數(shù)
- 最小最大值:-2^31 ~ 2^31 -1
- 默認(rèn)值:
0 - 例子:int s = 1000 int s = -1000
- 一般整數(shù)類型都會默認(rèn)為
int類型
long 數(shù)據(jù)類型為64位,有符號,以二進(jìn)制補(bǔ)碼表示整數(shù)
- 最小最大值:-2^63 ~ 2^63 -1
- 默認(rèn)值:
0L - 例子:long l1 = 1000L long l2 = -1000L
float 數(shù)據(jù)類型為單精度,32位的浮點(diǎn)數(shù)
- 默認(rèn)值:
0.0f - 浮點(diǎn)值不能表示精確的值
- 例子:float f1 = 23.65f float f2 = -23.65f
double 數(shù)據(jù)類型為單精度,64位的浮點(diǎn)數(shù)
- 默認(rèn)值:
0.0d - 浮點(diǎn)值不能表示精確的值
- 例子:double d1 = 23.65d double f2 = -23.65d
字符型
char類型是一個(gè)單一16位的Unicode字符
- 最小值:0
\u0000 - 最大值:65535
\uffff(2^15 -1) - char數(shù)據(jù)類型可以存儲任何字符
- 例子 char apple = 'apple'
布爾類型
boolean 數(shù)據(jù)類型表示一位的信息
取值:只有true和false
默認(rèn)值:false
例子: boolean right = true
基本數(shù)據(jù)類型對應(yīng)java的包裝類
byte => java.lang.Byte
short => java.lang.Short
int => java.lang.Integer
long => java.lang.Long
float =>java.lang.Float
double => java.lang.Double
char => java.lang.Character
boolean => java.lang.Boolean
自動類型轉(zhuǎn)換
整型和字符型數(shù)據(jù)可以進(jìn)行混合運(yùn)算,不同類型必須轉(zhuǎn)化成同一類型才能進(jìn)行運(yùn)算,轉(zhuǎn)化從低到高
byte,short,char-> int ->long ->float->duoble
注意規(guī)則:
- 不能對
boolean進(jìn)行轉(zhuǎn)換 - 把大容量的類型轉(zhuǎn)換成小容量必須
強(qiáng)制類型轉(zhuǎn)化 - 轉(zhuǎn)換過程會導(dǎo)致
溢出或損失精度
如:
int i =128
byte b = (byte)i //實(shí)際上 b = -127