一、數據類型
1.布爾型(boolean) :true/false,不可以以0或非0的數字代替;不能進行數據之間的轉換。
2.整數類型
** 整型默認爲int型,而long類型表示的範圍要超出int表數範圍,所以,聲明long類型時,常量後要加L(l)。
如:long l1=12345678 // 數值在int範圍之內,還不會出錯
long l2=8888888888;// 數值在int範圍之外,會出錯
long l3=8888888888L; //正確
3.浮點類型:
* 浮點型默認爲double,所以float類型聲明時後面需要加f/F ; 或者用強制轉換符。
Float f1=(float)0.1;
Float f2=0.1f;
兩者的區別:f1 爲八個字節的double類型,強制轉換爲四個字節的float類型。
f2 本身就是四個字節的float類型。
4.字符型 (char)
每個字符佔兩個字節;值放在“”裏;
二、基本數據類型轉換:
各數據類型按容量大小(表數範圍大小)由小到大排列爲:
Byte, short, char ——int ——long——float——double
1.轉換時遵循的原則:
1)容量小的類型自動轉換爲容量的類型;
2)容量大的類型轉換爲容量小的類型時,要加強制轉換符;
3)byte,short,char之間不會互相轉換,並且三者在計算時首先轉換爲int類型;
4)實數常量默認爲double類型, 整數常量默認爲int類型;
* 字符型 爲什麼也能和 整形、浮點型進行運算呢?
答: 字符型在機器內部也是數字。進行計算時,先獲得字符的ASCK碼,然後再進行計算。
2.轉換舉例:
Int i1=123;
Int i2=456;
Double d1 = (i1+i2)*1.2 //容量小的類型自動轉換爲容量大的類型
Float f1 = (float) (i1+i2)*1.2 //容量大的類型轉換爲小容量的類型時,需要加上強制轉換符
Byte b1=1;
Byte b2=2;
Byte b3=(byte)(b1+b2); //byte,short,char在計算時首先轉換爲int,大容量(int)轉換爲小容量的類型(byte)時要加強制轉換符