第2章計算器-數(shù)據(jù)類型與表達式_第1頁
第2章計算器-數(shù)據(jù)類型與表達式_第2頁
第2章計算器-數(shù)據(jù)類型與表達式_第3頁
第2章計算器-數(shù)據(jù)類型與表達式_第4頁
第2章計算器-數(shù)據(jù)類型與表達式_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第2章計算器

——數(shù)據(jù)類型與表達式

能力目標(biāo):理解數(shù)據(jù)類型,學(xué)會聲明和使用變量,學(xué)會運用算術(shù)運算符和表達式。理解語句,學(xué)會使用聲明語句、賦值語句和方法調(diào)用語句。能運用運算符、表達式和語句編寫簡單計算器程序。內(nèi)容介紹2.1任務(wù)預(yù)覽2.2標(biāo)識符2.3關(guān)鍵字2.4變量2.5基本數(shù)據(jù)類型2.6字符串及其與數(shù)值的轉(zhuǎn)換2.7算術(shù)運算符及算術(shù)表達式、字符串連接符2.8賦值運算符、賦值表達式及賦值語句2.9運算符的優(yōu)先級與結(jié)合性2.10自增和自減運算符2.11語句與方法2.12本章小結(jié)2.13實訓(xùn)2:簡易計算器2.1任務(wù)預(yù)覽本章實訓(xùn)程序運行結(jié)果:

2.2標(biāo)識符

標(biāo)識符:按一定規(guī)則定義、命名的符號名稱。標(biāo)識符命名規(guī)則:(1)只能使用字母(含漢字)、數(shù)字和下劃線;(2)必須以字母或下劃線開頭。例如:x、y、strX、strY、_age、studentCourseScore、CalculateArea、stu1、stu2、數(shù)1、變量2、計算面積兩種標(biāo)識符:(1)預(yù)定義保留的關(guān)鍵字(2)用戶標(biāo)識符用途:對程序的各個組成元素如變量、方法、類等進行命名標(biāo)識。2.3關(guān)鍵字abstractelseinterfacestaticbooleanextendslongsuperbreakfalsemainswitchbytefinalnativethiscasefinallynewthrowcatchfloatnullthrowscharforpackagetrueclassifprivatetrycontinueimplementsprotectedvoiddefaultimportpublicwhiledoinstanceofreturndoubleintshortJava關(guān)鍵字描述列表abstract//抽象方法,抽象類的修飾符assert//斷言條件是否滿足boolean//布爾數(shù)據(jù)類型break//跳出循環(huán)或者label代碼段byte//8-bit有符號數(shù)據(jù)類型case//switch語句的一個條件catch//和try搭配捕捉異常信息char//16-bitUnicode字符數(shù)據(jù)類型class//定義類const//未使用continue//不執(zhí)行循環(huán)體剩余部分default//switch語句中的默認(rèn)分支do//循環(huán)語句,循環(huán)體至少會執(zhí)行一次double//64-bit雙精度浮點數(shù)else//if條件不成立時執(zhí)行的分支enum//枚舉類型extends//表示一個類是另一個類的子類final//表示一個值在初始化之后就不能再改變了finally//表示方法不能被重寫,或者一個類不能有子類try//語句不管是否發(fā)生異常都要執(zhí)行的語句塊float//32-bit單精度浮點數(shù)for//for循環(huán)語句goto//未使用if//條件語句implements//表示一個類實現(xiàn)了接口import//導(dǎo)入類instanceof//測試一個對象是否是某個類的實例int//32位整型數(shù)Java關(guān)鍵字描述列表(續(xù))interface//接口,一種抽象的類型,僅有方法和常量的定義long//64位整型數(shù)native//表示方法用非java代碼實現(xiàn)new//分配新的類實例package//一系列相關(guān)類組成一個包private//表示私有字段,或者方法等,只能從類內(nèi)部訪問protected//表示字段只能通過類或者其子類訪問//子類或者在同一個包內(nèi)的其他類public//表示共有屬性或者方法return//方法返回值short//16位數(shù)字static//表示在類級別定義,所有實例共享的strictfp//浮點數(shù)比較使用嚴(yán)格的規(guī)則super//表示基類switch//選擇語句synchronized//表示同一時間只能由一個線程訪問的代碼塊this//表示調(diào)用當(dāng)前實例//或者調(diào)用另一個構(gòu)造函數(shù)throw//拋出異常throws//定義方法可能拋出的異常transient//修飾不要序列化的字段try//表示代碼塊要做異常處理或者和finally配合表示是否拋出異常都執(zhí)行finally中的代碼void//標(biāo)記方法不返回任何值volatile//標(biāo)記字段可能會被多個線程同時訪問,而不做同步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)識符。建議:(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單精度浮點型4字節(jié)長度實數(shù)32±1.4E-45到±3.4028235E+38double雙精度浮點型8字節(jié)長度實數(shù)64±4.9E-324到±1.7976931348623157E+308char字符型單個字符16'\u0000'到'\uFFFF'基本數(shù)據(jù)類型間的轉(zhuǎn)換1、boolean類型不能轉(zhuǎn)換成任何其他數(shù)據(jù)類型。2、強制類型轉(zhuǎn)換:容量大的數(shù)據(jù)類型轉(zhuǎn)換成容量小的數(shù)據(jù)類型時,要加上強制轉(zhuǎn)換符,但這樣有可能會造成精度降低或者數(shù)據(jù)溢出,要小心。3、自動類型轉(zhuǎn)換:容量小的數(shù)據(jù)類型可以自動轉(zhuǎn)換成容量大的數(shù)據(jù)類型,如byte-short-int-long-float-double。byte、short、int不會互相轉(zhuǎn)換,他們?nèi)咴谟嬎銜r會轉(zhuǎn)換成int類型?;緮?shù)據(jù)類型間的轉(zhuǎn)換(續(xù))例:inta=257;byteb=(byte)a;在java中,int類型占4個字節(jié),byte占一個字節(jié),故int類型轉(zhuǎn)化為byte類型會出現(xiàn)位丟失情況,即將int的低4位作為byte類型的值。int型變量的值為257,對應(yīng)的二進制是100000001,后8位是00000001,第一個0表示符號位,表示正數(shù),所以變量b的值為1?!緜渥ⅲ涸谟嬎銠C中,存儲數(shù)據(jù)是通過內(nèi)存地址來區(qū)分不同數(shù)據(jù)的,內(nèi)存地址用十六進制數(shù)表示。在計算機存儲單元中,一個ASCII碼值占一個字節(jié)(8個二進制位),其中最高位符號位。事實上,計算機內(nèi)的二進制數(shù)值是以補碼形式表示的,正數(shù)的補碼和原碼的形式相同,負(fù)數(shù)的補碼是將該數(shù)的絕對值的二進制形式,按位取反再加一?!縤nta=128;byteb=(byte)a;這時b的值是-128。因為變量a對應(yīng)的二進制是10000000,對應(yīng)第一位符號位是1,則a是負(fù)數(shù),其負(fù)數(shù)的補碼仍是10000000,故b的值是-128。2.6字符串及其與數(shù)值的轉(zhuǎn)換字符串類型,用String表示,它不是基本類型。例如:“abcd”、“123”、“張三”。這3個字符串的有效字符個數(shù)(字符串長度)分別是4、3和2聲明字符串變量str,同時把字符串常量"abcd"賦給str:

