一、具體內(nèi)容
1脐区、數(shù)據(jù)分類
(1)在java開發(fā)里面愈诚,數(shù)據(jù)類型分為兩大類:基本數(shù)據(jù)類型(數(shù)值傳遞)、應(yīng)用數(shù)據(jù)類型(內(nèi)存?zhèn)鬟f)牛隅;
- 基本數(shù)據(jù)類型:
? | - 數(shù)值型:
?? ? ? | - 整型:byte炕柔、 short、int媒佣、long匕累;
?? ? ? | - 浮點(diǎn)型:float、 double默伍;
? | - 字符型:char欢嘿;
? | - 布爾型:boolean衰琐; - 引用數(shù)據(jù)類型:數(shù)組、類炼蹦、接口羡宙;
(2)在實(shí)際的項(xiàng)目編寫過程中,所有的變量都需要有對(duì)應(yīng)的類型框弛,變量的賦值:
數(shù)據(jù)類型關(guān)鍵字 變量標(biāo)識(shí)符 = 常量辛辨;
(2)數(shù)據(jù)類型對(duì)應(yīng)的取值范圍
NO. | 數(shù)據(jù)類型 | 大小/位 | ??? 可表示的數(shù)據(jù)范圍 |
---|---|---|---|
1 | long(長整數(shù)) | 64 | -263 ~ (263-1) |
2 | int(整數(shù)) | 32 | -231 ~ (231-1) |
3 | short(短整數(shù)) | 16 | -215 ~ (215-1) |
4 | byte(位) | 8 | -128~127 |
5 | char(字符) | 16 | 0~65536 |
6 | float(單精度) | 32 | -3.4E38(-3.4x1038)~3.4E38(3.4x1038) |
7 | double(雙精度) | 64 | -1.7E308(-1.7x10308)~1.7E308(1.7x10308) |
(3)數(shù)據(jù)類型的使用,總結(jié):
- 在描述整數(shù)的時(shí)候(例如:年齡)瑟枫,一般會(huì)用 int 類型斗搞;
- 在描述小數(shù)的時(shí)候一般會(huì)使用 double;
- 描述日期時(shí)間或者內(nèi)存及文件大小(字節(jié))的時(shí)候使用 long慷妙;
- 在進(jìn)行數(shù)據(jù)二進(jìn)制傳輸或者進(jìn)行編碼轉(zhuǎn)換的時(shí)候使用 byte僻焚;
- 在進(jìn)行中文處理的時(shí)候可以通過 char 來完成。
(1)膝擂、整型
?? 描述整型的關(guān)鍵字:byte --> short ---> int ---> long (按照由小到大順序排列)虑啤,任何一個(gè)整數(shù)對(duì)應(yīng)的默認(rèn)類型是 int。
?? 每種數(shù)據(jù)類型都有保存的范圍架馋,超出了會(huì)如何呢狞山?
public class TestDemo {
public static void main(String[] args) {
int max = Integer.MAX_VALUE; //獲取最大值
int min = Integer.MIN_VALUE; //獲取最小值
System.out.println(max);//最大值 "2147483647"
System.out.println(min);//最小值 "-2147483648"
//max 為 int型變量 + 1為int型常量 = int 型結(jié)果
System.out.println(max+1);//“最大值 + 1 = 最小值(-2147483648)”
System.out.println(max+2);//最大值 + 2 = 次小值 (-2147483647)
System.out.println(min-1);//最小值 - 1 = 最大值 (2147483647)
}
}
執(zhí)行結(jié)果:
2147483647
-2147483648
-2147483648
-2147483647
2147483647
數(shù)據(jù)越界,這一點(diǎn)和二進(jìn)制的數(shù)據(jù)存儲(chǔ)有關(guān)叉寂。 如果想解決溢出的唯一的方式就算擴(kuò)大已有的數(shù)據(jù)范圍萍启。
(2)、浮點(diǎn)型
?? 浮點(diǎn)類型描述的就是一個(gè)小數(shù)屏鳍,所有的小數(shù)默認(rèn)的類型是 double 類型勘纯。
?? float 類型在定義的時(shí)候必須明確聲明,即在數(shù)值末尾加上F或f钓瞭。
float num = 99.89123F 或 float num = 99.89123f
? 因?yàn)閿?shù)據(jù)類型的特點(diǎn)驳遵,如果小數(shù)強(qiáng)制轉(zhuǎn)為整數(shù),實(shí)際上是不會(huì)保留小數(shù)位的內(nèi)容山涡。
? 數(shù)據(jù)類型的轉(zhuǎn)換原則(自動(dòng)轉(zhuǎn)換):byte ---> int ---> long ---> float ---> double(可以保存最大的數(shù)值)堤结。
(3)、字符型
? 字符型使用 char 類描述鸭丛,并且所有的字符型的都保存著一位字符數(shù)據(jù)竞穷,字符數(shù)據(jù)必須使用 “ ' ”來進(jìn)行定義。
(1) 大寫字母的編碼范圍('A'~'Z'):65(A) ~ 90(Z)系吩;
(2)小寫字母的編碼范圍('a'~'z'):97(a) ~ 122(z)来庭;
(3)數(shù)字字符的編碼范圍('0'~'9'):48(0) ~ 57(9);
大寫字母和小寫字母之間相差有32位的編碼穿挨。
(4)月弛、布爾型
? ? 布爾型是一種描述程序邏輯的一種數(shù)據(jù)類型肴盏,只允許使用(真)和
(假);
(5)帽衙、String 字符串
?? cahr只能描述以為字符串菜皂,String屬于引用數(shù)據(jù)類型,使用 String (系統(tǒng)類)來定義一組字符串厉萝,必須使用 “ " ”來進(jìn)行聲明恍飘。
?? 所有的數(shù)據(jù)類型遇見 String 之后都會(huì)自動(dòng)向 String 轉(zhuǎn)型。
二谴垫、標(biāo)識(shí)符
?? 標(biāo)識(shí)符指的是一些特定的結(jié)構(gòu)聲明章母,例如:類名稱、方法名稱翩剪、變量名稱等等乳怎,標(biāo)識(shí)符的定義要求為:
由字母、數(shù)字前弯、_蚪缀、$ 所組成,其中不能以數(shù)字開頭恕出,不能是java中的保留字询枚。