五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

150天打卡day03_基本數(shù)據(jù)類型整數(shù)類型

2021-02-23 14:52 作者:關(guān)阿姨的Java日記  | 我要投稿

1.課程介紹

昨天呢咱們說了變量是用于在程序運算過程中來存儲數(shù)據(jù)的一個盒子,一個工具,但是這個盒子有大有小,我們不可能把所有的東西都放置在一起,不能把裝芝麻的盒子拿來裝西瓜,所以呢,咱們今天在基于昨天變量的基礎(chǔ)之上,再來學(xué)習(xí)一個新的知識點:8大基本數(shù)據(jù)類型

灌雞湯:可以說咱們每天都在學(xué)習(xí)新的知識,但是呢我覺得咱們的這些知識大家是完全能夠消化的,在咱們的學(xué)習(xí)過程中如果遇到任何的問題一定要聯(lián)系up主及時的反饋,及時的去問。一旦要是落的東西多了,后期補起來是很痛苦的。

2.基本數(shù)據(jù)類型

2.1 Java中的數(shù)據(jù)類型

關(guān)于數(shù)據(jù)類型大家應(yīng)該也都已經(jīng)接觸過了,像是咱們昨天用過的int,double就是數(shù)據(jù)類型的一種,但是大家要注意,Java中的數(shù)據(jù)類型分為是兩大類:基本數(shù)據(jù)類型和引用類型,本章節(jié)重點講解什么是基本數(shù)據(jù)類型,引用類型會在面向?qū)ο蟮恼n程中專門講解。

2.2 什么是Java中的基本數(shù)據(jù)類型

前面講過變量,程序中的變量時一個存儲單元,用于存儲程序運行過程中所用到的數(shù)據(jù),也就是說,當(dāng)創(chuàng)建變量的時候,需要在內(nèi)存中申請空間。而今天所講的數(shù)據(jù)類型就是用于約定變量存儲空間的大小。

就好比說你們女朋友們出門的時候是不是得背個小包包,那具體背什么樣的包是根據(jù)什么決定的,是不是就是根據(jù)出門要帶的東西去決定的啊,如果東西少了那就背個小包就可以了,那如果東西比較多了那就背個大一點的包,那么我們約定包的存儲空間大小的目的呢是根據(jù)物品大小選擇合適大小的包。

同樣的到底約定變量存儲空間大小的目的是根據(jù)數(shù)據(jù)大小選擇合適的存儲空間,將合適的數(shù)據(jù)存儲到響應(yīng)大小的存儲空間可以避免計算機浪費資源,提高軟件的運算性能。

Java語言提供了四大類基本數(shù)據(jù)類型,分別是整形,浮點型,布爾型和字符型,根據(jù)每個類型所占用的不同空間大小又分為了八種,整數(shù)類型分別是:byte,short,int,long,布爾類型,就一種boolean,字符char類型,和浮點類型float和double。

基本每個數(shù)據(jù)類型所占用的內(nèi)存空間是不一樣的,也就是說每個類型所能存儲數(shù)據(jù)的大小都是不一樣的,那我們就來看一下基本都能存儲多少呢?

擴展

字節(jié)

用于計量存儲容量的一種計量單位,一般有bit ,B ,KB ,MB ,GB,TB........

在二進制系統(tǒng)中,每個0或1就是一個位(bit),位是最小的存儲單位

其中8位就稱之為是一個字節(jié)(byte)

GB :吉字節(jié),通常簡寫為G,是一種十進制的信息計量單位

MB:兆字節(jié)

KB:千字節(jié)

1GB ?= 1024MB ,1MB = 1024KB,1KB ?= 1024B (Bytes)

計算機存儲單位的進率是1024而不是1000的原因:

目前計算機都是二進制的,它們計算單位,只有2的整數(shù)冪時才能非常方便計算機計算。

1024是2的10次方,因為如果取大了,不接近10的整數(shù)次方,不方便人們計算。取小了,進率太低,單位要更多才能滿足需求,所以取2的10次方正好。

因為電腦內(nèi)部的電路工作有高電平和低電平兩種狀態(tài)。所以就用二進制來表示信號,(控制信號和數(shù)據(jù)),以便計算機識別。

3.整數(shù)類型

Java中的整數(shù)類型一共有4種,用于存儲各個范圍的整數(shù):

3.1 byte類型