Stringstr="abcd";一對英文雙引號,是字符串常量的定界符。字符串長度可通過方法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); }}程序運行輸出結(jié)果為:16.3轉(zhuǎn)義符\n表示換行符,反斜杠叫轉(zhuǎn)義符。換行符常用的還有\(zhòng)r(回車符)、\t(制表符)。字符串可以包含轉(zhuǎn)義符,例如:

Stringstr="abcd\n123"; System.out.println(str);要輸出反斜杠本身,則要使用兩個反斜杠\\。例如:

System.out.println("d:\\Java程序");輸出結(jié)果為:

d:\Java程序2.7算術(shù)運算符及算術(shù)表達式、

字符串連接符二元算術(shù)運算符有5個:加、減、乘、除、求余:+-*/%兩個整數(shù)相除是整除,結(jié)果只取整數(shù)(并非四舍五入)。例如:5/2,的值為2求余也叫取余、取模,其運算符是%。例:

intremainder=5%2; doubleremainder2=5%1.8;結(jié)果分別為1和1.4。[注意]:double和float型數(shù)據(jù),除法運算允許除數(shù)為零,結(jié)果為Infinity(無窮大)。也允許這種類型的零(如0.0)除以零而不出現(xiàn)語法錯誤,但結(jié)果為NaN(非數(shù)字)。字符串連接運算符+當(dāng)含有字符串操作數(shù),運算符+將前后操作數(shù)的字符串首尾相接串聯(lián)在一起。串接表達式的值是字符串。例如:

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賦值運算符、

賦值表達式及賦值語句賦值表達式語法:變量=表達式賦值運算符(賦值號)左邊一定是變量,賦值號右邊可為各種類型的表達式,包括常量,但類型要與左邊變量兼容。賦值表達式的值就是左邊變量的值。例如:

doubled; System.out.println(d=4.7+2.4);//值為7.1 Stringstr=“123”+String.valueOf(d);//值為"1237.1"在聲明變量的同時,可賦初值給變量。語法: 數(shù)據(jù)類型變量=表達式;注意:賦值號=不能當(dāng)成等號。由賦值表達式后面加上英文分號,就構(gòu)成了賦值語句。2.9運算符的優(yōu)先級與結(jié)合性優(yōu)先級:不同的運算符具有不同的運算次序。如:先乘除、后加減??刹捎脠A括號來改變運算符的執(zhí)行次序。如:

a=(b+c)*d同等優(yōu)先級的運算符通過結(jié)合性控制運算順序。例:

4/2*6運算符結(jié)合性:從左到右為左結(jié)合,從右到左為右結(jié)合。一般地,算術(shù)、關(guān)系等二元運算符是左結(jié)合的,而一元、三目條件和賦值運算符則是右結(jié)合的。賦值運算符的右結(jié)合例:

inta,b,c,d; a=b=c=d=18;//相當(dāng)a=(b=(c=(d=18)));Java運算符及其優(yōu)先級高→低運算符類別運算符1基本()[].2一元+-!~++--new3乘、除、求余*/%4加減+-5移位<<>>>>>6關(guān)系和類型檢測<><=>=instanceof7相等、不相等==!=8邏輯與、按位與&9邏輯異或^10邏輯或、按位或|11條件邏輯與&&12條件邏輯或||13三目條件運算?:14賦值=+=-=*=/=%=&=|=^=<<=>>=>>>=2.10自增和自減運算符整型、浮點型等變量可進行自增、自減運算,即加1、減1操作。運算符++和--均是一元的,又分前、后自增,前、后自減。如:

++xx++--xx--【例2-2】編程,測試自增自減運算。

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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論