Java 基本數據類型
Java 的兩大數據類型:
- 內置數據類型
- 引用數據類型
《一》內置數據類型
Java語言提供了八種基本類型。六種數字類型(四個整數型,兩個浮點型),一種字符類型,還有一種布爾型。
byte:例:byte a = 100
- byte 數據類型是1字節;最小值是 -128(-2^7);最大值是 127(2^7-1);默認值是 0;
short:例:short s = 1000
- short數據類型是2字節;最小值是 -32768(-2^15);最大值是 32767(2^15 - 1);默認值是 0;
int:例:int a = 100000
- int 數據類型是4字節、最小值是 (-2^31);最大值是 (2^31 - 1);
- java中整型變量默認爲 int 類型;默認值是 0 ;
long:例子: long a = 100000L,注意(L or l)不能省略,因爲整型默認爲int類型容易分辯起見最好大寫。
- long 數據類型是8字節、有符號的以二進制補碼錶示的整數;
- 最小值是(-2^63);最大值是(2^63 -1);默認值是 0L;
float:例:float f1 = 234.5f。注意(f or F)不能省略,因爲java中浮點數默認是double類型
- float 數據類型是單精度、4字節;
- 默認值是 0.0f;
double:例:double d1 = 123.4;另外一種記法科學計數法:3.4E3; 3.4e-3
- double 數據類型是雙精度、8字節;
- 浮點數的默認類型爲double類型;默認值是 0.0d;
boolean:例:boolean one = true。
- 只有兩個取值:true 和 false;
- 默認值是 false;
char:例:char letter = 'A';。
- char類型佔2字節
- 最小值是 \u0000(即爲0);最大值是 \uffff(即爲65,535);
《二》引用類型:一小塊內存指向一大塊內存
- 例:Integer t = new Integer(100); Cat tom = new Cat("tom")。
- 包括類、接口、數組;
- 所有引用類型的默認值都是null。
引用類型是一個對象類型,它的值是指向內存空間的引用,就是地址,所指向的內存中保存着變量所表示的一個值或一組值。引用類型變量在聲明後必須通過實例化開闢數據空間,才能對變量所指向的對象進行訪問。
《三》Java 常量
在 Java 中使用 final 關鍵字來修飾常量,例:
final double PI = 3.1415927;
常量在程序運行時是不能被修改的。通常爲了便於識別,用大寫字母表示常量。
當然還有比如:100;3.14;22.22f ; 'A' 等常量
《四》自動類型轉換
數據類型轉換必須滿足如下規則:
不能對boolean類型進行類型轉換;byte short char 不相互轉換,計算時先回轉爲int類型。
大轉小必須使用強制類型轉換,轉換過程中可能導致溢出或損失精度,例如:
int i =128; byte b = (byte)i; //-----> -128
因爲 byte 類型是 8 位,最大值爲127,所以當 int 強制轉換爲 byte 類型時,值 128 時候就會導致溢出。
整型、實型(常量)、字符型數據可以混合運算。運算中,不同類型的數據先轉化爲容量最大的數據類型,然後進行運算。 轉換從低級到高級。
低 ------------------------------------> 高 byte,short,char—> int —> long—> float —> double
浮點數到整數的轉換是通過捨棄小數得到,而不是四捨五入,例如:
(int)2.7 == 2; (int)-20.5f == -20
《五》強制類型轉換
1. 條件是轉換的數據類型必須是兼容的。
2. 格式:(type)value type是要強制類型轉換後的數據類型 實例:
實例
int i1 = 123; byte b = (byte)i1;運行結果:123
《六》隱含強制類型轉換
整數的默認類型是 int。
浮點型默認類型是double。