數(shù)據(jù)類型表
數(shù)據(jù)類型占位字節(jié)
Java語言的整型常量默認(rèn)是int型鸥滨,聲明long型變量后加上‘l’或‘L青抛,因小寫的l容易和數(shù)字1相混淆灸叼,建議使用大寫L汉额。
默認(rèn)情況下,一個整型的字面量默認(rèn)是int類型.
字符類型講解
- 小數(shù)類型(float-double):float、double類型:
表示小數(shù)類型又稱為浮點類型被冒,其中float表示單精度類型军掂,double表示雙精度類型,但是二者都不能表示精確的小數(shù)姆打。
兩種表現(xiàn)形式:
十進制形式: 例如:3.14 ,168.0肠虽, .618
科學(xué)計數(shù)法形式: 例如:3.14e2幔戏, 3.14E2, 1000E-2
科學(xué)計數(shù)法表達式返回的結(jié)果是double類型税课。
默認(rèn)情況下,一個浮點類型的字面量默認(rèn)是double類型.若要聲明一個常量為float型闲延,則需在常量后加上f 或 F痊剖,double常量后面的D或d可省略。
注意:Java里只有浮點型的變量才可以接受科學(xué)計算式結(jié)果:
因為float和double都不能精確的表示小數(shù)垒玲,那么在精度要求高的系統(tǒng)比如銀行系統(tǒng)里陆馁,那怎么表示精確的小數(shù)呢?后面我們會講BigDecimal類型合愈,它表示任意精度的數(shù)據(jù)叮贩。
- 字符類型(char):字符,字母和符號.
char類型:表示16位的無符號整數(shù)或者Unicode字符,Java對字符采用Unicode字符編碼佛析。
Unicode收集了世界上所有語言文字中的符號益老,是一種跨平臺的編碼方式,Java的字符占兩個字節(jié)寸莫,可以表示一個漢字捺萌。
什么是編碼?
計算機只能表示0和1兩個數(shù)膘茎,于是人們做規(guī)定使用一個數(shù)字去表示一個特定的字符桃纯,比如a使用97表示。
char前256個字符和ASCII(美國信息交互標(biāo)準(zhǔn)編碼)碼中的字符重復(fù)披坏。
- char常量有3種表示形式:
① 直接使用單個字符來指定字符常量态坦,格式如'◆'、'A'刮萌,'7'驮配;
② 直接作為十進制整數(shù)數(shù)值使用,但是數(shù)據(jù)范圍在[0着茸,65535]壮锻,格式如97,但是打印出來的值依然是ASCII碼表對于的符號,如97打印出來是字符a涮阔。
③ 和2一樣猜绣,只不過表示的是16進制的數(shù)值,格式如'\uX'敬特,X表示16進制整數(shù)掰邢;如:97的16進制是61。那么表示為‘\u0061’打印出來也是a伟阔。
所以有人說char本質(zhì)上也是整型辣之,也是有道理的。
char前256個字符和ASCII(美國信息交互標(biāo)準(zhǔn)編碼)碼中的字符重復(fù)皱炉,可查表怀估。
- String字符串
除了8種基本數(shù)據(jù)類型,其他所有類型都是引用數(shù)據(jù)類型,包括類多搀、接口歧蕉、數(shù)組。引用數(shù)據(jù)類型默認(rèn)初始值都是null康铭。
String是一個類惯退,字符串使用 "" 括起來的,連接字符串使用 “+”符號从藤。
public class Test {
public static void main(String[] args) {
System.out.println( 8 + 7 +"hello");
System.out.println( 8 + "hello" + 7);
String str = 17 + "AAA";
System.out.println(str);
}
}
數(shù)據(jù)過大和溢出
當(dāng)要表示的數(shù)據(jù)超出數(shù)據(jù)類型的臨界范圍時催跪,稱為溢出。溢出情況發(fā)生時程序并沒有做數(shù)據(jù)范圍檢查處理呛哟,此時會出現(xiàn)數(shù)據(jù)紊亂情況叠荠。
public class Test {
public static void main(String[] args) {
int max = 2147483647;
//讓max變量的值加1之后,再賦值給max變量
max = max +1;
System.out.println("最大值"+max); //-2147483648
int min = -2147483648;
min = min - 1;
System.out.println("最小值"+min); //2147483647
}
}