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

下載本文檔

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

文檔簡介

第2章計算器

——數(shù)據(jù)類型與表達(dá)式能力目標(biāo):理解數(shù)據(jù)類型,學(xué)會聲明和使用變量,學(xué)會運用算術(shù)運算符和表達(dá)式。理解語句,學(xué)會使用聲明語句、賦值語句和方法調(diào)用語句。能運用運算符、表達(dá)式和語句編寫簡單計算器程序。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、計算面積用途:對程序的各個組成元素如變量、方法、類等進(jìn)行命名標(biāo)識。標(biāo)識符(Identifier)保留字(ReservedWord

)2.2、Java語言基本元素程序員對程序中的各個元素加以命名時使用的命名記號稱為標(biāo)識符(identifier)包括:類名、變量名、常量名、方法名、…

字母,下劃線(_),美元符($)開始的一個字符序列,后面可以跟字母,下劃線,美元符,數(shù)字。合法的標(biāo)識符

identifieruserNameUser_Name_sys_value$change非法的標(biāo)識符:

2mail room# class1、Java語言基本元素 ——標(biāo)識符具有專門的意義和用途,不能當(dāng)作一般的標(biāo)識符使用,這些標(biāo)識符稱為保留字(reservedword)。

abstractbreakbytebooleancatchcaseclasscharcontinuedefaultdoubledoelseextendsfalsefinalfloatforfinally ifimportimplementsintinterfaceinstanceoflonglengthnativenewnullpackageprivateprotectedpublicfinalreturnswitchsynchronizedshortstaticsupertrytruethisthrowthrowsthreadsafetransientvoidwhile1、Java語言基本元素 ——保留字?jǐn)?shù)據(jù)和返回值類型:int,void,return……包/類/成員/接口:package,class,interface訪問控制:public,private,protected循環(huán)及循環(huán)控制:if,switch,break例外處理:throw,try,finally保留詞(無含義但不能使用):goto,const1、Java語言基本元素 ——保留字:基本分類在Java中,true、false和null都是小寫的。區(qū)別于C++中大寫的TRUE、FALSE和NULL。所有的數(shù)據(jù)類型所占用的字節(jié)數(shù)都是固定的,并且和實現(xiàn)無關(guān)的,因此在Java中沒有sizeof操作符。不必死記這些關(guān)鍵詞,當(dāng)理解每個關(guān)鍵詞的含義后,自然就記住了所有的關(guān)鍵詞。1、Java語言基本元素 ——保留字:注意事項2、Java數(shù)據(jù)類型常量(Constant)

變量(Variable)

數(shù)據(jù)類型(DataType)基本數(shù)據(jù)類型(PrimaryDataTypes)復(fù)合數(shù)據(jù)類型(CompositeDataTypes)Java中的常量值是用文字串表示的,它區(qū)分為不同的類型,如整型常量123,實型常量1.23,字符常量‘a(chǎn)’,布爾常量true、false以及字符串常量"Thisisaconstantstring."。與C、C++不同,Java中不能通過#define命令把一個標(biāo)識符定義為常量,而是用關(guān)鍵字final來定義,其定義格式為:finalTypevarName=value[,varName[=value]…];finalint

globalAccount=100,nationalAccount=50;finaldoublePI=3.141592、Java數(shù)據(jù)類型 ——常量程序中的基本存儲單元,其定義包括變量名、變量類型和作用域幾個部分,定義格式為:TypevarName[=value][{,varName[=value]}];intn=3,n1=4;Java中變量的缺省初值都是確定的:布爾變量的初值為:false整數(shù)變量的初值為:0浮點數(shù)變量的初值為:0.0引用(復(fù)合)變量的初值為:null在方法實現(xiàn)中定義的變量必須顯式的初始化。2、Java數(shù)據(jù)類型 ——變量Javatypesystemprimitivereferencenullcharnumericbooleanclassinterfacearrayintegralfloating-pointbyteshortintlongfloatdouble2、Java數(shù)據(jù)類型 ——數(shù)據(jù)類型基本數(shù)據(jù)類型復(fù)合數(shù)據(jù)類型所有基本類型所占的位數(shù)都是確定的,并不因操作系統(tǒng)的不同而不同。所有基本類型的關(guān)鍵詞都是小寫的。數(shù)據(jù)類型

