JAVA入门级教学之(数据类型)
目錄
?
JAVA入門級教學之(數據類型)
?
1、數據類型的作用是什么?
2、java中的數據類型包括兩種:
3、關于基本數據類型:
4、注意:字符串"abc"不屬于基本數據類型,屬于【引用基本類型】,字符屬于基本數據類型
5、八種數據類型各自占用的空間大小是多少?
6、計算機在任何情況都只能識別二進制
7、什么是二進制?
8、字節【byte】:
9、整數型當中的byte類型,占用1個字節,所以byte類型的數據占用8個比特位。那么byte類型的取值范圍是什么?
10、二進制和十進制之間的轉換規則:
11、計算機只認識二進制,那么計算機是怎么表示現實世界中的文字呢?
? ? ? ? ? ?到底什么是編碼?
? ? ? ? ? ?亂碼的根本原因:
?
JAVA入門級教學之(數據類型)
?
1、數據類型的作用是什么?
? ? ?程序中有很多數據,每一個數據都是有相關類型的,不同數據類型的數據占用空間是不同的
數據類型的作用:是指導JVM在運行程序的時候給該數據分配多大的內存空間
?? ?
2、java中的數據類型包括兩種:
?? ??? ? ?2.1基本數據類型
?? ??? ? ?2.2引用數據類型【后面講】
?
3、關于基本數據類型:
?? ? ? ? ?* 基本數據類型包括四大類八小種:
?? ??? ? ? ? ? ?第一類:整數型
?? ??? ??? ??? ? ? ? ? ?byte、short、int、long
?? ??? ??? ??? ?第二類:浮點型
?? ??? ??? ??? ? ? ? ? ?float、double
?? ??? ??? ??? ?第三類:布爾型
?? ??? ??? ??? ? ? ? ? ?boolean
?? ??? ??? ??? ?第四類:字符型
?? ??? ??? ??? ? ? ? ? ?char
?
4、注意:字符串"abc"不屬于基本數據類型,屬于【引用基本類型】,字符屬于基本數據類型
?? ? ? ? ? ? ? ?*字符串使用雙引號引住"abc"
?? ??? ??? ??? ?*字符使用單引號引住'a'
? ? ? ?
5、八種數據類型各自占用的空間大小是多少?
?? ??? ? ?基本數據類型 ? ? ? 占用空間大小【單位:字節】
? ? ? ? ? ---------------------------------------------
?? ??? ? ?byte ? ? ? ? ? ? ? ? ? ? ? 1
?? ??? ? ?short ? ? ? ? ? ? ? ? ? ? ?2
? ?? ??? ?int? ? ? ? ? ? ? ? ? ? ? ? ? 4
?? ??? ? ?long ? ? ? ? ? ?? ? ? ? ? ?8
?? ??? ? ?float? ? ? ? ? ? ? ? ? ? ? ?4?? ??? ??? ?
?? ??? ? ?double ? ? ? ? ? ? ? ? ? 8 ? ? ? ? ? ??
?? ??? ? ?boolean ? ? ?? ? ? ? ? ?1
?? ??? ? ?char ? ? ? ? ? ? ? ? ? ? ? 2
? ? ? ?
6、計算機在任何情況都只能識別二進制
? ? ? ? ? 例如:只認識100101010.....
?? ? ? ? ?現代計算機底層采用交流電的方式,接通和斷開就兩種狀態,計算機只識別1或0,其它不認識
?
7、什么是二進制?
?? ? ? ? ?*數據的一種表示形式。十進制表示滿十進一原則。二進制表示滿二進一原則。
?? ??? ? ?例如:十進制
? ? ? ? ? ? ? ? ? ? ?0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20....
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ?二進制
? ? ? ? ? ? ? ? ? ? ?0 1 10 11 100 101 110 111 1000 1001....?
? ? ? ? ? ? ? ? ? ? 分別代表:
? ? ? ? ? ? ? ? ? ? 0 1 2 ?3 ?4 ? 5 ? 6 ? 7 ? 8 ? ?9
?
8、字節【byte】:
?? ??? ? ? 1 byte = 8 bit 【1個字節=8個比特位】 【1個比特位表示一個二進制位 1/0】
?? ??? ? ? 1 KB ? = 1024 byte
?? ??? ? ? 1 MB ? = 1024 KB
?? ??? ? ? 1 GB ? = 1024 MB
?? ??? ? ? 1 TB ? = 1024 GB
?? ??? ? ? 所以 1 TB=1024*1024*1024*1024*8 bit
?
9、整數型當中的byte類型,占用1個字節,所以byte類型的數據占用8個比特位。那么byte類型的取值范圍是什么?
?? ? ? ??
?? ??? ? * 關于java中的數據類型,數字都是有正負之分的,所以在數字的二進制中有一個二進制位被稱為"符號位"。
? ? ? ? ? ?并且這個"符號位"在所有二進制位的最左邊,其中【0表示正數,1表示負數】
byte類型的最大值:01111111
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??【10000000(二進制) - 1】
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 即:2的7次方-1,結果是:128-1=127
byte類型的最小值:-128【涉及到位運算,原碼、反碼、補碼的運算】
?? ??? ? * byte類型可以表示256個不同的數字【因為0-127包括0】【256個不同的二進制】
?
?
10、二進制和十進制之間的轉換規則:
?? ??? ? ?*二進制轉換為十進制:
?? ??? ? ? ? ? ? ? ? ? ? 例如:1001-->2^0+2^3=9
?? ??? ? ?*十進制轉換為二進制:
?? ??? ? ? ? ? ? ? ? ? ? 例如:33-->就是32+1-->就是用33整除2,最后再逆序數數字排序就行
?
11、計算機只認識二進制,那么計算機是怎么表示現實世界中的文字呢?
?
前提引入:
? ? ? ? ? ? 八種基本數據類型中:byte、short、int、float、double、boolean這7種
?? ??? ? ? ?數據類型計算機在表示的時候計較容易,因為底層都是數字,十進制的數字
?? ??? ??? ?和二進制數字之間存在一種固定的轉換規則。
? ? ? ? ? 但是八種數據類型中的char類型表示的是現實世界的文字,文字和計算機的
?? ??? ? ? ?二進制之間默認情況下是不存在任何轉換關系的。
? ? ? ? ? 為了讓計算機可以表示現實世界當中的文字,我們需要進行人為的干涉,
?? ??? ? ? ?負責提前制定好"文字"和"二進制"之間的對照關系,這種對照關系被稱為 字符編碼
?? ??? ? ?* 計算機最初只支持英文,最先出現的字符編碼是:ASCII碼【采用一個字節編碼】
?? ??? ? ? ?例如:'a'--> 97【01100001】
? ? ? ? ? ? ? ? ? ? ? ?'A'--> 65
? ? ? ? ? ? ? ? ? ? ? ?'0'--> 48
?? ??? ??? ??? ? ?'a'-->(按照ASCII解碼)-->01100001
?? ??? ??? ??? ? ?0110001--->(按照ASCII編碼)-->'a'
?? ??? ??? ??? ? ?編碼和解碼的時候采用同一套字典/對照表,不會出現亂碼
?? ??? ??? ??? ? ?當解碼和編碼的時候采用的不是同一套對照表,會出現亂碼問題
?
? ? ? ? ? ?到底什么是編碼?
? ? ? ? ? ? ? 就是人類規定的字典給計算機識別人類
?
?? ??? ? ?亂碼的根本原因:
? ? ? ? ? ? 是解碼和編碼的時候采用的不是同一套字典
?
?? ??? ? ?* 隨著計算機的發展,后來出現了一種編碼方式,是國際化標準組織ISO制定的,
?? ??? ? ? ?這種編碼方式支持西歐語言,向上兼容ASCII碼,仍然不支持中文。這種編碼方式
?? ??? ??? ?是:ISO-8859-1,又被稱為latin-1(拉丁-1)
?? ??? ? ?* 隨著計算機向亞洲發展,計算機開始支持中文、日文、韓文等國家文字,其中支持
?? ??? ? ? ?簡體中文的編碼方式有:
?? ??? ??? ? ? ? ? ? ? ? ? ? ? ? GB2312<GBK<GB18030
?? ??? ? ? ?
?? ??? ? ?* 支持繁體中文:大五碼<big5>
?? ??? ? ?* 后來出現了一種編碼方式統一了全球所有文字,容量較大,這種編碼方式叫做:
?? ??? ? ? ?unicode編碼:unicode編碼方式有多種具體的實現:
?? ??? ??? ? ? ? ? ? ? ?— UTF-8【一般使用UTF-8編碼方式】
?? ??? ??? ??? ??? ??? ?— UTF-16
?? ??? ??? ??? ??? ??? ?— UTF-32
?? ??? ? ?* java語言采用的是哪一種編碼方式呢?
?? ??? ? ? ?
?? ??? ??? ?java語言源代碼采用的是unicode編碼方式,所以"標識符"可以用"中文"
? ? ? ? ? ? //class 學生/日文/中文...
?? ??? ? ? ?{
?? ??? ? ? ?}
?? ??? ? ? ?//編譯成功
總結
以上是生活随笔為你收集整理的JAVA入门级教学之(数据类型)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 太阳能电池基本特性实验报告_太阳能电池基
- 下一篇: 蓝牙最新版本6.0_FIIL新品 T1