java短除法获取二进制_Java十四天零基础入门-Java的数据类型介绍
不閑聊!!!不扯淡!!!小UP只分享Java相關(guān)的資源干貨
本章節(jié)目標(biāo):
理解數(shù)據(jù)類型的作用。Java中包括哪些數(shù)據(jù)類型?常見的八種基本數(shù)據(jù)類型都有哪些?會用八種基本數(shù)據(jù)類型聲明變量?什么是二進制?原碼反碼補碼是什么?什么是字節(jié)?byte類型取值范圍?什么是字符編碼方式?每種數(shù)據(jù)類型在使用時的注意事項?基本數(shù)據(jù)類型之間的轉(zhuǎn)換?
知識框架:
Java的數(shù)據(jù)類型概述
幾乎所有的編程語言中都會有數(shù)據(jù)類型,什么是數(shù)據(jù)類型呢?軟件的存在主要是進行數(shù)據(jù)的處理,現(xiàn)實生活中的數(shù)據(jù)會有很多,所以編程語言對其進行了分門別類,然后不同的數(shù)據(jù)類型的數(shù)據(jù)會給其分配不同大小的空間進行存儲。換句話說,java中的數(shù)據(jù)類型作用就是指導(dǎo)java虛擬機在程序運行階段到底應(yīng)該給該變量分配多大的內(nèi)存空間。
Java中的數(shù)據(jù)類型包括兩種,分別是:
● 基本數(shù)據(jù)類型
● 引用數(shù)據(jù)類型
Java中的基本數(shù)據(jù)類型又包括四類8種:
● 整數(shù)型(不帶小數(shù)的數(shù)字):byte,short,int,long
● 浮點型(帶小數(shù)的數(shù)字):float,double
● 字符型(文字,單個字符):char
● 布爾型(真和假):boolean
java中除了以上的8種基本數(shù)據(jù)類型之外,其它的數(shù)據(jù)類型均屬于引用數(shù)據(jù)類型,也就是說字符串在java中不屬于基本數(shù)據(jù)類型,而屬于引用數(shù)據(jù)類型。請看八種基本數(shù)據(jù)類型對照表:
data-draft-type="table" data-size="normal" data-row-style="normal">
數(shù)據(jù)類型占用bit位取值范圍缺省默認(rèn)值byte(字節(jié)型)1[-128~127]0short(短整型)2[-32768~32767]0int(整型)4[-2147483648~2147483647]0long(長整型)80Lfloat(單精度)40.0fdouble(雙精度)80.0boolean(布爾型)1true、falsefalsechar(字符型)2[0~65535]‘u0000’接下來我們普及一下計算機基本知識,計算機在任何情況下都只能識別二進制,因為計算機畢竟是一臺通電的機器,電流只有正極、負(fù)極,所以只能表示兩種情況,也就是1和0。什么是二進制呢?滿2進一位,請看對照表
| 十進制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 二進制 | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 | 1011 |
十進制和二進制之間的轉(zhuǎn)換規(guī)則:
● 十進制轉(zhuǎn)換成二進制:比方說十進制數(shù)65轉(zhuǎn)換成二進制代碼,我們可以使用短除法,65對2整除商32余數(shù)為1,把1寫在旁邊,接著32對2整除商16余數(shù)為0,把0寫在旁邊,用16整除2商0余數(shù)為0,把0寫在旁邊,這樣進行下去直至商為0時為止。然后把余數(shù)逆序排列就得到了65的二進制代碼。
● 二進制轉(zhuǎn)換成十進制:比方說二進制代碼為1000001的十進制數(shù)是多少呢?可以采用按權(quán)相加的方法,對于二進制代碼1000001首先從右邊第一位起對應(yīng)2的零次方,第二位對應(yīng)2的一次方,以此類推,把相應(yīng)的數(shù)位與權(quán)值相乘得到的積相加即可,即2^0*1+0*2^1+0*2^2+0*2^3+0*2^4+0*2^5+1*2^6=65
接下來我們來看一下byte類型的取值范圍:首先byte屬于字節(jié)型,占用空間大小是1個字節(jié)byte,1個byte是8個bit位,二進制位中的一個1或者一個0就是一個bit位,而java中的數(shù)字有正負(fù)之分,二進制位中最左邊的數(shù)字表示符號位,0表示正數(shù),1表示負(fù)數(shù),所以byte類型最大值是:01111111,將這個二進制位轉(zhuǎn)換為十進制是:127。byte類型最小值是-128,也就是說1個字節(jié)可以表示256種不同形式。另外還需要給大家普及一下計算機的容量換算單位:
1byte = 8bit
1KB = 1024byte
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
對于以上的八種基本數(shù)據(jù)類型來說,其中七種類型byte,short,int,long,float,double,boolean計算機表示起來是很容易的,因為這七種類型底層直接就是數(shù)字,十進制的數(shù)字和二進制之間有固定的轉(zhuǎn)換規(guī)則,其中boolean類型只有true和false,而true底層實際上是1,false底層實際上是0。除了以上的七種數(shù)據(jù)類型之外,還有一種類型叫做字符型char,這個對于計算機來說表示起來就不是那么容易了,因為字符畢竟是現(xiàn)實世界當(dāng)中的文字,計算機是如何表示文字的呢?
起初的計算機實際上只支持?jǐn)?shù)字的,因為計算機起初就是為了科學(xué)計算,隨著計算機的發(fā)展,為了讓計算機起到更大的作用,因此我們需要讓計算機支持現(xiàn)實世界當(dāng)中的文字,這個時候某個標(biāo)準(zhǔn)協(xié)會就制定了字符編碼(字符集),字符編碼就是一張對照表,在這個對照表上描述了某個文字與二進制之間的轉(zhuǎn)換關(guān)系。
最初的時候美國標(biāo)準(zhǔn)協(xié)會制定了ASCII碼,ASCII碼采用1個字節(jié)編碼,大家是否還記得1個字節(jié)可以表示256種不同的形式,對于美國來說這個足夠了,因為英文單詞就是由26個英文字母拼湊而成,大小寫全部才52個,再加上標(biāo)點符號也不會超過256個。ASCII碼中規(guī)定’a’對應(yīng)97,’b’對應(yīng)98,以此類推,’A’對應(yīng)65,’B’對應(yīng)66,以此類推,’0’字符對應(yīng)48,’1’字符對應(yīng)49,以此類推,這些常見的編碼還是需要大家記住的。
什么是編碼?什么是解碼?我們拿’a’來解釋:
● ‘a(chǎn)’ ----(以ASCII字符集進行編碼)----> 01100001
● 01100001----(以ASCII字符集進行解碼)----> ‘a(chǎn)’
大家一定要注意:編碼和解碼要采用同一種字符編碼方式(要采用同一個對照表),不然會出現(xiàn)亂碼。
隨著計算機的不斷發(fā)展,為了讓計算機支持更多國家的語言,國際標(biāo)準(zhǔn)組織又制定了ISO-8859-1字符集,又被稱為latin-1,向上兼容ASCII碼,仍不支持中文,主要支持西歐語言。
當(dāng)計算機發(fā)展到亞洲的時候,計算機開始支持簡體中文、繁體中文、日本語、朝鮮語等,其中支持簡體中文的字符集包括:GB2312 < GBK < GB18030,它們的容量大小不同。支持繁體中文的大五碼Big5等。
后來,國際組織制定了一種字符編碼方式,叫做Unicode編碼,這種編碼方式統(tǒng)一了全球所有國家的文字,具體的實現(xiàn)包括:UTF-8,UTF-16,UTF-32等。
java為了國際化,為了支持所有國家的語言,所以java采用的編碼方式為Unicode編碼。例如’中’對應(yīng)的Unicode碼是’u4e2d’。在實際開發(fā)中幾乎所有的團隊都會使用Unicode編碼方式,因為這種方式更通用,兼容性更好。
學(xué)習(xí)本文之前建議先看:
Java十四天零基礎(chǔ)入門-Java變量的作用域?zhuanlan.zhihu.com下一篇文章學(xué)習(xí)地址:
Java十四天零基礎(chǔ)入門-Java字符類型?zhuanlan.zhihu.com更多相關(guān)Java視頻教程資料:
2020最新版Java視頻學(xué)習(xí)路線圖-學(xué)習(xí)Java獨孤九劍總綱篇?zhuanlan.zhihu.com你的素質(zhì)五連就是小UP的動力
總結(jié)
以上是生活随笔為你收集整理的java短除法获取二进制_Java十四天零基础入门-Java的数据类型介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 长途机票燃油附加费涨至200元!今年第五
- 下一篇: 中信信用卡对比 白条联名卡与“颜”系列信