所占位數(shù)

數(shù)的范圍

char 16 0~65535byte

8

-27~27-1short 16 -215~215-1 int 32 -231~231-1 long 64 -263~263-1 float 32 3.4e-038~3.4e+038double 64 1.7e-308~1.7e+3082、Java數(shù)據(jù)類型 ——基本數(shù)據(jù)類型布爾型數(shù)據(jù)只有兩個值true和false,且它們不對應(yīng)于任何整數(shù)值

布爾型變量的定義如:

booleanb=true; 布爾型數(shù)據(jù)只能參與邏輯關(guān)系運算:&&||==!=!示例:booleanb1;booleanb2=true;b=!b2;booleanb=(b1&&b2)!=false;2、Java數(shù)據(jù)類型 ——基本數(shù)據(jù)類型:布爾類型(boolean)字符型數(shù)據(jù)代表16位的Unicode字符字符常量是用單引號括起來的一個字符‘a(chǎn)’‘B’‘\n’‘\u0030’字符型數(shù)據(jù)的取值范圍為0~65535或者說\u0000~\uFFFF\u0000為缺省值示例charc1; \\缺省值為0charc2=‘0’; \\賦初值為字符‘0’charc3=32; \\用整數(shù)賦初值為空格2、Java數(shù)據(jù)類型 ——基本數(shù)據(jù)類型:字符類型(char)特殊字符的常量表示法:反斜線(Backslash) ‘\\’退格(Backspace) ‘\b’回車(Carriagereturn) ‘\r’進(jìn)紙符(Formfeed) ‘\f’制表符(Formfeed) ‘\t’換行(Newline) ‘\n’單引號(Singlequote) ‘\’’八進(jìn)制數(shù)(‘\0’~‘\377’) ‘\DDD’Unicode字符 ‘\uHHHH’2、Java數(shù)據(jù)類型 ——基本數(shù)據(jù)類型:字符類型(char)整型常量1.十進(jìn)制整數(shù) 如123,-456,02.八進(jìn)制整數(shù) 以0開頭,如0123表示十進(jìn)制數(shù)83,-011表示十進(jìn)制數(shù)-9。3.十六進(jìn)制整數(shù) 以0x或0X開頭,如0x123表示十進(jìn)制數(shù)291,-0X12表示十進(jìn)制數(shù)-18。2、Java數(shù)據(jù)類型——基本數(shù)據(jù)類型:整數(shù)類型(byte,short,int,long)整型變量

類型為byte、short、int或long,byte在機(jī)器中占8位,short占16位,int占32位,long占64位。整型變量的定義如:

intx=123;

//指定變量x為int型,且賦初值為123

byteb=8;shorts=10;longy=123L;longz=123l;

64位長整數(shù)以l或L結(jié)尾:12l,-343L,

0xfffffffffL1L<<32等于4294967296L1<<32等于0沒有以l或L結(jié)尾的數(shù)字,根據(jù)其實際值所屬范圍,可以被用作byte,short,或int型整數(shù)以l或L結(jié)尾的數(shù)字,無論其實際值所屬范圍怎樣,都被用作long型整數(shù)2、Java數(shù)據(jù)類型 ——基本數(shù)據(jù)類型:整數(shù)類型(byte,short,int,long)示例byteb1; \\缺省值為0byteb2=127; \\賦初值為127shorts1=(short)(b1+b2);\\強(qiáng)制類型轉(zhuǎn)換shorts2=(short)(b1+123)\\強(qiáng)制類型轉(zhuǎn)換intn=b1+b2; \\不需要強(qiáng)制類型轉(zhuǎn)換longl1=2343; \\不需要強(qiáng)制類型轉(zhuǎn)換longl2=4294967296L; \\必須用L或l結(jié)尾longl3=65536*63356; \\乘法運算越界,l3為0longl4=65536L*63356; \\l4為4294967296L2、Java數(shù)據(jù)類型 ——基本數(shù)據(jù)類型:整數(shù)類型(byte,short,int,long)實型常量1.十進(jìn)制數(shù)形式 由數(shù)字和小數(shù)點組成,且必須有小數(shù)點,如0.123,.123,123.,123.02.科學(xué)計數(shù)法形式 如:123e3或123E3,其中e或E之前必須有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。32位浮點數(shù)形式:0.23f,1.23E-4f,

