轉(zhuǎn)譯字符:
轉(zhuǎn)義字符 | 名稱 | 作用 |
/b | Backspace (退格鍵) | 相當(dāng)于Back Space鍵 |
/t | Tab (Tab鍵) | 相當(dāng)于按下Table鍵 |
/n | Linefeed (換行) | 換行 |
/r | Carriage Return(回車) | 接受鍵盤輸入,回到一行開頭 |
// | Backslash (反斜杠) | 反斜杠 |
/' | Single Quote (單引號) | 單引號 |
/" | Double Quote (雙引號) | 雙引號 |
進(jìn)制:
數(shù)據(jù)類型:
1.整型
byte 代表一個(gè)字節(jié)的大小 8bit 2(8) -128~127
short 代表兩個(gè)字節(jié)的大小 16bit 2(16) -2(15)~2(15)-1
int 代表四個(gè)字節(jié)的大小 32bit 2(32) -2(31)~2(31)-1
long 代表八個(gè)字節(jié)的大小 64bit 2(64) -2(63)~2(63)-1
注:如果一個(gè)數(shù)值沒有采取特殊的處理,那么該整數(shù)默認(rèn)的類型是int。可以使用數(shù)值后面添加L或小寫L改變默認(rèn)的整數(shù)類型。
2.浮點(diǎn)型
float 代表四個(gè)字節(jié)的大小 32bit
double 代表八個(gè)字節(jié)的大小 64bit
注:java程序中所有的小數(shù)默認(rèn)的類型是double類型,所以需要使用特殊的符號改變默認(rèn)的小數(shù)類型。
3.字符型
char 代表兩個(gè)字節(jié)的大小 16bit 2(16)
原理:將字符映射為碼表中對應(yīng)的十進(jìn)制數(shù)據(jù)加以存儲。
4.布爾型
boolean 占一個(gè)字節(jié)。只有true與false兩個(gè)值。
數(shù)據(jù)類型的轉(zhuǎn)換:
1.自動類型轉(zhuǎn)換(隱式類型轉(zhuǎn)換)
將一個(gè)數(shù)賦值賦值給更大數(shù)值范圍的變量,如byte變量的值賦值給short變量、short變量的值賦值給int變量的過程,java內(nèi)部自動將數(shù)值進(jìn)行了類型提升。
byte b = 1;// 0000 0001
short s = b; // 0000 0000 0000 0001
int i = s; // 1
long l = i; // 1L
double d = l; // 1.0
表達(dá)式的數(shù)據(jù)類型會自動提升,如算數(shù)表達(dá)式、邏輯表達(dá)式。
所有的byte型、short型和char的值將被提升到int型。
如果一個(gè)操作數(shù)是long型,計(jì)算結(jié)果就是long型;
如果一個(gè)操作數(shù)是float型,計(jì)算結(jié)果就是float型;
如果一個(gè)操作數(shù)是double型,計(jì)算結(jié)果就是double型。
2.強(qiáng)制類型轉(zhuǎn)換(顯式類型轉(zhuǎn)換)
不可以將一個(gè)數(shù)值賦給范圍更小的變量,除非進(jìn)行類型轉(zhuǎn)換。
byte b = 1;
錯(cuò)誤:b = b + 2; // 無法賦值,編譯出錯(cuò)
正確:b = (byte)(b + 2);
b + 2 加法運(yùn)算,2 默認(rèn)是 int 類型,byte 類型 b 變量儲存的值類型自動提升為 int,執(zhí)行完加法運(yùn)算后就是 int 類型,將 int 放入 byte 類型必須強(qiáng)制轉(zhuǎn)換,否則編譯報(bào)錯(cuò)。
強(qiáng)制類型轉(zhuǎn)換可能會損失精度。
int a = 128;
byte b = (byte) a; // -128
位運(yùn)算符:
& 與運(yùn)算,參見運(yùn)算的兩位數(shù)都為1,&運(yùn)算符結(jié)果才為1,否則就為0。
00000000 | 00000000 | 00000000 | 00000110 | 6 |
00000000 | 00000000 | 00000000 | 00000011 | 3 |
00000000 | 00000000 | 00000000 | 00000010 | & = 2 |
| 或運(yùn)算,參與運(yùn)算的兩位都為0,|運(yùn)算的結(jié)果才為0,否則就為1。
00000000 | 00000000 | 00000000 | 00000110 | 6 |
00000000 | 00000000 | 00000000 | 00000011 | 3 |
00000000 | 00000000 | 00000000 | 00000111 | | = 7 |
^異或運(yùn)算,只有參加運(yùn)算的兩位不同,^運(yùn)算的結(jié)果才為1,否則就為0。
00000000 | 00000000 | 00000000 | 00000110 | 6 |
00000000 | 00000000 | 00000000 | 00000011 | 3 |
00000000 | 00000000 | 00000000 | 00000101 | ^ =5 |
~ 反碼
就是取反,二進(jìn)制只有1和0,取反就是如果為1,取反就是0,如果是0,取反就是1。
00000000 | 00000000 | 00000000 | 00000110 | 6 |
11111111 | 11111111 | 11111111 | 11111001 | 取反 -7 |
結(jié)論:當(dāng)參與取反的數(shù)值是正數(shù)時(shí),把對應(yīng)的值加上負(fù)號,再-1;
當(dāng)參與取反的數(shù)值是負(fù)數(shù)時(shí),把對應(yīng)的值加上負(fù)號,再-1;
負(fù)數(shù)的表現(xiàn)形式就是對應(yīng)的正數(shù)取反,再加1。負(fù)數(shù)的最高位肯定是1。
新聞熱點(diǎn)
疑難解答
圖片精選