MySQL複製從庫建立-xtracebackup方式
Java基本資料型別
Java 的兩大資料型別:
- 內建資料型別
- 引用資料型別
一、 內建資料型別
Java語言提供了八種基本型別。六種數字型別(四個整數型,兩個浮點型),一種字元型別,還有一種布林型。
整數:byte、short、int、long
小數:double、float
字元:char
布林:boolean
- byte
二進位制位數:8 (1位元組=8位=127個數字)
包裝類:java.lang.Byte
最小值:Byte.MIN_VALUE=-128(-2^7)
最大值:Byte.MAX_VALUE=127(2^7-1)
預設值:0
byte 型別用在大型陣列中節約空間,主要代替整數,因為 byte 變數佔用的空間只有 int 型別的四分之一
例子:byte a = 100,byte b = -50。
- short
二進位制位數:16 (2位元組=16位=32757個數字)
包裝類:java.lang.Short
最小值:Short.MIN_VALUE=-32768(-2^15)
最大值:Short.MAX_VALUE=32767(2^15 - 1)
Short 資料型別也可以像 byte 那樣節省空間。一個short變數是int型變數所佔空間的二分之一;
預設值是 0;
例子:short s = 1000,short r = -20000。
- int
二進位制位數:32 (4位元組=32位)
包裝類:java.lang.Integer
最小值:Integer.MIN_VALUE=-2147483648(-2^31)
最大值:Integer.MAX_VALUE=2147483647(2^31 - 1)
一般地整型變數預設為 int 型別;
預設值是 0 ;
例子:int a = 100000, int b = -200000。
- long
二進位制位數:64 (8位元組=64位)
包裝類:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808(-2^63)
最大值:Long.MAX_VALUE=9223372036854775807(2^63 -1)
這種型別主要使用在需要比較大整數的系統上;
預設值是 0L;
例子: long a = 100000L,Long b = -200000L。
"L"理論上不分大小寫,但是若寫成"l"容易與數字"1"混淆,不容易分辯。所以最好大寫。
- float
二進位制位數:32 (4位元組=32位)
包裝類:java.lang.Float
最小值:Float.MIN_VALUE=1.4E-45(
最大值:Float.MAX_VALUE=3.4028235E38
float 在儲存大型浮點陣列的時候可節省記憶體空間;
預設值是 0.0f;
浮點數不能用來表示精確的值,如貨幣;
例子:float f1 = 234.5f。
- double
二進位制位數:64 (8位元組=64位)
包裝類:java.lang.Double
最小值:Double.MIN_VALUE=4.9E-324
最大值:Double.MAX_VALUE=1.7976931348623157E308
浮點數的預設型別為double型別;
double型別同樣不能表示精確的值,如貨幣;
預設值是 0.0d;
例子:double d1 = 123.4。
- char
二進位制位數:16 (2位元組=16位)
包裝類:java.lang.Character
最小值:Character.MIN_VALUE=0(\u0000)
最大值:Character.MAX_VALUE=65535(\uffff)
char 資料型別可以儲存任何字元;
例子:char letter = 'A';。
- boolean
二進位制位數:佔一位=八分之一位元組
boolean資料型別表示一位的資訊;
只有兩個取值:true 和 false;
這種型別只作為一種標誌來記錄 true/false 情況;
預設值是 false;
例子:boolean one = true。
二、 引用型別
在Java中,引用型別的變數非常類似於C/C++的指標。引用型別指向一個物件,指向物件的變數是引用變數。這些變數在宣告時被指定為一個特定的型別,比如 Employee、Puppy 等。變數一旦聲明後,型別就不能被改變了。
物件、陣列都是引用資料型別。 所有引用型別的預設值都是null。 一個引用變數可以用來引用任何與之相容的型別。 例子:Site site = new Site("Runoob")。
String
自動型別轉換:
整型、實型(常量)、字元型資料可以混合運算。運算中,不同型別的資料先轉化為同一型別,然後進行運算。
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
資料型別轉換必須滿足如下規則:
不能對boolean型別進行型別轉換。
不能把物件型別轉換成不相關類的物件。
在把容量大的型別轉換為容量小的型別時必須使用強制型別轉換。
轉換過程中可能導致溢位或損失精度,例如:
int i =128;
byte b = (byte)i;
因為 byte 型別是 8 位,最大值為127,所以當 int 強制轉換為byte 型別時,值 128 時候就會導致溢位。浮點數到整數的轉換是通過捨棄小數得到,而不是四捨五入,例如:
(int)23.7 == 23; (int)-45.89f == -45
int a=9;
long b=9;
a=b;//報錯
b=a;//不報錯,自動型別轉換
a=(int)b;//強制型別轉換