.18F2、Java數(shù)據(jù)類型 ——基本數(shù)據(jù)類型:浮點數(shù)類型,實型(float,double)實型變量類型為float或double,float在機(jī)器中占32位,double占64位。實型變量的定義如:doubled1=127.0; \\賦初值為127doubled2=127; \\賦初值為127floatf1=127.0f; \\必須在數(shù)字后加f或Ffloatf2=4.0e38f; \\錯誤!32位浮點數(shù)不能超過 \\3.4028234663852886e38floatf3=(float)d1; \\必須強(qiáng)制類型轉(zhuǎn)換2、Java數(shù)據(jù)類型 ——基本數(shù)據(jù)類型:浮點數(shù)類型,實型(float,double)

publicclassAssign{publicstaticvoidmain(Stringargs[]){intx,y;byteb=6;floatz=1.234f;doublew=1.234;booleanflag=true;charc;c=‘A‘;x=12;y=300;......}}2、Java數(shù)據(jù)類型 ——基本數(shù)據(jù)類型:使用舉例自動類型轉(zhuǎn)換整型、實型、字符型數(shù)據(jù)可以混合運算。運算中,不同類型的數(shù)據(jù)先轉(zhuǎn)化為同一類型,然后進(jìn)行運算,轉(zhuǎn)換從低級到高級:低----------------------------------------------------->高byte,short,char—>int—>long—>float—>double操作數(shù)1類型

操作數(shù)2類型

轉(zhuǎn)換后的類型byte、short、char int int byte、short、char、int long long byte、short、char、int、long float float byte、short、char、int、long、float double double2、Java數(shù)據(jù)類型 ——基本數(shù)據(jù)類型:數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換必須滿足如下規(guī)則:不能對boolean類型進(jìn)行類型轉(zhuǎn)換。不能把對象類型轉(zhuǎn)換成不相關(guān)類的對象。在把容量大的類型轉(zhuǎn)換為容量小的類型時必須使用強(qiáng)制類型轉(zhuǎn)換。轉(zhuǎn)換過程中可能導(dǎo)致溢出或損失精度

inti=8;byteb=(byte)i;(byte)255==-1 (byte)0x5634==0x34

浮點數(shù)到整數(shù)的轉(zhuǎn)換是通過舍棄小數(shù)得到,而不是四舍五入

(int)23.7==23 (int)-45.89f==-452、Java數(shù)據(jù)類型 ——基本數(shù)據(jù)類型:數(shù)據(jù)類型轉(zhuǎn)換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); }}2.7算術(shù)運算符及算術(shù)表達(dá)式、

字符串連接符二元算術(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)在一起。串接表達(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賦值運算符、

賦值表達(dá)式及賦值語句賦值表達(dá)式語法:變量=表達(dá)式賦值運算符(賦值號)左邊一定是變量,賦值號右邊可為各種類型的表達(dá)式,包括常量,但類型要與左邊變量兼容。賦值表達(dá)式的值就是左邊變量的值。例如: doubled; System.out.println(d=4.7+2.4);//值為7.1 Stringstr=“123”+String.valueOf(d);//值為"1237.1"在聲明變量的同時,可賦初值給變量。語法: 數(shù)據(jù)類型變量=表達(dá)式;注意:賦值號=不能當(dāng)成等號。由賦值表達(dá)式后面加上英文分號,就構(gòu)成了賦值語句。2.9運算符的優(yōu)先級與結(jié)合性優(yōu)先級:不同的運算符具有不同的運算次序。如:先乘除、后加減。可采用圓括號來改變運算符的執(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自增和自減運算符整型、浮點型等變量可進(jìn)行自增、自減運算,即加1、減1操作。運算符++和--均是一元的,又分前、后自增,前、后自減。如: ++xx++--xx--【例2-2】編程,測試自增自減運算。 inta=2,b; doublex=3.5,y; ++a;//a=3 --x;//x=2.5 System.out.pr

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論