![Java基本數(shù)據(jù)類型總結(jié)_第1頁(yè)](http://file4.renrendoc.com/view11/M01/39/1A/wKhkGWWmAmKAVBnIAAJ7IO2ORHw852.jpg)
![Java基本數(shù)據(jù)類型總結(jié)_第2頁(yè)](http://file4.renrendoc.com/view11/M01/39/1A/wKhkGWWmAmKAVBnIAAJ7IO2ORHw8522.jpg)
![Java基本數(shù)據(jù)類型總結(jié)_第3頁(yè)](http://file4.renrendoc.com/view11/M01/39/1A/wKhkGWWmAmKAVBnIAAJ7IO2ORHw8523.jpg)
![Java基本數(shù)據(jù)類型總結(jié)_第4頁(yè)](http://file4.renrendoc.com/view11/M01/39/1A/wKhkGWWmAmKAVBnIAAJ7IO2ORHw8524.jpg)
![Java基本數(shù)據(jù)類型總結(jié)_第5頁(yè)](http://file4.renrendoc.com/view11/M01/39/1A/wKhkGWWmAmKAVBnIAAJ7IO2ORHw8525.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Java基本數(shù)據(jù)類型總結(jié)基本類型,或者叫做內(nèi)置類型,是JAVA中不同于類的特殊類型。它們是我們編程中使用最頻繁的類型。java是一種強(qiáng)類型語(yǔ)言,第一次申明變量必須說(shuō)明數(shù)據(jù)類型,第一次變量賦值稱為變量的初始化。1.Java的簡(jiǎn)單類型及其封裝器類Java基本類型共有八種,基本類型可以分為三類,字符類型char,布爾類型boolean以及數(shù)值類型byte、short、int、long、float、double。數(shù)值類型又可以分為整數(shù)類型byte、short、int、long和浮點(diǎn)數(shù)類型float、double。JAVA中的數(shù)值類型不存在無(wú)符號(hào)的,它們的取值范圍是固定的,不會(huì)隨著機(jī)器硬件環(huán)境或者操作系統(tǒng)的改變而改變。實(shí)際上,JAVA中還存在另外一種基本類型void,它也有對(duì)應(yīng)的包裝類java.lang.Void,不過(guò)我們無(wú)法直接對(duì)它們進(jìn)行操作。8中類型表示范圍如下:byte:8位,最大存儲(chǔ)數(shù)據(jù)量是255,存放的數(shù)據(jù)范圍是-128~127之間。short:16位,最大數(shù)據(jù)存儲(chǔ)量是65536,數(shù)據(jù)范圍是-32768~32767之間。int:32位,最大數(shù)據(jù)存儲(chǔ)容量是2的32次方減1,數(shù)據(jù)范圍是負(fù)的2的31次方到正的2的31次方減1。long:64位,最大數(shù)據(jù)存儲(chǔ)容量是2的64次方減1,數(shù)據(jù)范圍為負(fù)的2的63次方到正的2的63次方減1。float:32位,數(shù)據(jù)范圍在3.4e-45~1.4e38,直接賦值時(shí)必須在數(shù)字后加上f或F。double:64位,數(shù)據(jù)范圍在4.9e-324~1.8e308,賦值時(shí)可以加d或D也可以不加。boolean:只有true和false兩個(gè)取值。char:16位,存儲(chǔ)Unicode碼,用單引號(hào)賦值。Java決定了每種簡(jiǎn)單類型的大小。這些大小并不隨著機(jī)器結(jié)構(gòu)的變化而變化。這種大小的不可更改正是Java程序具有很強(qiáng)移植能力的原因之一。下表列出了Java中定義的簡(jiǎn)單類型、占用二進(jìn)制位數(shù)及對(duì)應(yīng)的封裝器類。
簡(jiǎn)單類型booleanbytecharshortIntlongfloatdoublevoid二進(jìn)制位數(shù)18161632643264--封裝器類BooleanByteCharacterShortIntegerLongFloatDoubleVoid
對(duì)于數(shù)值類型的基本類型的取值范圍,我們無(wú)需強(qiáng)制去記憶,因?yàn)樗鼈兊闹刀家呀?jīng)以常量的形式定義在對(duì)應(yīng)的包裝類中了。如:基本類型byte二進(jìn)制位數(shù):Byte.SIZE最小值:Byte.MIN_VALUE最大值:Byte.MAX_VALUE基本類型short二進(jìn)制位數(shù):Short.SIZE最小值:Short.MIN_VALUE最大值:Short.MAX_VALUE基本類型char二進(jìn)制位數(shù):Character.SIZE最小值:Character.MIN_VALUE最大值:Character.MAX_VALUE基本類型double二進(jìn)制位數(shù):Double.SIZE最小值:Double.MIN_VALUE最大值:Double.MAX_VALUE注意:float、double兩種類型的最小值與Float.MIN_VALUE、Double.MIN_VALUE的值并不相同,實(shí)際上Float.MIN_VALUE和Double.MIN_VALUE分別指的是float和double類型所能表示的最小正數(shù)。也就是說(shuō)存在這樣一種情況,0到±Float.MIN_VALUE之間的值float類型無(wú)法表示,0到±Double.MIN_VALUE之間的值double類型無(wú)法表示。這并沒(méi)有什么好奇怪的,因?yàn)檫@些范圍內(nèi)的數(shù)值超出了它們的精度范圍。Float和Double的最小值和最大值都是以科學(xué)記數(shù)法的形式輸出的,結(jié)尾的"E+數(shù)字"表示E之前的數(shù)字要乘以10的多少倍。比如3.14E3就是3.14×1000=3140,3.14E-3就是3.14/1000=0.00314。Java基本類型存儲(chǔ)在棧中,因此它們的存取速度要快于存儲(chǔ)在堆中的對(duì)應(yīng)包裝類的實(shí)例對(duì)象。從Java5.0(1.5)開(kāi)始,JAVA虛擬機(jī)(JavaVirtualMachine)可以完成基本類型和它們對(duì)應(yīng)包裝類之間的自動(dòng)轉(zhuǎn)換。因此我們?cè)谫x值、參數(shù)傳遞以及數(shù)學(xué)運(yùn)算的時(shí)候像使用基本類型一樣使用它們的包裝類,但這并不意味著你可以通過(guò)基本類型調(diào)用它們的包裝類才具有的方法。另外,所有基本類型(包括void)的包裝類都使用了final修飾,因此我們無(wú)法繼承它們擴(kuò)展新的類,也無(wú)法重寫(xiě)它們的任何方法?;绢愋偷膬?yōu)勢(shì):數(shù)據(jù)存儲(chǔ)相對(duì)簡(jiǎn)單,運(yùn)算效率比較高包裝類的優(yōu)勢(shì):有的容易,比如集合的元素必須是對(duì)象類型,滿足了java一切皆是對(duì)象的思想
2.Java中的常量十六進(jìn)制整型常量:以十六進(jìn)制表示時(shí),需以0x或0X開(kāi)頭,如0xff,0X9A。八進(jìn)制整型常量:八進(jìn)制必須以0開(kāi)頭,如0123,034。長(zhǎng)整型:長(zhǎng)整型必須以L作結(jié)尾,如9L,342L。浮點(diǎn)數(shù)常量:由于小數(shù)常量的默認(rèn)類型是double型,所以float類型的后面一定要加f(F)。同樣帶小數(shù)的變量默認(rèn)為double類型。如:floatf;
f=1.3f;//必須聲明f。字符常量:字符型常量需用兩個(gè)單引號(hào)括起來(lái)(注意字符串常量是用兩個(gè)雙引號(hào)括起來(lái))。Java中的字符占兩個(gè)字節(jié)。一些常用的轉(zhuǎn)義字符:①\r表示接受鍵盤(pán)輸入,相當(dāng)于按下了回車(chē)鍵;②\n表示換行;③\t表示制表符,相當(dāng)于Table鍵;④\b表示退格鍵,相當(dāng)于BackSpace鍵;⑤\'表示單引號(hào);⑥\''表示雙引號(hào);⑦\(yùn)\表示一個(gè)斜杠\。
3.數(shù)據(jù)類型之間的轉(zhuǎn)換1).簡(jiǎn)單類型數(shù)據(jù)間的轉(zhuǎn)換,有兩種方式:自動(dòng)轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換,通常發(fā)生在表達(dá)式中或方法的參數(shù)傳遞時(shí)。自動(dòng)轉(zhuǎn)換具體地講,當(dāng)一個(gè)較"小"數(shù)據(jù)與一個(gè)較"大"的數(shù)據(jù)一起運(yùn)算時(shí),系統(tǒng)將自動(dòng)將"小"數(shù)據(jù)轉(zhuǎn)換成"大"數(shù)據(jù),再進(jìn)行運(yùn)算。而在方法調(diào)用時(shí),實(shí)際參數(shù)較"小",而被調(diào)用的方法的形式參數(shù)數(shù)據(jù)又較"大"時(shí)(若有匹配的,當(dāng)然會(huì)直接調(diào)用匹配的方法),系統(tǒng)也將自動(dòng)將"小"數(shù)據(jù)轉(zhuǎn)換成"大"數(shù)據(jù),再進(jìn)行方法的調(diào)用,自然,對(duì)于多個(gè)同名的重載方法,會(huì)轉(zhuǎn)換成最"接近"的"大"數(shù)據(jù)并進(jìn)行調(diào)用。這些類型由"小"到"大"分別為(byte,short,char)--int--long--float—double。這里我們所說(shuō)的"大"與"小",并不是指占用字節(jié)的多少,而是指表示值的范圍的大小。①下面的語(yǔ)句可以在Java中直接通過(guò):byteb;inti=b;longl=b;floatf=b;doubled=b;②如果低級(jí)類型為char型,向高級(jí)類型(整型)轉(zhuǎn)換時(shí),會(huì)轉(zhuǎn)換為對(duì)應(yīng)ASCII碼值,例如charc='c';inti=c;System.out.println("output:"+i);輸出:output:99;③對(duì)于byte,short,char三種類型而言,他們是平級(jí)的,因此不能相互自動(dòng)轉(zhuǎn)換,可以使用下述的強(qiáng)制類型轉(zhuǎn)換。shorti=99;charc=(char)i;System.out.println("output:"+c);輸出:output:c;強(qiáng)制轉(zhuǎn)換將"大"數(shù)據(jù)轉(zhuǎn)換為"小"數(shù)據(jù)時(shí),你可以使用強(qiáng)制類型轉(zhuǎn)換。即你必須采用下面這種語(yǔ)句格式:intn=(int)3.14159/2;可以想象,這種轉(zhuǎn)換肯定可能會(huì)導(dǎo)致溢出或精度的下降。2)表達(dá)式的數(shù)據(jù)類型自動(dòng)提升,關(guān)于類型的自動(dòng)提升,注意下面的規(guī)則。①所有的byte,short,char型的值將被提升為int型;②如果有一個(gè)操作數(shù)是long型,計(jì)算結(jié)果是long型;③如果有一個(gè)操作數(shù)是float型,計(jì)算結(jié)果是float型;④如果有一個(gè)操作數(shù)是double型,計(jì)算結(jié)果是double型;例,byteb;b=3;b=(byte)(b*3);//必須聲明byte。3)包裝類過(guò)渡類型轉(zhuǎn)換一般情況下,我們首先聲明一個(gè)變量,然后生成一個(gè)對(duì)應(yīng)的包裝類,就可以利用包裝類的各種方法進(jìn)行類型轉(zhuǎn)換了。例如:①當(dāng)希望把float型轉(zhuǎn)換為double型時(shí):floatf1=100.00f;FloatF1=newFloat(f1);doubled1=F1.doubleValue();//F1.doubleValue()為Float類的返回double值型的方法②當(dāng)希望把double型轉(zhuǎn)換為int型時(shí):doubled1=100.00;DoubleD1=newDouble(d1);inti1=D1.intValue();簡(jiǎn)單類型的變量轉(zhuǎn)換為相應(yīng)的包裝類,可以利用包裝類的構(gòu)造函數(shù)。即:Boolean(booleanvalue)、Character(charvalue)、Integer(intvalue)、Long(longvalue)、Float(floatvalue)、Double(doublevalue)而在各個(gè)包裝類中,總有形為××Value()的方法,來(lái)得到其對(duì)應(yīng)的簡(jiǎn)單類型數(shù)據(jù)。利用這種方法,也可以實(shí)現(xiàn)不同數(shù)值型變量間的轉(zhuǎn)換,例如,對(duì)于一個(gè)雙精度實(shí)型類,intValue()可以得到其對(duì)應(yīng)的整型變量,而doubleValue()可以得到其對(duì)應(yīng)的雙精度實(shí)型變量。4)字符串與其它類型間的轉(zhuǎn)換其它類型向字符串的轉(zhuǎn)換①調(diào)用類的串轉(zhuǎn)換方法:X.toString();②自動(dòng)轉(zhuǎn)換:X+"";③使用String的方法:String.volueOf(X);字符串作為值,向其它類型的轉(zhuǎn)換①先轉(zhuǎn)換成相應(yīng)的封裝器實(shí)例,再調(diào)用對(duì)應(yīng)的方法轉(zhuǎn)換成其它類型例如,字符中"32.1"轉(zhuǎn)換double型的值的格式為:newFloat("32.1").doubleValue()。也可以用:Double.valueOf("32.1").doubleValue()②靜態(tài)parseXXX方法Strings="1";byteb=Byte.parseByte(s);shortt=Short.parseShort(s);inti=Integer.parseInt(s);longl=Long.parseLong(s);Floatf=Float.parseFloat(s);Doubled=Double.parseDouble(s);③Character的getNumericValue(charch)方法5)Date類與其它數(shù)據(jù)類型的相互轉(zhuǎn)換整型和Date類之間并不存在直接的對(duì)應(yīng)關(guān)系,只是你可以使用int型為分別表示年、月、日、時(shí)、分、秒,這樣就在兩者之間建立了一個(gè)對(duì)應(yīng)關(guān)系,在作這種轉(zhuǎn)換時(shí),你可以使用Date類構(gòu)造函數(shù)的三種形式:①Date(intyear,intmonth,intdate):以int型表示年、月、日②Date(intyear,intmonth,intdate,inthrs,intmin):以int型表示年、月、日、時(shí)、分③Date(intyear,intmonth,intdate,inthrs,intmin,intsec):以int型表示年、月、日、時(shí)、分、秒在長(zhǎng)整型和Date類之間有一個(gè)很有趣的對(duì)應(yīng)關(guān)系,就是將一個(gè)時(shí)間表示為距離格林尼治標(biāo)準(zhǔn)時(shí)間1970年1月1日0時(shí)0分0秒的毫秒數(shù)。對(duì)于這種對(duì)應(yīng)關(guān)系,Date類也有其相應(yīng)的構(gòu)造函數(shù):Date(longdate)。獲取Date類中的年、月、日、時(shí)、分、秒以及星期你可以使用Date類的getYear()、getMonth()、getDate()、getHours()、getMinutes()、getSeconds()、getDay()方法,你也可以將其理解為將Date類轉(zhuǎn)換成int。而Date類的getTime()方法可以得到我們前面所說(shuō)的一個(gè)時(shí)間對(duì)應(yīng)的長(zhǎng)整型數(shù),與包裝類一樣,Date類也有一個(gè)toString()方法可以將其轉(zhuǎn)換為String類。有時(shí)我們希望得到Date的特定格式,例如20020324,我們可以使用以下方法,首先在文件開(kāi)始引入,importjava.text.SimpleDateFormat;importjava.util.*;java.util.Datedate=newjava.util.Date();
//如果希望得到Y(jié)YYYMMDD的格式SimpleDateFormatsy1=newSimpleDateFormat("yyyyMMDD");StringdateFormat=sy1.format(date);
//如果希望分開(kāi)得到年,月,日SimpleDateFormatsy=newSimpleDateFormat("yyyy");SimpleDateFormatsm=newSimpleDateFormat("MM");SimpleDateFormatsd=newSimpleDateFormat("dd");Stringsyear=sy.format(date);Strin
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 代理權(quán)贈(zèng)與合同范例
- 電力安全與應(yīng)急練習(xí)試題附答案
- 東莞房東合租合同范本
- 出售整體大棚合同范例
- 兼職美術(shù)教師合同范本
- 農(nóng)家老宅出租合同范本
- 各類風(fēng)機(jī)零件行業(yè)深度研究報(bào)告
- 代播協(xié)議合同范本
- 2019-2025年中國(guó)醫(yī)學(xué)影像診斷設(shè)備市場(chǎng)供需格局及未來(lái)發(fā)展趨勢(shì)報(bào)告
- 2025年度健身中心場(chǎng)地租賃合作協(xié)議書(shū)
- 耶魯綜合抽動(dòng)嚴(yán)重程度量表正式版
- 水利水電工程建設(shè)常見(jiàn)事故類型及典型事故分析(標(biāo)準(zhǔn)版)
- 《小學(xué)英語(yǔ)教學(xué)設(shè)計(jì)》課件全套 陳冬花 第1-10章 小學(xué)英語(yǔ)教學(xué)設(shè)計(jì)概述-小學(xué)英語(yǔ)課堂管理
- 政府采購(gòu)項(xiàng)目采購(gòu)需求調(diào)查指引文本
- 2024建筑用輻射致冷涂料
- 2024年浙江省公務(wù)員錄用考試《行測(cè)》題(A類)
- 《化工設(shè)備機(jī)械基礎(chǔ)(第8版)》完整全套教學(xué)課件
- 2024年江西省中考英語(yǔ)試題含解析
- 初級(jí)消防設(shè)施操作員實(shí)操題庫(kù) (一)
- GB/T 23473-2024林業(yè)植物及其產(chǎn)品調(diào)運(yùn)檢疫規(guī)程
- 公務(wù)員2012年國(guó)考《申論》真題卷及答案(地市級(jí))
評(píng)論
0/150
提交評(píng)論