版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章計(jì)算器
——數(shù)據(jù)類(lèi)型與表達(dá)式能力目標(biāo):理解數(shù)據(jù)類(lèi)型,學(xué)會(huì)聲明和使用變量,學(xué)會(huì)運(yùn)用算術(shù)運(yùn)算符和表達(dá)式。理解語(yǔ)句,學(xué)會(huì)使用聲明語(yǔ)句、賦值語(yǔ)句和方法調(diào)用語(yǔ)句。能運(yùn)用運(yùn)算符、表達(dá)式和語(yǔ)句編寫(xiě)簡(jiǎn)單計(jì)算器程序。2.1任務(wù)預(yù)覽本章實(shí)訓(xùn)程序運(yùn)行結(jié)果:
2.2標(biāo)識(shí)符
標(biāo)識(shí)符:按一定規(guī)則定義、命名的符號(hào)名稱(chēng)。標(biāo)識(shí)符命名規(guī)則:(1)只能使用字母(含漢字)、數(shù)字和下劃線;(2)必須以字母或下劃線開(kāi)頭。例如:x、y、strX、strY、_age、studentCourseScore、CalculateArea、stu1、stu2、數(shù)1、變量2、計(jì)算面積用途:對(duì)程序的各個(gè)組成元素如變量、方法、類(lèi)等進(jìn)行命名標(biāo)識(shí)。標(biāo)識(shí)符(Identifier)保留字(ReservedWord
)2.2、Java語(yǔ)言基本元素程序員對(duì)程序中的各個(gè)元素加以命名時(shí)使用的命名記號(hào)稱(chēng)為標(biāo)識(shí)符(identifier)包括:類(lèi)名、變量名、常量名、方法名、…
字母,下劃線(_),美元符($)開(kāi)始的一個(gè)字符序列,后面可以跟字母,下劃線,美元符,數(shù)字。合法的標(biāo)識(shí)符
identifieruserNameUser_Name_sys_value$change非法的標(biāo)識(shí)符:
2mail room# class1、Java語(yǔ)言基本元素 ——標(biāo)識(shí)符具有專(zhuān)門(mén)的意義和用途,不能當(dāng)作一般的標(biāo)識(shí)符使用,這些標(biāo)識(shí)符稱(chēng)為保留字(reservedword)。
abstractbreakbytebooleancatchcaseclasscharcontinuedefaultdoubledoelseextendsfalsefinalfloatforfinally ifimportimplementsintinterfaceinstanceoflonglengthnativenewnullpackageprivateprotectedpublicfinalreturnswitchsynchronizedshortstaticsupertrytruethisthrowthrowsthreadsafetransientvoidwhile1、Java語(yǔ)言基本元素 ——保留字?jǐn)?shù)據(jù)和返回值類(lèi)型:int,void,return……包/類(lèi)/成員/接口:package,class,interface訪問(wèn)控制:public,private,protected循環(huán)及循環(huán)控制:if,switch,break例外處理:throw,try,finally保留詞(無(wú)含義但不能使用):goto,const1、Java語(yǔ)言基本元素 ——保留字:基本分類(lèi)在Java中,true、false和null都是小寫(xiě)的。區(qū)別于C++中大寫(xiě)的TRUE、FALSE和NULL。所有的數(shù)據(jù)類(lèi)型所占用的字節(jié)數(shù)都是固定的,并且和實(shí)現(xiàn)無(wú)關(guān)的,因此在Java中沒(méi)有sizeof操作符。不必死記這些關(guān)鍵詞,當(dāng)理解每個(gè)關(guān)鍵詞的含義后,自然就記住了所有的關(guān)鍵詞。1、Java語(yǔ)言基本元素 ——保留字:注意事項(xiàng)2、Java數(shù)據(jù)類(lèi)型常量(Constant)
變量(Variable)
數(shù)據(jù)類(lèi)型(DataType)基本數(shù)據(jù)類(lèi)型(PrimaryDataTypes)復(fù)合數(shù)據(jù)類(lèi)型(CompositeDataTypes)Java中的常量值是用文字串表示的,它區(qū)分為不同的類(lèi)型,如整型常量123,實(shí)型常量1.23,字符常量‘a(chǎn)’,布爾常量true、false以及字符串常量"Thisisaconstantstring."。與C、C++不同,Java中不能通過(guò)#define命令把一個(gè)標(biāo)識(shí)符定義為常量,而是用關(guān)鍵字final來(lái)定義,其定義格式為:finalTypevarName=value[,varName[=value]…];finalint
globalAccount=100,nationalAccount=50;finaldoublePI=3.141592、Java數(shù)據(jù)類(lèi)型 ——常量程序中的基本存儲(chǔ)單元,其定義包括變量名、變量類(lèi)型和作用域幾個(gè)部分,定義格式為:TypevarName[=value][{,varName[=value]}];intn=3,n1=4;Java中變量的缺省初值都是確定的:布爾變量的初值為:false整數(shù)變量的初值為:0浮點(diǎn)數(shù)變量的初值為:0.0引用(復(fù)合)變量的初值為:null在方法實(shí)現(xiàn)中定義的變量必須顯式的初始化。2、Java數(shù)據(jù)類(lèi)型 ——變量Javatypesystemprimitivereferencenullcharnumericbooleanclassinterfacearrayintegralfloating-pointbyteshortintlongfloatdouble2、Java數(shù)據(jù)類(lèi)型 ——數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型復(fù)合數(shù)據(jù)類(lèi)型所有基本類(lèi)型所占的位數(shù)都是確定的,并不因操作系統(tǒng)的不同而不同。所有基本類(lèi)型的關(guān)鍵詞都是小寫(xiě)的。數(shù)據(jù)類(lèi)型
所占位數(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ù)類(lèi)型 ——基本數(shù)據(jù)類(lèi)型布爾型數(shù)據(jù)只有兩個(gè)值true和false,且它們不對(duì)應(yīng)于任何整數(shù)值
布爾型變量的定義如:
booleanb=true; 布爾型數(shù)據(jù)只能參與邏輯關(guān)系運(yùn)算:&&||==!=!示例:booleanb1;booleanb2=true;b=!b2;booleanb=(b1&&b2)!=false;2、Java數(shù)據(jù)類(lèi)型 ——基本數(shù)據(jù)類(lèi)型:布爾類(lèi)型(boolean)字符型數(shù)據(jù)代表16位的Unicode字符字符常量是用單引號(hào)括起來(lái)的一個(gè)字符‘a(chǎn)’‘B’‘\n’‘\u0030’字符型數(shù)據(jù)的取值范圍為0~65535或者說(shuō)\u0000~\uFFFF\u0000為缺省值示例charc1; \\缺省值為0charc2=‘0’; \\賦初值為字符‘0’charc3=32; \\用整數(shù)賦初值為空格2、Java數(shù)據(jù)類(lèi)型 ——基本數(shù)據(jù)類(lèi)型:字符類(lèi)型(char)特殊字符的常量表示法:反斜線(Backslash) ‘\\’退格(Backspace) ‘\b’回車(chē)(Carriagereturn) ‘\r’進(jìn)紙符(Formfeed) ‘\f’制表符(Formfeed) ‘\t’換行(Newline) ‘\n’單引號(hào)(Singlequote) ‘\’’八進(jìn)制數(shù)(‘\0’~‘\377’) ‘\DDD’Unicode字符 ‘\uHHHH’2、Java數(shù)據(jù)類(lèi)型 ——基本數(shù)據(jù)類(lèi)型:字符類(lèi)型(char)整型常量1.十進(jìn)制整數(shù) 如123,-456,02.八進(jìn)制整數(shù) 以0開(kāi)頭,如0123表示十進(jìn)制數(shù)83,-011表示十進(jìn)制數(shù)-9。3.十六進(jìn)制整數(shù) 以0x或0X開(kāi)頭,如0x123表示十進(jìn)制數(shù)291,-0X12表示十進(jìn)制數(shù)-18。2、Java數(shù)據(jù)類(lèi)型——基本數(shù)據(jù)類(lèi)型:整數(shù)類(lèi)型(byte,short,int,long)整型變量
類(lèi)型為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位長(zhǎng)整數(shù)以l或L結(jié)尾:12l,-343L,
0xfffffffffL1L<<32等于4294967296L1<<32等于0沒(méi)有以l或L結(jié)尾的數(shù)字,根據(jù)其實(shí)際值所屬范圍,可以被用作byte,short,或int型整數(shù)以l或L結(jié)尾的數(shù)字,無(wú)論其實(shí)際值所屬范圍怎樣,都被用作long型整數(shù)2、Java數(shù)據(jù)類(lèi)型 ——基本數(shù)據(jù)類(lèi)型:整數(shù)類(lèi)型(byte,short,int,long)示例byteb1; \\缺省值為0byteb2=127; \\賦初值為127shorts1=(short)(b1+b2);\\強(qiáng)制類(lèi)型轉(zhuǎn)換shorts2=(short)(b1+123)\\強(qiáng)制類(lèi)型轉(zhuǎn)換intn=b1+b2; \\不需要強(qiáng)制類(lèi)型轉(zhuǎn)換longl1=2343; \\不需要強(qiáng)制類(lèi)型轉(zhuǎn)換longl2=4294967296L; \\必須用L或l結(jié)尾longl3=65536*63356; \\乘法運(yùn)算越界,l3為0longl4=65536L*63356; \\l4為4294967296L2、Java數(shù)據(jù)類(lèi)型 ——基本數(shù)據(jù)類(lèi)型:整數(shù)類(lèi)型(byte,short,int,long)實(shí)型常量1.十進(jìn)制數(shù)形式 由數(shù)字和小數(shù)點(diǎn)組成,且必須有小數(shù)點(diǎn),如0.123,.123,123.,123.02.科學(xué)計(jì)數(shù)法形式 如:123e3或123E3,其中e或E之前必須有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。32位浮點(diǎn)數(shù)形式:0.23f,1.23E-4f,
.18F2、Java數(shù)據(jù)類(lèi)型 ——基本數(shù)據(jù)類(lèi)型:浮點(diǎn)數(shù)類(lèi)型,實(shí)型(float,double)實(shí)型變量類(lèi)型為float或double,float在機(jī)器中占32位,double占64位。實(shí)型變量的定義如:doubled1=127.0; \\賦初值為127doubled2=127; \\賦初值為127floatf1=127.0f; \\必須在數(shù)字后加f或Ffloatf2=4.0e38f; \\錯(cuò)誤!32位浮點(diǎn)數(shù)不能超過(guò) \\3.4028234663852886e38floatf3=(float)d1; \\必須強(qiáng)制類(lèi)型轉(zhuǎn)換2、Java數(shù)據(jù)類(lèi)型 ——基本數(shù)據(jù)類(lèi)型:浮點(diǎn)數(shù)類(lèi)型,實(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ù)類(lèi)型 ——基本數(shù)據(jù)類(lèi)型:使用舉例自動(dòng)類(lèi)型轉(zhuǎn)換整型、實(shí)型、字符型數(shù)據(jù)可以混合運(yùn)算。運(yùn)算中,不同類(lèi)型的數(shù)據(jù)先轉(zhuǎn)化為同一類(lèi)型,然后進(jìn)行運(yùn)算,轉(zhuǎn)換從低級(jí)到高級(jí):低----------------------------------------------------->高byte,short,char—>int—>long—>float—>double操作數(shù)1類(lèi)型
操作數(shù)2類(lèi)型
轉(zhuǎn)換后的類(lèi)型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ù)類(lèi)型 ——基本數(shù)據(jù)類(lèi)型:數(shù)據(jù)類(lèi)型轉(zhuǎn)換數(shù)據(jù)類(lèi)型轉(zhuǎn)換必須滿足如下規(guī)則:不能對(duì)boolean類(lèi)型進(jìn)行類(lèi)型轉(zhuǎn)換。不能把對(duì)象類(lèi)型轉(zhuǎn)換成不相關(guān)類(lèi)的對(duì)象。在把容量大的類(lèi)型轉(zhuǎn)換為容量小的類(lèi)型時(shí)必須使用強(qiáng)制類(lèi)型轉(zhuǎn)換。轉(zhuǎn)換過(guò)程中可能導(dǎo)致溢出或損失精度
inti=8;byteb=(byte)i;(byte)255==-1 (byte)0x5634==0x34
浮點(diǎn)數(shù)到整數(shù)的轉(zhuǎn)換是通過(guò)舍棄小數(shù)得到,而不是四舍五入
(int)23.7==23 (int)-45.89f==-452、Java數(shù)據(jù)類(lèi)型 ——基本數(shù)據(jù)類(lèi)型:數(shù)據(jù)類(lèi)型轉(zhuǎn)換2.6字符串及其與數(shù)值的轉(zhuǎn)換字符串類(lèi)型,用String表示,它不是基本類(lèi)型。例如:“abcd”、“123”、“張三”。這3個(gè)字符串的有效字符個(gè)數(shù)(字符串長(zhǎng)度)分別是4、3和2聲明字符串變量str,同時(shí)把字符串常量"abcd"賦給str:Stringstr="abcd";一對(duì)英文雙引號(hào),是字符串常量的定界符。字符串長(zhǎng)度可通過(guò)方法length()求出,例如:str.length()為4空串,表示為""??沾拈L(zhǎng)度為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ù)運(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(無(wú)窮大)。也允許這種類(lèi)型的零(如0.0)除以零而不出現(xiàn)語(yǔ)法錯(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á)式及賦值語(yǔ)句賦值表達(dá)式語(yǔ)法:變量=表達(dá)式賦值運(yùn)算符(賦值號(hào))左邊一定是變量,賦值號(hào)右邊可為各種類(lèi)型的表達(dá)式,包括常量,但類(lèi)型要與左邊變量兼容。賦值表達(dá)式的值就是左邊變量的值。例如: doubled; System.out.println(d=4.7+2.4);//值為7.1 Stringstr=“123”+String.valueOf(d);//值為"1237.1"在聲明變量的同時(shí),可賦初值給變量。語(yǔ)法: 數(shù)據(jù)類(lèi)型變量=表達(dá)式;注意:賦值號(hào)=不能當(dāng)成等號(hào)。由賦值表達(dá)式后面加上英文分號(hào),就構(gòu)成了賦值語(yǔ)句。2.9運(yùn)算符的優(yōu)先級(jí)與結(jié)合性?xún)?yōu)先級(jí):不同的運(yùn)算符具有不同的運(yùn)算次序。如:先乘除、后加減??刹捎脠A括號(hào)來(lái)改變運(yùn)算符的執(zhí)行次序。如: a=(b+c)*d同等優(yōu)先級(jí)的運(yùn)算符通過(guò)結(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)算符類(lèi)別運(yùn)算符1基本()[].2一元+-!~++--new3乘、除、求余*/%4加減+-5移位<<>>>>>6關(guān)系和類(lèi)型檢測(cè)<><=>=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】編程,測(cè)試自增自減運(yùn)算。 inta=2,b; doublex=3.5,y; ++a;//a=3 --x;//x=2.5 System.out.pr
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課件-當(dāng)前我國(guó)科技創(chuàng)新中的問(wèn)題秦伯益軍事醫(yī)學(xué)科學(xué)院
- 《特殊類(lèi)型乳腺癌》課件
- 深度強(qiáng)化學(xué)習(xí)在薄膜設(shè)計(jì)中的應(yīng)用研究
- 微球推進(jìn)技術(shù)激光應(yīng)用研究綜述
- 儲(chǔ)備池計(jì)算視角下的吸引子重構(gòu)與耦合機(jī)制分析
- 法院屋頂防水修繕合同
- 2024版規(guī)范化9A條款離婚合同書(shū)范例版B版
- 2024版雨棚合同范本
- 2024年藝術(shù)品買(mǎi)賣(mài)合同標(biāo)的及詳細(xì)規(guī)定
- 第15課 兩次鴉片戰(zhàn)爭(zhēng) 說(shuō)課稿-2024-2025學(xué)年高中歷史統(tǒng)編版(2019)必修中外歷史綱要上冊(cè)001
- 物理八年級(jí)上冊(cè)凸透鏡成像的規(guī)律(課件)
- 2024-2025學(xué)年新教材高中地理 第3單元 區(qū)域聯(lián)系與區(qū)域發(fā)展 第1節(jié) 大都市輻射對(duì)區(qū)域發(fā)展的影響-以上海市為例說(shuō)課稿 魯教版選擇性必修2
- 物業(yè)充電樁合作加盟協(xié)議書(shū)范文
- 機(jī)械工安全操作規(guī)程有哪些(11篇)
- 2024年執(zhí)業(yè)醫(yī)師考試-中醫(yī)執(zhí)業(yè)醫(yī)師考試近5年真題集錦(頻考類(lèi)試題)帶答案
- 2024-2030年中國(guó)真空滅弧室行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 全國(guó)計(jì)算機(jī)一級(jí)考試題庫(kù)(附答案)
- 【飛科電器公司基于杜邦分析法的財(cái)務(wù)分析案例(7700字論文)】
- 廣東省深圳市(2024年-2025年小學(xué)四年級(jí)語(yǔ)文)統(tǒng)編版期末考試(上學(xué)期)試卷及答案
- 兒童呼吸道合胞病毒感染臨床診治試題
- 2021-2022學(xué)年廣東省廣州市花都區(qū)六年級(jí)(上)期末英語(yǔ)試卷
評(píng)論
0/150
提交評(píng)論