Java中的數(shù)據(jù)類型有哪些-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!

創(chuàng)新互聯(lián)公司是一家專業(yè)從事網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司。作為專業(yè)網(wǎng)站設(shè)計(jì)公司,創(chuàng)新互聯(lián)公司依托的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開(kāi)發(fā)服務(wù)!

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)Java中的數(shù)據(jù)類型有哪些,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1. 數(shù)據(jù)類型:

在Java源代碼中,每個(gè)變量都必須聲明一種類型(type)。Java數(shù)據(jù)類型(type)可以分為兩大類:基本類型(primitive types)和引用類型(reference types)。primitive types 包括boolean類型以及數(shù)值類型(numeric types)。numeric types又分為整型(integer types)和浮點(diǎn)型(floating-point type)。整型有5種:byte short int long char(char本質(zhì)上是一種特殊的int)。浮點(diǎn)類型有float和double。關(guān)系整理一下如下圖:

Java中的數(shù)據(jù)類型有哪些

2. 基本類型:

Java為基本類型提供語(yǔ)言級(jí)別的支持,即已經(jīng)在Java中預(yù)定義,用相應(yīng)的保留關(guān)鍵字表示?;绢愋褪菃蝹€(gè)值,而不是復(fù)雜的對(duì)象,基本類型不是面向?qū)ο蟮模饕鋈バ史矫娴目紤],但是同時(shí)也提供基本類型的對(duì)象版本,即基本類型的包裝器(wrapper)??梢灾苯邮褂眠@些基本類型,也可以使用基本類型構(gòu)造數(shù)組或者其他自定義類型?;绢愋途哂忻鞔_的取值范圍和數(shù)學(xué)行為。

2.1 整型

整型有byte short int long char,分別用8、16、32、64、16bits表示。有些地方可能不會(huì)把char列入整型范疇,但本質(zhì)上char類型是int的一個(gè)子集。整型的寬度不應(yīng)該被看成整數(shù)所占用的內(nèi)存空間大小,而應(yīng)當(dāng)理解成定義為整型的變量或者表達(dá)式的行為。JVM可以自由使用它們希望的、任何大小的內(nèi)存空間,只要類型的行為符合規(guī)范。byte short int long都是有符號(hào)的,用2的補(bǔ)碼(two‘s-complement)表示。而char用16位表示,它是無(wú)符號(hào)的,表示的是UTF-16編碼集。

2.1.1 byte

byte由1個(gè)字節(jié)8位表示,是最小的整數(shù)類型。主要用于節(jié)省內(nèi)存空間關(guān)鍵。當(dāng)操作來(lái)自網(wǎng)絡(luò)、文件或者其他IO的數(shù)據(jù)流時(shí),byte類型特別有用。取值范圍為:[-128, 127]. byte的默認(rèn)值為(byte)0,如果我們?cè)噲D將取值范圍外的值賦給byte類型變量,則會(huì)出現(xiàn)編譯錯(cuò)誤,例如 byte b = 128;這個(gè)語(yǔ)句是無(wú)法通過(guò)編譯的。一個(gè)有趣的問(wèn)題,如果我們有個(gè)方法: public void test(byte b)。試圖這么調(diào)用這個(gè)方法是錯(cuò)誤的: test(0); 編譯器會(huì)報(bào)錯(cuò),類型不兼容?。?!我們記得byte b =0;這是完全沒(méi)有問(wèn)題的,為什么在這里就出錯(cuò)啦?

這里涉及到一個(gè)叫字面值(literal)的問(wèn)題,字面值就是表面上的值,例如整型字面值在源代碼中就是諸如 5 , 0, -200這樣的。如果整型子面子后面加上L或者l,則這個(gè)字面值就是long類型,比如:1000L代表一個(gè)long類型的值。如果不加L或者l,則為int類型?;绢愋彤?dāng)中的byte short int long都可以通過(guò)不加L的整型字面值(我們就稱作int字面值吧)來(lái)創(chuàng)建,例如 byte b = 100; short s = 5;對(duì)于long類型,如果大小超出int所能表示的范圍(32 bits),則必須使用L結(jié)尾來(lái)表示。整型字面值可以有不同的表示方式:16進(jìn)制【0X or 0x】、10進(jìn)制【nothing】、八進(jìn)制【0】2進(jìn)制【0B or 0b】等,二進(jìn)制字面值是JDK 7以后才有的功能。在賦值操作中,int字面值可以賦給byte short int long,Java語(yǔ)言會(huì)自動(dòng)處理好這個(gè)過(guò)程。如果方法調(diào)用時(shí)不一樣,調(diào)用test(0)的時(shí)候,它能匹配的方法是test(int),當(dāng)然不能匹配test(byte)方法,至于為什么Java沒(méi)有像支持賦值操作那樣支持方法調(diào)用,不得而知。注意區(qū)別包裝器與原始類型的自動(dòng)轉(zhuǎn)換(anto-boxing,auto-unboxing)。byte d = 'A';也是合法的,字符字面值可以自動(dòng)轉(zhuǎn)換成16位的整數(shù)。
對(duì)byte類型進(jìn)行數(shù)學(xué)運(yùn)算時(shí),會(huì)自動(dòng)提升為int類型,如果表達(dá)式中有double或者float等類型,也是自動(dòng)提升。所以下面的代碼是錯(cuò)誤的:

byte s2 = 'a'; 
 byte sum = s1 + s2;//should cast by (byte)</span></span></span> 

網(wǎng)頁(yè)題目:Java中的數(shù)據(jù)類型有哪些-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://muchs.cn/article14/djgide.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站導(dǎo)航定制開(kāi)發(fā)、商城網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)