




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第3章 變量與數(shù)據(jù)類(lèi)型第3章 變量與數(shù)據(jù)類(lèi)型Java的變量程序使用變量來(lái)存儲(chǔ)數(shù)據(jù)在程序中,必須先定義變量,才能使用他們定義一個(gè)變量是指定變量的名字和變量的數(shù)據(jù)類(lèi)型,其基本語(yǔ)法為:數(shù)據(jù)類(lèi)型名 變量名=初始值;Java是一種強(qiáng)類(lèi)型的程序設(shè)計(jì)語(yǔ)言變量的值要與變量的類(lèi)型一致,否則無(wú)法通過(guò)編譯如何取變量名?變量名稱的限制P15按照J(rèn)ava編碼規(guī)范來(lái)給變量取名Java的變量程序使用變量來(lái)存儲(chǔ)數(shù)據(jù)Java編碼規(guī)范類(lèi)名和接口名首字母大寫(xiě)。如果由幾個(gè)單詞構(gòu)成,那么每個(gè)單詞的首字母大寫(xiě),其余字母小寫(xiě),例如SmartDoll方法名和變量名首字母小寫(xiě)。如果由幾個(gè)單詞構(gòu)成,那么除第一個(gè)單詞外,其他每個(gè)單詞的首字母大寫(xiě),
2、其余字母小寫(xiě),例如numberOfDogs。如果變量名指代的實(shí)體的數(shù)量大于1,那么采用復(fù)數(shù)形式。常量名全部采用大寫(xiě)字母。如果由幾個(gè)單詞構(gòu)成,單詞之間以下劃線“_”隔開(kāi)連接Java編碼規(guī)范類(lèi)名和接口名Java編碼規(guī)范Java程序文件源程序代碼文件的擴(kuò)展名為“.java”Bytecode代碼文件的擴(kuò)展名為“.class”Java編程規(guī)范文件網(wǎng)址:/docs/codeconv/index.htmlJava編碼規(guī)范Java程序文件Java編碼規(guī)范編碼規(guī)范對(duì)于程序員而言尤為重要,有以下幾個(gè)原因:一個(gè)軟件的生命周期中,80%的花費(fèi)在于維護(hù)。幾乎沒(méi)有任何一個(gè)軟件,在其整個(gè)生命周期中,均由最初的開(kāi)發(fā)人員來(lái)維護(hù)
3、。編碼規(guī)范可以改善軟件的可讀性,可以讓程序員盡快而徹底地理解新的代碼。如果你將源碼作為產(chǎn)品發(fā)布,就需要確任它是否被很好的打包并且清晰無(wú)誤,一如你已構(gòu)建的其它任何產(chǎn)品。 為了執(zhí)行規(guī)范,每個(gè)軟件開(kāi)發(fā)人員必須一致遵守編碼規(guī)范。Java編碼規(guī)范編碼規(guī)范對(duì)于程序員而言尤為重要,有以下幾個(gè)原數(shù)據(jù)類(lèi)型的作用用來(lái)定義變量用來(lái)規(guī)范所定義變量所能夠參加的運(yùn)算集合用來(lái)規(guī)范所定義的變量在被分配內(nèi)存時(shí)所能夠占用的內(nèi)存空間大小數(shù)據(jù)類(lèi)型的作用用來(lái)定義變量Java語(yǔ)言的數(shù)據(jù)類(lèi)型Java語(yǔ)言把數(shù)據(jù)分為基本類(lèi)型和引用類(lèi)型基本類(lèi)型boolean數(shù)值類(lèi)型浮點(diǎn)數(shù)類(lèi)型floatdouble整數(shù)類(lèi)型byteshortintlong字符類(lèi)型
4、char引用類(lèi)型類(lèi)類(lèi)型接口類(lèi)型數(shù)組類(lèi)型Java語(yǔ)言的數(shù)據(jù)類(lèi)型Java語(yǔ)言把數(shù)據(jù)分為基本類(lèi)型和引用類(lèi)基本數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型的變量持有原始值;而引用類(lèi)型的變量持有引用值對(duì)于基本類(lèi)型的了解,主要掌握以下幾點(diǎn):基本數(shù)據(jù)類(lèi)型的取值范圍?占用多少內(nèi)存空間?定義一個(gè)變量時(shí),如何給它確定合理的數(shù)據(jù)類(lèi)型?基本數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型的變量持有原始值;而引用類(lèi)型的變量持基本數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型關(guān)鍵字在內(nèi)存中占用的字節(jié)數(shù)取值范圍默認(rèn)值布爾型boolean1個(gè)字節(jié)(8位)true,falsefalse字節(jié)型byte1個(gè)字節(jié)(8位)-1281270短整型short2個(gè)字節(jié)(16位)-215-215-10整型int4個(gè)字節(jié)(3
5、2位)-231-231-10長(zhǎng)整型long8個(gè)字節(jié)(64位)-263-263-10字符型char2個(gè)字節(jié)(16位)0-216-1u0000單精度浮點(diǎn)型float4個(gè)字節(jié)(32位)-3.4E383.4E380.0F雙精度浮點(diǎn)型double8個(gè)字節(jié)(64位)-1.7E3081.7E3080.0D注:數(shù)值類(lèi)型的數(shù)據(jù)在計(jì)算機(jī)內(nèi)部都是用二進(jìn)制補(bǔ)碼來(lái)表示的。一個(gè)數(shù)X的補(bǔ)碼表示方式為:當(dāng)X為正數(shù)時(shí),則X的補(bǔ)碼與X的原碼相同;當(dāng)為負(fù)數(shù)時(shí),則X的補(bǔ)碼,其符號(hào)位與原碼相同,其數(shù)值位取反加1?;緮?shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型關(guān)鍵字在內(nèi)存中占用的字節(jié)數(shù)取值范圍默認(rèn)值基本數(shù)據(jù)類(lèi)型的使用選用整數(shù)類(lèi)型時(shí),注意不同類(lèi)型的取值范圍,根據(jù)程
6、序需要選擇相應(yīng)的類(lèi)型;在能夠用比較節(jié)省內(nèi)存的類(lèi)型時(shí),就不要選擇占用內(nèi)存較多的類(lèi)型。Literal(常量、直接數(shù))在程序中直接出現(xiàn)的數(shù)值,稱為literal Literal值的類(lèi)型:如果該Literal值在int取值范圍內(nèi),則為int類(lèi)型;若超過(guò)int取值范圍,但在long取值范圍內(nèi),則為long類(lèi)型;對(duì)于帶小數(shù)的數(shù)默認(rèn)類(lèi)型為double。可以通過(guò)在literal后面添加 一個(gè)字符后綴來(lái)區(qū)別不同類(lèi)型的數(shù)據(jù)。Long類(lèi)型后加L或l;float后加F或f;double后加D或d?;緮?shù)據(jù)類(lèi)型的使用選用整數(shù)類(lèi)型時(shí),注意不同類(lèi)型的取值范圍,根字符類(lèi)型Char是字符類(lèi)型,Java語(yǔ)言對(duì)字符采用Unicod
7、e字符編碼。所謂字符編碼,是指用一串二進(jìn)制數(shù)據(jù)來(lái)表示特定的字符。常見(jiàn)的字符編碼包括:ASCII字符編碼:用1個(gè)字節(jié)來(lái)表示一個(gè)字符。Unicode字符編碼:用2個(gè)字節(jié)來(lái)表示一個(gè)字符,稱為UCS-2(Java采用的就是這種);用4個(gè)字節(jié)來(lái)表示一個(gè)字符,稱為UCS-4。一些特殊字符的表達(dá),需要使用轉(zhuǎn)義字符來(lái)表達(dá)。參見(jiàn)P29,表3-3。字符類(lèi)型Char是字符類(lèi)型,Java語(yǔ)言對(duì)字符采用Unico布爾類(lèi)型(boolean)布爾類(lèi)型只有true和false兩種取值,除此之外,沒(méi)有其他取值可能。在Java語(yǔ)言中,不允許將整數(shù)值賦值給布爾類(lèi)型的變量。布爾類(lèi)型(boolean)布爾類(lèi)型只有true和false兩
8、數(shù)據(jù)類(lèi)型的轉(zhuǎn)換Java的數(shù)據(jù)類(lèi)型在定義時(shí)就已經(jīng)決定,因此不能隨意轉(zhuǎn)換成其他的數(shù)據(jù)類(lèi)型。如果程序需要,Java也運(yùn)行有限度地進(jìn)行類(lèi)型轉(zhuǎn)換處理。自動(dòng)轉(zhuǎn)換轉(zhuǎn)換前的數(shù)據(jù)類(lèi)型與轉(zhuǎn)換后的類(lèi)型兼容轉(zhuǎn)換后的數(shù)據(jù)類(lèi)型的表示范圍比轉(zhuǎn)換前的類(lèi)型大,即,轉(zhuǎn)換不會(huì)引起數(shù)據(jù)值精確度的任何損失運(yùn)算表達(dá)式中,如果運(yùn)算數(shù)屬于不同的類(lèi)型,則運(yùn)算時(shí),取值范圍小的類(lèi)型的數(shù)值會(huì)被自動(dòng)轉(zhuǎn)換成取值范圍大的類(lèi)型的數(shù)值進(jìn)行運(yùn)算,結(jié)果也為取值范圍大的類(lèi)型的數(shù)值數(shù)據(jù)類(lèi)型的轉(zhuǎn)換Java的數(shù)據(jù)類(lèi)型在定義時(shí)就已經(jīng)決定,因此不能類(lèi)型轉(zhuǎn)換實(shí)例表達(dá)式中不同數(shù)據(jù)類(lèi)型的數(shù)據(jù)先自動(dòng)轉(zhuǎn)換為同一類(lèi)型,然后進(jìn)行計(jì)算。自動(dòng)轉(zhuǎn)換總是從取值范圍小的類(lèi)型到取值范圍大的類(lèi)型。pu
9、blic class TypeCast public static void main(String args short a=1,b=1;short c =a+b;byteshortcharintlongfloatdouble類(lèi)型轉(zhuǎn)換實(shí)例表達(dá)式中不同數(shù)據(jù)類(lèi)型的數(shù)據(jù)先自動(dòng)轉(zhuǎn)換為同一類(lèi)型,強(qiáng)制類(lèi)型轉(zhuǎn)換將取值范圍大的類(lèi)型的數(shù)轉(zhuǎn)換成取值范圍小的類(lèi)型的數(shù)時(shí),即數(shù)據(jù)轉(zhuǎn)換時(shí)可能會(huì)造成數(shù)據(jù)精確度損失時(shí),需要使用強(qiáng)制類(lèi)型轉(zhuǎn)換。強(qiáng)制類(lèi)型轉(zhuǎn)換語(yǔ)法(欲轉(zhuǎn)換的數(shù)據(jù)類(lèi)型) 變量名稱;強(qiáng)制類(lèi)型轉(zhuǎn)換可能會(huì)造成數(shù)據(jù)精確度的丟失或溢出,使用時(shí)要注意這種轉(zhuǎn)換給程序帶來(lái)的影響。doublefloatlongintcharshort
10、byte強(qiáng)制類(lèi)型轉(zhuǎn)換將取值范圍大的類(lèi)型的數(shù)轉(zhuǎn)換成取值范圍小的類(lèi)型的數(shù)編寫(xiě)程序獲得由鍵盤(pán)輸入的數(shù)據(jù)public class className public static void main(String args) throws IOException BufferedReader buf; String str; /創(chuàng)建一個(gè)BufferedReader類(lèi)型對(duì)象并賦值給buf變量 buf = new BufferedReader(new InputStreamReader(System.in); str = buf.readLine(); /通過(guò)buf引用的對(duì)象從標(biāo)準(zhǔn)輸入中讀取字符串編寫(xiě)程序獲
11、得由鍵盤(pán)輸入的數(shù)據(jù)public class cla輸入字符串import java.io.*;public class app3_13 public static void main(String args) throws IOException BufferedReader buf; String str; buf = new BufferedReader(new InputStreamReader(System.in); System.out.print(請(qǐng)輸入一個(gè)字符串:); str = buf.readLine(); System.out.println(輸入的字符串為:+str); 輸入字符串import java.io.*;輸入數(shù)值import java.io.*;public class app3_14 public static void main(String args) throws IOException int num; String str; BufferedReader buf; buf = new BufferedReader(new InputStreamReader(
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公路項(xiàng)目人員聘請(qǐng)合同范本
- 農(nóng)村房屋安裝維修合同范本
- 公司員工勞動(dòng)合同范本
- 北京企業(yè)住房合同范本
- 產(chǎn)品交付標(biāo)準(zhǔn)合同范本
- 公司擔(dān)保合同范本6
- 綜合實(shí)踐項(xiàng)目《制作細(xì)胞模型》教學(xué)設(shè)計(jì)-2024-2025學(xué)年魯科版生物六年級(jí)上冊(cè)
- 2人合伙合同范本
- 修路混凝土合同范本
- 產(chǎn)品加工定制合同范本
- 2025年黑龍江交通職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)必考題
- 個(gè)人畫(huà)協(xié)議合同范本
- 2024-2025學(xué)年山東省濰坊市高三上學(xué)期1月期末英語(yǔ)試題
- 2025-2030年中國(guó)青海省旅游行業(yè)市場(chǎng)現(xiàn)狀調(diào)查及發(fā)展趨向研判報(bào)告
- 人力資源部門(mén)2023年度招聘效果分析
- 八年級(jí)數(shù)學(xué)下冊(cè) 第1章 單元綜合測(cè)試卷(北師版 2025年春)
- 2025年安徽碳鑫科技有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年寒假實(shí)踐特色作業(yè)設(shè)計(jì)模板
- 2024年甘肅省公務(wù)員考試《行測(cè)》真題及答案解析
- YB-4001.1-2007鋼格柵板及配套件-第1部分:鋼格柵板(中文版)
- 中國(guó)原發(fā)性醛固酮增多癥診治共識(shí)解讀
評(píng)論
0/150
提交評(píng)論