Java入门学习笔记9——数据类型(上)
目錄
一、數據類型相關基礎
1.1 數據類型作用
1.2 數據類型在java語言中分類
1.3 計算機存儲單位
1.4各數據類型取值范圍
1.5 字符編碼
1.5.1 字符編碼由來
1.5.2 什么是字符編碼
1.5.3 關于字符編碼的發展過程
一、數據類型相關基礎
1.1 數據類型作用
數據類型用來聲明變量,程序在運行過程中根據不同的數據類型分配不同大小的空間。
int i = 10;
double d = 1.23;
i變量和d變量類型不同,空間大小不同。
1.2 數據類型在java語言中分類
第一種:基本數據類型(8小種)
基本數據類型又可以劃分為4大類8小種:
第1類:整數型
byte,short,int,long (沒有小數的)
第2類:浮點型
float,double (帶有小數的)
第3類:布爾型
boolean:只有兩個值true和false,true表示真,false表示假
第4類:字符型
char:java中規定字符型字面量必須使用單引號括起來。屬于文字。
第二種:引用數據類型
字符串型String屬于引用數據類型。
String字符串不屬于基本數據類型范疇。
java中除了基本數據類型之外,剩下的都是引用數據類型。
引用數據類型后期面向對象的時候才會接觸。
1.3 計算機存儲單位
計算機只能識別二進制。(1001101100...)
1字節 = 8bit(8比特)--> 1byte = 8bit
1bit就是一個1或0.
1KB = 1024byte
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
byte b = 2; 在計算機中是這樣表示的:00000010
short s = 2; 在計算機中是這樣表示的:00000000 00000010
int i = 2;在計算機中是這樣表示的:00000000 00000000 00000000 00000010
1.4各數據類型取值范圍
| 數據類型? | 字節數?? | ?取值范圍 |
| byte | 1 | [-2^7~2^7-1]、[-128 ~ 127] |
| short | 2 | [-2^15~2^15-1]、[-32768~32767] |
| int | 4 | [-2^31~2^31-1]、[-2147483648~2147483647] |
| long | 8 | [-2^63~2^63-1] |
| float | 4 | [-3.4*10^38 ~ 3.4*10^38 ] |
| double | 8 | [-1.7*10^308 ~ 1.7*10^308] |
| boolean | 1 | true / false |
| char | 2 | [0~2^16-1]、[0 ~ 65535] |
舉例說明:
byte類型的取值范圍:??????
byte是 [-128 ~ 127] 共可以標識256個不同的數字。
問:byte類型的最大值是怎么計算出來的?
答:byte是1個字節,是8個比特位,所以byte可以存儲的最大值是:01111111
注意:在計算機當中,一個二進制位最左邊的是符號位,當為0時表示正數,當為1時表示負數。所以byte類型最大值是:01111111
即:2的7次方-1
即:10000000 - 1(此處是二進制)
有幾個取值范圍需要記住:
(1個字節)byte: [-128 ~ 127]
(2個字節)short:[-32768 ~ 32767] 可以表示65536個不同的數字
(4個字節)int: [-2147483648 ~ 2147483647]
(2個字節)char: [0~65535]? 可以表示65536個不同的數字
short和char實際上容量相同,不過char可以表示更大的數字。因為char表示的是文字,文件沒有正負之分,所以char可以表示更大的數字。
1.5 字符編碼
1.5.1 字符編碼由來
7類:byte, short, int, long, float, double, boolean
這7種類型計算機表示起來比較容易,因為他們都是數字。其中布爾類型只有兩個值true和false,實際上true和false分別在C++中對應的是1和0,1為true,false為0。
1類:char
對于char類型來說計算機表示起來比較麻煩,因為char對應的是文字,每一個國家的文字不一樣,文字不能直接通過“自然算法”轉換成二進制。就需要字符編碼。
1.5.2 什么是字符編碼
字符編碼是人為的定義的一套轉換表。規定了一系列的文字對應的二進制。其本質上就是一本字典,該字段中描述了文字與二進制之間的對照關系。
字符編碼涉及到編碼和解碼兩個過程,編碼和解碼的時候必須采用同一套字符編碼方式,不然就會出現亂碼。
1.5.3 關于字符編碼的發展過程
第一階段:無
起初的時候計算機是不支持文字的,只支持科學計算。
第二階段:ASCII碼
后來隨著計算機的發展,計算機開始支持文字,最先支持的文字是英文,英文對應的字符編碼方式是:ASCII碼。
ASCII碼采用1byte進行存儲,因為英文字母是26個。(鍵盤上所有的鍵全部算上也超不過256個。1byte可以表示256種不同的情況。所以英文本身在計算機方面就占有優勢。)
ASCII碼表:
第三階段:ISO-8859-1編碼方式
隨著計算機語言的發展,后來國際標準組織制定了ISO-8859-1編碼方式,又稱為latin-1編碼方式,向上兼容ASCII碼。但不支持中文。
第四階段:中文編碼
簡體中文:后來發展到亞洲,才支持中文,日文,韓文....中文這塊的編碼方式:GB2312<GBK<GB18030 (容量的關系)
繁體中文:big5(臺灣使用的是大五碼。)
第五階段:unicode編碼
在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)
總結
以上是生活随笔為你收集整理的Java入门学习笔记9——数据类型(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ArcGIS:根据DEM数据提取区域水系
- 下一篇: MySQL内外连接