byte類型也稱之為是字節(jié)類型,是java中最小的數(shù)據(jù)類型,其內(nèi)部是8位2進制數(shù)字,有效數(shù)值范圍:-128~127,由于有效范圍很小,所能存儲的數(shù)據(jù)也是比較小的,所以用途也比較的有限,一般用來表示內(nèi)存中或者文件中的最小存儲單元。在IO和網(wǎng)絡(luò)通訊時使用,用于表示IO和通訊過程中的最小數(shù)據(jù)單元,轉(zhuǎn)換速度快。

提示:2進制知識點在后續(xù)的一個獨立的課程單元中進行講解

Byte是Java提供的包裝類API,在API課程階段會詳細講解其功能。

3.2 short類型

short類型是Java中存儲整數(shù)數(shù)據(jù)范圍較小的數(shù)據(jù)類型,內(nèi)部是一個16位2進制數(shù)字,其有效范圍是-32768~32767,由于范圍小,用的也是比較少的,Java中定義short類型,主要還是為了和C語言做兼容。

除了考試的時候會用到short類型,實際的開發(fā)匯總很少使用short類型。

一開始計算機是簡單的機器語言,后來是編匯語言,之后是高級語言。而高級語言中最經(jīng)典,歷史最久遠的應(yīng)該是C語言。為了補充C語言的不足,出現(xiàn)了C++,隨之而來的是Java和C#

如果說,C++是C語言的補充,那么這個Java和C#就是為了降低我們學(xué)習(xí)C++的難度而出現(xiàn)的,如果你覺得C++太難了,那么先學(xué)Java或者C#,二選一,這兩種語言沒有什么區(qū)別

案例:

3.3. int類型

int類型是Java中最常用的整數(shù)類型,在計算機內(nèi)部是一個32位2進制數(shù)字,范圍是-2147483648?~2147483647。這個范圍非常實用,可以涵蓋大多數(shù)整數(shù)用途,所以int用途最多最廣。因為int在內(nèi)存中的2進制數(shù)字是32位數(shù),其2進制位長度是byte類型長度的4倍,也稱int在內(nèi)存中占有4個字節(jié)。

關(guān)于int類型我們經(jīng)常要使用到,所以要注意的事項也比較多,一定要注意三點:

整數(shù)直接量是int類型

所謂整數(shù)直接量(literal)就是直接寫出的整數(shù),例如:下面的語句中,100就是直接量。

1、整數(shù)的直接量的類型默認為int類型,如果直接寫出的整數(shù)超過了int的表達范圍,將會出現(xiàn)編譯錯誤,下面的語句,就是因為超出了整數(shù)的范圍而導(dǎo)致的編譯錯誤。

2、?除了通常的十進制數(shù)字形式,整數(shù)直接量也可以寫成16進制的形式(以0X或0x開頭)或8進制的形式(以0開頭)但是輸出的時候都會輸出為十進制的形式,因為是給人看的,

在C語言里,整數(shù)有三種表示形式:十進制,八進制,十六進制。其中以數(shù)字0開頭,由0~7組成的數(shù)是八進制。以0X或0x開頭,由0~9,A~F或a~f 組成是十六進制。除表示正負的符號外,以1~9開頭,由0~9組成是十進制。

整型數(shù)據(jù)除法運算中的取整

若對兩個整數(shù)相除,會舍棄小數(shù)的部分(注意:不是四舍五入),結(jié)果也是整數(shù)。示例代碼如下所示:

運算時要防止溢出的發(fā)生

當(dāng)兩個整數(shù)進行運算時,其結(jié)果可能會超過整數(shù)的范圍而發(fā)生溢出,正數(shù)過大而產(chǎn)生的溢出,結(jié)果為負數(shù);負數(shù)過大而產(chǎn)生的溢出,結(jié)果為正數(shù)。示例代碼如下所示:

雖然說int類型是經(jīng)常會被用到,但是有同學(xué)可能要問,那如果數(shù)據(jù)量較大,int又存不下那該怎么辦呢,比如我要存儲全國14億人口,用int肯定是存不下的,Java應(yīng)對這種情況呢,還給我們定義了一種叫做長整型的數(shù)據(jù)類型,long類型。

3.4 long類型

