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

下載本文檔

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

文檔簡介

第2章計算器

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

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

2.2標識符

標識符:按一定規(guī)則定義、命名的符號名稱。標識符命名規(guī)則:(1)只能使用字母(含漢字)、數(shù)字和下劃線;(2)必須以字母或下劃線開頭。例如:x、y、strX、strY、_age、studentCourseScore、CalculateArea、stu1、stu2、數(shù)1、變量2、計算面積兩種標識符:(1)預定義保留的關鍵字(2)用戶標識符用途:對程序的各個組成元素如變量、方法、類等進行命名標識。2.3關鍵字abstractelseinterfacestaticbooleanextendslongsuperbreakfalsemainswitchbytefinalnativethiscasefinallynewthrowcatchfloatnullthrowscharforpackagetrueclassifprivatetrycontinueimplementsprotectedvoiddefaultimportpublicwhiledoinstanceofreturndoubleintshortJava關鍵字描述列表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語句中的默認分支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//導入類instanceof//測試一個對象是否是某個類的實例int//32位整型數(shù)Java關鍵字描述列表(續(xù))interface//接口,一種抽象的類型,僅有方法和常量的定義long//64位整型數(shù)native//表示方法用非java代碼實現(xiàn)new//分配新的類實例package//一系列相關類組成一個包private//表示私有字段,或者方法等,只能從類內(nèi)部訪問protected//表示字段只能通過類或者其子類訪問//子類或者在同一個包內(nèi)的其他類public//表示共有屬性或者方法return//方法返回值short//16位數(shù)字static//表示在類級別定義,所有實例共享的strictfp//浮點數(shù)比較使用嚴格的規(guī)則super//表示基類switch//選擇語句synchronized//表示同一時間只能由一個線程訪問的代碼塊this//表示調(diào)用當前實例//或者調(diào)用另一個構造函數(shù)throw//拋出異常throws//定義方法可能拋出的異常transient//修飾不要序列化的字段try//表示代碼塊要做異常處理或者和finally配合表示是否拋出異常都執(zhí)行finally中的代碼void//標記方法不返回任何值volatile//標記字段可能會被多個線程同時訪問,而不做同步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)部的局部變量,要先賦值,再讀取。變量屬于標識符。建議:(1)以小寫字母開頭,一般不用下劃線。(2)駱駝格式法(3)不要只創(chuàng)建大小寫有區(qū)別的變量,如x和X等。2.5Java數(shù)據(jù)類型基本數(shù)據(jù)類型關鍵字類型類型說明長度范圍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ù)類型間的轉換1、boolean類型不能轉換成任何其他數(shù)據(jù)類型。2、強制類型轉換:容量大的數(shù)據(jù)類型轉換成容量小的數(shù)據(jù)類型時,要加上強制轉換符,但這樣有可能會造成精度降低或者數(shù)據(jù)溢出,要小心。3、自動類型轉換:容量小的數(shù)據(jù)類型可以自動轉換成容量大的數(shù)據(jù)類型,如byte-short-int-long-float-double。byte、short、int不會互相轉換,他們?nèi)咴谟嬎銜r會轉換成int類型。基本數(shù)據(jù)類型間的轉換(續(xù))例:inta=257;byteb=(byte)a;在java中,int類型占4個字節(jié),byte占一個字節(jié),故int類型轉化為byte類型會出現(xiàn)位丟失情況,即將int的低4位作為byte類型的值。int型變量的值為257,對應的二進制是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ù)的補碼和原碼的形式相同,負數(shù)的補碼是將該數(shù)的絕對值的二進制形式,按位取反再加一?!縤nta=128;byteb=(byte)a;這時b的值是-128。因為變量a對應的二進制是10000000,對應第一位符號位是1,則a是負數(shù),其負數(shù)的補碼仍是10000000,故b的值是-128。2.6字符串及其與數(shù)值的轉換字符串類型,用String表示,它不是基本類型。例如:“abcd”、“123”、“張三”。這3個字符串的有效字符個數(shù)(字符串長度)分別是4、3和2聲明字符串變量str,同時把字符串常量"abcd"賦給str:

Stringstr="abcd";一對英文雙引號,是字符串常量的定界符。字符串長度可通過方法length()求出,例如:str.length()為4空串,表示為""??沾拈L度為0。把字符串轉換為int型和double型例:

inti=Integer.parseInt("168"); doubled=Double.parseDouble("3.14");把數(shù)值轉換為字符串的方法是String.valueOf。例如:

Strings=String.valueOf(28.9);【例2-1】編程,把字符串轉成數(shù)值后相加,最后輸出結果。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); }}程序運行輸出結果為:16.3轉義符\n表示換行符,反斜杠叫轉義符。換行符常用的還有\(zhòng)r(回車符)、\t(制表符)。字符串可以包含轉義符,例如:

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

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

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

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

intremainder=5%2; doubleremainder2=5%1.8;結果分別為1和1.4。[注意]:double和float型數(shù)據(jù),除法運算允許除數(shù)為零,結果為Infinity(無窮大)。也允許這種類型的零(如0.0)除以零而不出現(xiàn)語法錯誤,但結果為NaN(非數(shù)字)。字符串連接運算符+當含有字符串操作數(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);輸出結果為: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ù)類型變量=表達式;注意:賦值號=不能當成等號。由賦值表達式后面加上英文分號,就構成了賦值語句。2.9運算符的優(yōu)先級與結合性優(yōu)先級:不同的運算符具有不同的運算次序。如:先乘除、后加減??刹捎脠A括號來改變運算符的執(zhí)行次序。如:

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

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

inta,b,c,d; a=b=c=d=18;//相當a=(b=(c=(d=18)));Java運算符及其優(yōu)先級高→低運算符類別運算符1基本()[].2一元+-!~++--new3乘、除、求余*/%4加減+-5移位<<>>>>>6關系和類型檢測<><=>=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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論