javase (2020) 老杜专属day06
1.數據類型
什么是數據類型,數據類型有什么用?
數據類型是用來聲明變量,根據不同的數據類型,分配不同的內存空間
int i = 10;
double d = 1.23;
i和d數據類型不同,分配的大小空間也不相同
2.java語言包括兩種數據類型:基本數據類型和引用數據類型
基本數據類型
基本數據類型可以劃分為四大類八小種
第一類:整型
byte、short 、 int 、 long(不帶小數的)
第二類:浮點型
float、double(帶小數的)
第三類: 布爾型
boolean(只包含兩個值 true(真)和false(假))
第四種是字符型
char(單引號括起來)
八種基本數據類型
byte,short,int,long,float,double,boolean,char
引用數據類型
字符串型String屬于引用數據類型。
String字符串不屬于基本數據類型范疇。
java中除了八種基本數據類型之外,剩下的都是引用數據類型。
引用數據類型后期面向對象的時候才會接觸。
3.? ? 8種基本數據類型中
?? ??? ?整數型:byte short int long有什么區別?
?? ??? ?浮點型:float和double有什么區別?
?? ??? ?區別:占用的空間大小不同。
byte b = 2; 在計算機中是這樣表示的:00000010
short s = 2; 在計算機中是這樣表示的:00000000 00000010
int i = 2;在計算機中是這樣表示的:00000000 00000000 00000000 00000010
........
類型?? ??? ??? ?占用字節數量(byte)
?------------------------------------
?byte?? ??? ??? ??? ????????1
?short? ? ? ? ? ? ? ? ? ? ? ? 2
?int? ? ? ? ? ? ? ? ? ????????4
?long? ? ? ? ? ? ? ? ? ? ? ? ?8
?float? ??? ? ? ? ? ? ? ? ? ?4
double? ? ? ? ? ? ? ? ? ?8
?boolean?? ??? ???????????1 ?(1byte的1或0,00000001(true)或00000000(false))
?char?? ??? ??? ??? ?????????2
有幾個取值范圍需要大家記住:
?? ??? ??? ?(1個字節)byte: [-128 ~ 127]
?? ??? ??? ?(2個字節)short:[-32768 ~ 32767] 可以表示65536個不同的數字
?? ??? ??? ?(4個字節)int: [-2147483648 ~ 2147483647]
?? ??? ??? ?(2個字節)char: [0~65535] ?可以表示65536個不同的數字
short和char實際上容量相同,不過char可以表示更大的數字。
?? ??? ??? ?因為char表示的是文字,文件沒有正負之分,所以char可以表示
?? ??? ??? ?更大的數字。
4. 對于8種基本數據類型來說:
?? ??? ?其中byte,short,int,long,float,double,boolean,這7種類型計算機表示起來
?? ??? ?比較容易,因為他們都是數字。其中布爾類型只有兩個值true和false,實際上
?? ??? ?true和false分別在C++中對應的是1和0,1為true,false為0。
?? ??? ?對于char類型來說計算機表示起來比較麻煩,因為char對應的是文字,每一個國家
?? ??? ?的文字不一樣,文字不能直接通過“自然算法”轉換成二進制。這個時候怎么辦?
?? ??? ??? ?字符編碼誕生了。
?? ??? ?
?? ??? ?什么是字符編碼?
?? ??? ??? ?字符編碼是人為的定義的一套轉換表。
?? ??? ??? ?在字符編碼中規定了一系列的文字對應的二進制。
?? ??? ??? ?字符編碼其實本質上就是一本字典,該字段中描述了文字與二進制之間的對照關系。
?? ??? ??? ?字符編碼是人為規定的。(是某個計算機協會規定的。)
?? ??? ?
?? ??? ?字符編碼涉及到編碼和解碼兩個過程,編碼和解碼的時候必須采用同一套字符編碼
?? ??? ?方式,不然就會出現亂碼。
?? ??? ?關于字符編碼的發展過程?
?? ??? ??? ?起初的時候計算機是不支持文字的,只支持科學計算。實際上計算機起初是為了
?? ??? ??? ?戰爭而開發的,計算導彈的軌道....
?? ??? ??? ?后來隨著計算機的發展,計算機開始支持文字,最先支持的文字是英文,英文
?? ??? ??? ?對應的字符編碼方式是:ASCII碼。
?? ??? ??? ?ASCII碼采用1byte進行存儲,因為英文字母是26個。(鍵盤上所有的鍵全部算上也
?? ??? ??? ?超不過256個。1byte可以表示256種不同的情況。所以英文本身在計算機方面就占有
?? ??? ??? ?優勢。)
?? ??? ??? ??? ?'a' --(采用ASCII碼進行編碼)-> 01100001
?? ??? ??? ??? ?01100001 --(采用ASCII碼進行解碼)-> 'a'
?? ??? ??? ??? ?如果編碼和解碼采用的不是同一個編碼方式,會出現亂碼。
?? ??? ??? ??? ?'b' ---> 98
?? ??? ??? ??? ?'c' ---> 99...
?? ??? ??? ??? ?'a' ---> 97
?? ??? ??? ??? ?'A' ---> 65
?? ??? ??? ??? ?'B' ---> 66
?? ??? ??? ??? ?...
?? ??? ??? ??? ?'0' ---> 48 ?(這個'0'不是那個0,是文字'0')
?? ??? ??? ??? ?'1' ---> 49
?? ??? ??? ?
?? ??? ??? ?隨著計算機語言的發展,后來國際標準組織制定了ISO-8859-1編碼方式,
?? ??? ??? ?又稱為latin-1編碼方式,向上兼容ASCII碼。但不支持中文。
?? ??? ??? ?后來發展到亞洲,才支持中文,日文,韓文....
?? ??? ??? ?中文這塊的編碼方式:GB2312<GBK<GB18030 (容量的關系)
?? ??? ??? ?以上編碼方式是簡體中文。
?? ??? ??? ?繁體中文:big5(臺灣使用的是大五碼。)
?? ??? ??? ?在java中,java語言為了支持全球所有的文字,采用了一種字符編碼方式
?? ??? ??? ?叫做unicode編碼。unicode編碼統一了全球所有的文字,支持所有文字。
?? ??? ??? ?具體的實現包括:UTF-8 UTF-16 UTF-32....
?? ??? ?
?? ??? ?需要記住:
?? ??? ??? ?ASCII('a'是97 'A'是65 '0'是48...)
?? ??? ??? ?ISO-8859-1(latin-1)
?? ??? ??? ?GB2312
?? ??? ??? ?GBK
?? ??? ??? ?GB18030
?? ??? ??? ?Big5
?? ??? ??? ?unicode(utf8 utf16 utf32)
? ? 對于今天的筆記,前三個要好好看一下,后面屬于了解。把一些特殊的數字記一記就行了,加油,堅持應該就不會辜負你。
?? ?
總結
以上是生活随笔為你收集整理的javase (2020) 老杜专属day06的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WordPress + Avada主题
- 下一篇: 流量回放平台