在表示整數(shù)時,如果int類型的范圍不夠,可以使用long類型,一個long型的變量占用8個字節(jié)(即64位),最大表示范圍為:-263 ~ 263-1,即最小值是?-9,223,372,036,854,775,808(-2^63),最大值是?9,223,372,036,854,775,807(2^63 -1)

Java支持更大的整數(shù)運算,需要使用API BigInteger類實現(xiàn),這個類是后續(xù)課程的內(nèi)容。

long整數(shù)類型使用事項

  • 默認的整數(shù)類型是int類型,加了后綴“L/l”以后才是long類型直接量。

  • 由于小些l與1容易混淆,建議使用大寫L更好。

  • 時候 int 不夠時候采用long進行計算。

一個常見錯誤案例:

這個案例的問題是等號右側(cè)是兩個int類型數(shù)據(jù)相加, 其結(jié)果也是int類型數(shù)據(jù),并且此時int已經(jīng)溢出了,而賦值語句是將溢出以后的in賦值給了long變量j,這樣就沒有達到避免溢出的目的。如上代碼可以修改為:

修改后等號右側(cè)是 int與long相加,Java會將int轉(zhuǎn)換為long,然后按照long與long相加進行計算,這樣結(jié)果就是long類型不會發(fā)生溢出了。

long表示時間

關(guān)于long類型的一個常見的用途就是表示系統(tǒng)時間,可以獲取從現(xiàn)在此時此刻到1970年零點時的毫秒數(shù).

時間是科學(xué)家研究的話題,在宇宙學(xué)尺度中,時間空間可以扭曲,可以相對變化,但是對于我們?nèi)祟惗?,時間是一個沒有開始,沒有結(jié)束的過程,人類未來表示時間,為了記錄時間發(fā)明了歷法,為時間人為的額約定了原點和時間刻度:紀元元年,年日時分秒,計算機采用了類似的方式計算時間,計算機的時間通常的做法是按照格林威治時間1970年元旦時間作為時間原點,采用毫秒作為刻度進行計算時間,按照這約定,計算機中的現(xiàn)在時刻就是從1970年元旦開始累計的毫秒數(shù),1970年元旦以前的時間采用負數(shù)毫秒數(shù)表示。

1970元旦采用這個時間作為紀元是為了紀念計算機行業(yè)最偉大的操作系統(tǒng)Unix的額誕生,計算為精確表示時間,采用毫秒作為時間刻度,其中1毫秒等于1/1000秒

Java中的時間也是按照這個慣例計算時間的,由于毫秒數(shù)精度高數(shù)值范圍大,所以才用long類型存儲時間,并且提供了API可以獲取當(dāng)前計算機系統(tǒng)中的時間毫秒數(shù),JDK提供System.currentTimeMillis()?方法可以獲取當(dāng)前計算機系統(tǒng)中時間的毫秒數(shù),返回1970年1月1日零點到此時此刻所經(jīng)歷的毫秒數(shù),數(shù)據(jù)太大,故其數(shù)據(jù)類型為long。

整數(shù)類型的計算

①byte、short數(shù)據(jù)作為int

②int類型計算得到int類型,long類型計算得到 long類型

③int與 long計算時候先int轉(zhuǎn)型long再進行計算

3.5 整形總結(jié)

  1. 整數(shù)類型包括byte,short,int,long四種

  2. byte,short很少使用,int最常用,long比較常用

  3. 保存整數(shù)數(shù)據(jù)時候優(yōu)先選擇int類型,如果數(shù)據(jù)或者計算結(jié)果超過int就采用long類型

  4. Java系統(tǒng)時間采用long類型表示

本節(jié)打卡還沒有結(jié)束哦,接下來是浮點類型,請小可愛移步下一騙,wink~






150天打卡day03_基本數(shù)據(jù)類型整數(shù)類型的評論 (共 條)

分享到微博請遵守國家法律
依兰县| 济宁市| 绍兴县| 鞍山市| 托克逊县| 永平县| 榆中县| 吴旗县| 长乐市| 邵阳市| 惠东县| 许昌县| 灵石县| 前郭尔| 广南县| 柘荣县| 衡山县| 鄯善县| 板桥市| 两当县| 绵阳市| 福鼎市| 广东省| 高安市| 齐河县| 抚远县| 邢台县| 雅江县| 公主岭市| 泽州县| 贵州省| 文成县| 东港市| 久治县| 文登市| 宜兰市| 临城县| 全州县| 巴里| 连州市| 鄂伦春自治旗|