第一類:邏輯型boolean
第二類:文本型char
1、JAVA中,char占2字節,16位。可在存放漢字
2、char賦值
char a='a'; //任意單個字符,加單引號。
char a='中';//任意單個中文字,加單引號。
char a=111;//整數。0~65535。十進制、八進制、十六進制均可。輸出字符編碼表中對應的字符。
注:只能放單個字符。
3、char運算
char類型是可以運算的因為char在ASCII等字符編碼表中有對應的數值。
在JAVA中,對char類型字符運行時,直接當做ASCII表對應的整數來對待。
示例:
char m='a'; ——a。
char m='a'+'b'; ——Ã。 //char類型相加,提升為int類型,輸出對應的字符。注,在CMD.exe用輸出結果是問題?,不同的編碼輸出顯示不一樣。Eclipse中須改成UTF-8。
int m='a'+'b'; ——195。//195沒有超出int范圍,直接輸出195。
char m='a'+b; ——報錯。//因為b是一個賦值的變量。
char m=197; ——Ã。 //輸出字符編碼表中對應的字符。
char m='197; ——報錯。//因為有單引號,表示是字符,只允許放單個字符。
char m='a'+1; ——b。//提升為int,計算結果98對應的字符是b。
char m='中'+'國'; ——42282。
char m='中'+'國'+'國'+'國'; ——報錯。int轉char有損失。因為結果已經超出char類型的范圍。
int m='中'+'國'+'國'+'國'; ——86820
char m='中'+1; ——丮。//1是int,結果提升為int,輸出對應的字符。
char m='中'+"國"; ——報錯。String無法轉換為char。
System.out.println('中'+"國"); ——中國。//沒有變量附值的過程。String與任何字符用“+”相連,轉換為String。
總結:
用單引號''標識,只能放單個字符。
char+char,char+int——類型均提升為int,附值char變量后,輸出字符編碼表中對應的字符。
第三類:整數型(byte、short、int、long)
char類型占2個字節
short從-32768到32767
int從-2147483648,到2147483647共10位
long從-9223372036854775808到9223372036854775807共19位
第四類:浮點型(float、double)
在數學中0到1有無數個浮點數;而計算機是離散的,所以表示的時候有誤差,計算機用精度(小數點后幾位來表示正確),比較浮點數時a==0.1是不合適的,應該a-0.1==0;如果a是0.1,則即使有誤差 a-0.1==0因為a和0.1都被表示為一個有誤差的計算機二進制