版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章計(jì)算器
——數(shù)據(jù)類型與表達(dá)式
能力目標(biāo):理解數(shù)據(jù)類型,學(xué)會(huì)聲明和使用變量,學(xué)會(huì)運(yùn)用算術(shù)運(yùn)算符和表達(dá)式。理解語句,學(xué)會(huì)使用聲明語句、賦值語句和方法調(diào)用語句。能運(yùn)用運(yùn)算符、表達(dá)式和語句編寫簡單計(jì)算器程序。內(nèi)容介紹2.1任務(wù)預(yù)覽2.2標(biāo)識(shí)符2.3關(guān)鍵字2.4變量2.5基本數(shù)據(jù)類型2.6字符串及其與數(shù)值的轉(zhuǎn)換2.7算術(shù)運(yùn)算符及算術(shù)表達(dá)式、字符串連接符2.8賦值運(yùn)算符、賦值表達(dá)式及賦值語句2.9運(yùn)算符的優(yōu)先級(jí)與結(jié)合性2.10自增和自減運(yùn)算符2.11語句與方法2.12本章小結(jié)2.13實(shí)訓(xùn)2:簡易計(jì)算器2.1任務(wù)預(yù)覽本章實(shí)訓(xùn)程序運(yùn)行結(jié)果:
2.2標(biāo)識(shí)符
標(biāo)識(shí)符:按一定規(guī)則定義、命名的符號(hào)名稱。標(biāo)識(shí)符命名規(guī)則:(1)只能使用字母(含漢字)、數(shù)字和下劃線;(2)必須以字母或下劃線開頭。例如:x、y、strX、strY、_age、studentCourseScore、CalculateArea、stu1、stu2、數(shù)1、變量2、計(jì)算面積兩種標(biāo)識(shí)符:(1)預(yù)定義保留的關(guān)鍵字(2)用戶標(biāo)識(shí)符用途:對(duì)程序的各個(gè)組成元素如變量、方法、類等進(jìn)行命名標(biāo)識(shí)。2.3關(guān)鍵字abstractelseinterfacestaticbooleanextendslongsuperbreakfalsemainswitchbytefinalnativethiscasefinallynewthrowcatchfloatnullthrowscharforpackagetrueclassifprivatetrycontinueimplementsprotectedvoiddefaultimportpublicwhiledoinstanceofreturndoubleintshortJava關(guān)鍵字描述列表abstract//抽象方法,抽象類的修飾符assert//斷言條件是否滿足boolean//布爾數(shù)據(jù)類型break//跳出循環(huán)或者label代碼段byte//8-bit有符號(hào)數(shù)據(jù)類型case//switch語句的一個(gè)條件catch//和try搭配捕捉異常信息char//16-bitUnicode字符數(shù)據(jù)類型class//定義類const//未使用continue//不執(zhí)行循環(huán)體剩余部分default//switch語句中的默認(rèn)分支do//循環(huán)語句,循環(huán)體至少會(huì)執(zhí)行一次double//64-bit雙精度浮點(diǎn)數(shù)else//if條件不成立時(shí)執(zhí)行的分支enum//枚舉類型extends//表示一個(gè)類是另一個(gè)類的子類final//表示一個(gè)值在初始化之后就不能再改變了finally//表示方法不能被重寫,或者一個(gè)類不能有子類try//語句不管是否發(fā)生異常都要執(zhí)行的語句塊float//32-bit單精度浮點(diǎn)數(shù)for//for循環(huán)語句goto//未使用if//條件語句implements//表示一個(gè)類實(shí)現(xiàn)了接口import//導(dǎo)入類instanceof//測試一個(gè)對(duì)象是否是某個(gè)類的實(shí)例int//32位整型數(shù)Java關(guān)鍵字描述列表(續(xù))interface//接口,一種抽象的類型,僅有方法和常量的定義long//64位整型數(shù)native//表示方法用非java代碼實(shí)現(xiàn)new//分配新的類實(shí)例package//一系列相關(guān)類組成一個(gè)包private//表示私有字段,或者方法等,只能從類內(nèi)部訪問protected//表示字段只能通過類或者其子類訪問//子類或者在同一個(gè)包內(nèi)的其他類public//表示共有屬性或者方法return//方法返回值short//16位數(shù)字static//表示在類級(jí)別定義,所有實(shí)例共享的strictfp//浮點(diǎn)數(shù)比較使用嚴(yán)格的規(guī)則super//表示基類switch//選擇語句synchronized//表示同一時(shí)間只能由一個(gè)線程訪問的代碼塊this//表示調(diào)用當(dāng)前實(shí)例//或者調(diào)用另一個(gè)構(gòu)造函數(shù)throw//拋出異常throws//定義方法可能拋出的異常transient//修飾不要序列化的字段try//表示代碼塊要做異常處理或者和finally配合表示是否拋出異常都執(zhí)行finally中的代碼void//標(biāo)記方法不返回任何值volatile//標(biāo)記字段可能會(huì)被多個(gè)線程同時(shí)訪問,而不做同步while//while循環(huán)2.4變量聲明變量格式:數(shù)據(jù)類型變量表;例如:doublex;x=12.3;doublea,b,c;inti=2;doublex=2.1,y,z=3.4;變量要“先聲明,后使用”。方法內(nèi)部的局部變量,要先賦值,再讀取。變量屬于標(biāo)識(shí)符。建議:(1)以小寫字母開頭,一般不用下劃線。(2)駱駝格式法(3)不要只創(chuàng)建大小寫有區(qū)別的變量,如x和X等。2.5Java數(shù)據(jù)類型基本數(shù)據(jù)類型關(guān)鍵字類型類型說明長度范圍boolean布爾型邏輯(布爾)型false和truebyte字節(jié)型1字節(jié)長度整數(shù)8-128到127short短整型2字節(jié)長度整數(shù)16-32768到32767int整型4字節(jié)長度整數(shù)32-2147483648到2147483647long長整型8字節(jié)長度整數(shù)64-9223372036854775808到9223372036854775807float單精度浮點(diǎn)型4字節(jié)長度實(shí)數(shù)32±1.4E-45到±3.4028235E+38double雙精度浮點(diǎn)型8字節(jié)長度實(shí)數(shù)64±4.9E-324到±1.7976931348623157E+308char字符型單個(gè)字符16'\u0000'到'\uFFFF'基本數(shù)據(jù)類型間的轉(zhuǎn)換1、boolean類型不能轉(zhuǎn)換成任何其他數(shù)據(jù)類型。2、強(qiáng)制類型轉(zhuǎn)換:容量大的數(shù)據(jù)類型轉(zhuǎn)換成容量小的數(shù)據(jù)類型時(shí),要加上強(qiáng)制轉(zhuǎn)換符,但這樣有可能會(huì)造成精度降低或者數(shù)據(jù)溢出,要小心。3、自動(dòng)類型轉(zhuǎn)換:容量小的數(shù)據(jù)類型可以自動(dòng)轉(zhuǎn)換成容量大的數(shù)據(jù)類型,如byte-short-int-long-float-double。byte、short、int不會(huì)互相轉(zhuǎn)換,他們?nèi)咴谟?jì)算時(shí)會(huì)轉(zhuǎn)換成int類型?;緮?shù)據(jù)類型間的轉(zhuǎn)換(續(xù))例:inta=257;byteb=(byte)a;在java中,int類型占4個(gè)字節(jié),byte占一個(gè)字節(jié),故int類型轉(zhuǎn)化為byte類型會(huì)出現(xiàn)位丟失情況,即將int的低4位作為byte類型的值。int型變量的值為257,對(duì)應(yīng)的二進(jìn)制是100000001,后8位是00000001,第一個(gè)0表示符號(hào)位,表示正數(shù),所以變量b的值為1?!緜渥ⅲ涸谟?jì)算機(jī)中,存儲(chǔ)數(shù)據(jù)是通過內(nèi)存地址來區(qū)分不同數(shù)據(jù)的,內(nèi)存地址用十六進(jìn)制數(shù)表示。在計(jì)算機(jī)存儲(chǔ)單元中,一個(gè)ASCII碼值占一個(gè)字節(jié)(8個(gè)二進(jìn)制位),其中最高位符號(hào)位。事實(shí)上,計(jì)算機(jī)內(nèi)的二進(jìn)制數(shù)值是以補(bǔ)碼形式表示的,正數(shù)的補(bǔ)碼和原碼的形式相同,負(fù)數(shù)的補(bǔ)碼是將該數(shù)的絕對(duì)值的二進(jìn)制形式,按位取反再加一?!縤nta=128;byteb=(byte)a;這時(shí)b的值是-128。因?yàn)樽兞縜對(duì)應(yīng)的二進(jìn)制是10000000,對(duì)應(yīng)第一位符號(hào)位是1,則a是負(fù)數(shù),其負(fù)數(shù)的補(bǔ)碼仍是10000000,故b的值是-128。2.6字符串及其與數(shù)值的轉(zhuǎn)換字符串類型,用String表示,它不是基本類型。例如:“abcd”、“123”、“張三”。這3個(gè)字符串的有效字符個(gè)數(shù)(字符串長度)分別是4、3和2聲明字符串變量str,同時(shí)把字符串常量"abcd"賦給str:
Stringstr="abcd";一對(duì)英文雙引號(hào),是字符串常量的定界符。字符串長度可通過方法length()求出,例如:str.length()為4空串,表示為""??沾拈L度為0。把字符串轉(zhuǎn)換為int型和double型例:
inti=Integer.parseInt("168"); doubled=Double.parseDouble("3.14");把數(shù)值轉(zhuǎn)換為字符串的方法是String.valueOf。例如:
Strings=String.valueOf(28.9);【例2-1】編程,把字符串轉(zhuǎn)成數(shù)值后相加,最后輸出結(jié)果。classExample1{ publicstaticvoidmain(String[]args){ Strings1="12.3",s2="4"; doubled1,d2,d3; d1=Double.parseDouble(s1); d2=Double.parseDouble(s2); d3=d1+d2; System.out.println(String.valueOf(d3)); //System.out.println(d3); }}程序運(yùn)行輸出結(jié)果為:16.3轉(zhuǎn)義符\n表示換行符,反斜杠叫轉(zhuǎn)義符。換行符常用的還有\(zhòng)r(回車符)、\t(制表符)。字符串可以包含轉(zhuǎn)義符,例如:
Stringstr="abcd\n123"; System.out.println(str);要輸出反斜杠本身,則要使用兩個(gè)反斜杠\\。例如:
System.out.println("d:\\Java程序");輸出結(jié)果為:
d:\Java程序2.7算術(shù)運(yùn)算符及算術(shù)表達(dá)式、
字符串連接符二元算術(shù)運(yùn)算符有5個(gè):加、減、乘、除、求余:+-*/%兩個(gè)整數(shù)相除是整除,結(jié)果只取整數(shù)(并非四舍五入)。例如:5/2,的值為2求余也叫取余、取模,其運(yùn)算符是%。例:
intremainder=5%2; doubleremainder2=5%1.8;結(jié)果分別為1和1.4。[注意]:double和float型數(shù)據(jù),除法運(yùn)算允許除數(shù)為零,結(jié)果為Infinity(無窮大)。也允許這種類型的零(如0.0)除以零而不出現(xiàn)語法錯(cuò)誤,但結(jié)果為NaN(非數(shù)字)。字符串連接運(yùn)算符+當(dāng)含有字符串操作數(shù),運(yùn)算符+將前后操作數(shù)的字符串首尾相接串聯(lián)在一起。串接表達(dá)式的值是字符串。例如:
System.out.println("12"+"34"); System.out.println(12+"34"); doublex=4.8; System.out.println("x="+x);又如:
doublex=4.7; doubley=2.4; doublexPlusY=x+y; System.out.println(x+"+"+y+"="+xPlusY);輸出結(jié)果為:4.7+2.4=7.12.8賦值運(yùn)算符、
賦值表達(dá)式及賦值語句賦值表達(dá)式語法:變量=表達(dá)式賦值運(yùn)算符(賦值號(hào))左邊一定是變量,賦值號(hào)右邊可為各種類型的表達(dá)式,包括常量,但類型要與左邊變量兼容。賦值表達(dá)式的值就是左邊變量的值。例如:
doubled; System.out.println(d=4.7+2.4);//值為7.1 Stringstr=“123”+String.valueOf(d);//值為"1237.1"在聲明變量的同時(shí),可賦初值給變量。語法: 數(shù)據(jù)類型變量=表達(dá)式;注意:賦值號(hào)=不能當(dāng)成等號(hào)。由賦值表達(dá)式后面加上英文分號(hào),就構(gòu)成了賦值語句。2.9運(yùn)算符的優(yōu)先級(jí)與結(jié)合性優(yōu)先級(jí):不同的運(yùn)算符具有不同的運(yùn)算次序。如:先乘除、后加減。可采用圓括號(hào)來改變運(yùn)算符的執(zhí)行次序。如:
a=(b+c)*d同等優(yōu)先級(jí)的運(yùn)算符通過結(jié)合性控制運(yùn)算順序。例:
4/2*6運(yùn)算符結(jié)合性:從左到右為左結(jié)合,從右到左為右結(jié)合。一般地,算術(shù)、關(guān)系等二元運(yùn)算符是左結(jié)合的,而一元、三目條件和賦值運(yùn)算符則是右結(jié)合的。賦值運(yùn)算符的右結(jié)合例:
inta,b,c,d; a=b=c=d=18;//相當(dāng)a=(b=(c=(d=18)));Java運(yùn)算符及其優(yōu)先級(jí)高→低運(yùn)算符類別運(yùn)算符1基本()[].2一元+-!~++--new3乘、除、求余*/%4加減+-5移位<<>>>>>6關(guān)系和類型檢測<><=>=instanceof7相等、不相等==!=8邏輯與、按位與&9邏輯異或^10邏輯或、按位或|11條件邏輯與&&12條件邏輯或||13三目條件運(yùn)算?:14賦值=+=-=*=/=%=&=|=^=<<=>>=>>>=2.10自增和自減運(yùn)算符整型、浮點(diǎn)型等變量可進(jìn)行自增、自減運(yùn)算,即加1、減1操作。運(yùn)算符++和--均是一元的,又分前、后自增,前、后自減。如:
++xx++--xx--【例2-2】編程,測試自增自減運(yùn)算。
inta=2,b; doublex=3.5,y; ++a;//a=3 --x;//x=2.5 System.out.println(a);//3 System.out.println(x);//2.5 b=a--;//b=3,a=2 y=x++;//y=2.5,x=3.5 System.out.println(a);//2 System
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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)使用權(quán)轉(zhuǎn)讓協(xié)議書
- 托管簡易倉庫租賃合同
- 鄉(xiāng)村資產(chǎn)管理之道
- 臨時(shí)物業(yè)管理人員招聘合同
- 2025事業(yè)單位聘用勞動(dòng)合同書范本
- 住宅小區(qū)鋼筋施工協(xié)議
- 模具合作合同樣本
- 2025防腐工程承包合同范本
- 2025知識(shí)產(chǎn)權(quán)合同音樂著作權(quán)授權(quán)協(xié)議
- 2025鏟車臺(tái)班合同
- 有機(jī)肥料及微生物肥料行業(yè)的技術(shù)創(chuàng)新與知識(shí)產(chǎn)權(quán)保護(hù)
- 短視頻運(yùn)營獲客短視頻如何打造
- 中學(xué)名著導(dǎo)讀課程設(shè)計(jì)
- 典范英語2a練習(xí)冊(cè)
- 汽車二級(jí)維護(hù)操作技術(shù)課件
- 《蘇州博物館分析》課件
- 建筑與市政施工現(xiàn)場安全衛(wèi)生與職業(yè)健康通用規(guī)范培訓(xùn)課件
- 《食品安全知識(shí)》課件
- 婚禮籌備日程表完整版(表格版)
- 大中小學(xué)思政課一體化背景下初中“道法課”教學(xué)優(yōu)化研究
- 03K132 風(fēng)管支吊架圖集
評(píng)論
0/150
提交評(píng)論