ch02-基本程序設(shè)計_第1頁
ch02-基本程序設(shè)計_第2頁
ch02-基本程序設(shè)計_第3頁
ch02-基本程序設(shè)計_第4頁
ch02-基本程序設(shè)計_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

學(xué)習(xí)目標(biāo)編寫Java程序執(zhí)行簡單的計算理解標(biāo)識符、變量、常量使用賦值語句和賦值表達(dá)式掌握J(rèn)ava的基本數(shù)據(jù)類型使用操作符和表達(dá)式強(qiáng)制類型轉(zhuǎn)換使用JOptionPane輸入對話框和控制臺獲取輸入熟悉Java文件、編程風(fēng)格和命名規(guī)則理解語法錯誤、運行時錯誤和邏輯錯誤第1頁/共28頁例計算圓的面積編寫程序,給定半徑,計算圓的面積讀入半徑值計算面積面積=半徑×半徑×π顯示面積Example:ComputeArea.java第2頁/共28頁從控制臺獲取輸入標(biāo)準(zhǔn)輸入/輸出流System.out標(biāo)準(zhǔn)輸出流System.in標(biāo)準(zhǔn)輸入流Scanner類Scannerscanner=newScanner(System.in);doubled=scanner.nextDouble();方法:nextByte()nextShort()nextInt()nextLong()nextFloat()nextDouble()next()讀入一個字符串(空白符結(jié)束)nextLine()讀入一行字符(回車鍵結(jié)束)Example:ComputeAreaWithConsoleInput.java,ComputeAverage.java第3頁/共28頁標(biāo)識符Java中使用標(biāo)識符(identifier)來命名變量、常量、方法、類、包等實體。標(biāo)識符命名規(guī)則標(biāo)識符是由字母、數(shù)字、下劃線(_)、美元符號($)組成的字符序列。標(biāo)識符必須以字母、下劃線(_)、美元符號($)開頭。不能以數(shù)字開頭。標(biāo)識符不能是保留字。標(biāo)識符不能為true、false或null。標(biāo)識符可以為任意長度。例如:$2,area,radius,showMessageDialog是合法的標(biāo)識符;2A,d+4是非法的標(biāo)識符第4頁/共28頁Java保留字abstractcontinuefornewswitchassertdefaultifpackagesynchronizedbooleandogotoprivatethisbreakdoubleimplementsprotectedthrowbyteelseimportpublicthrowscaseenuminstanceofreturntransientcatchextendsintshorttrycharfinalinterfacestaticvoidclassfinallylongstrictfpvolatileconstfloatnativesuperwhile第5頁/共28頁變量變量(variable)用于保存數(shù)據(jù)輸入、數(shù)據(jù)輸出和中間值。可以向變量賦予類型匹配的值。聲明變量語法datatypevariableName;或者datatypev1,v2,…,v3;例如:intx;doubleradius,area;第6頁/共28頁賦值語句語法variable=expression;其中expression是包含數(shù)值、變量和操作符的表達(dá)式。賦值語句的結(jié)果是將表達(dá)式的值賦值給左邊的變量。例如:x=1;x=5*(3/2)+3*2;x=y+1;area=radius*radius*3.14159;第7頁/共28頁賦值表達(dá)式語法variable=expression賦值表達(dá)式的結(jié)果等于表達(dá)式的值。賦值表達(dá)式是右結(jié)合的。例如:i=j=k=1;等價于k=1;j=k;i=j;第8頁/共28頁同時完成變量聲明和初始化語法datatypevariable=expression;例如:intx=1;intx=1,y=2;方法中的變量在使用前必須賦值。intx,y;y=x+1;//error第9頁/共28頁常量常量(constant)是一旦初始化后就不能再改變的數(shù)據(jù)。語法finaldatatypeCONSTANT_NAME=value;例如:finaldoublePI=3.14159;使用常量的好處避免重復(fù)輸入便于程序修改便于程序閱讀第10頁/共28頁Java數(shù)據(jù)類型基本類型邏輯類型byteshortintlong整數(shù)類型浮點類型floatdoublechar引用類型類(class)接口(interface)數(shù)組(array)boolean字符類型數(shù)據(jù)類型第11頁/共28頁數(shù)值數(shù)據(jù)類型整數(shù)byte 8位帶符號整數(shù)(-128到127)short 16位帶符號整數(shù)(-32768到32767)int 32位帶符號整數(shù)(-2147483648到2147483647)long 64位帶符號整數(shù)(-9223372036854775808到

9223372036854775807)浮點數(shù)float 32位浮點數(shù)(負(fù)數(shù)-3.4×1038到-1.4×10-45

正數(shù)1.4×10-45到3.4×1038)double 64位浮點數(shù)(負(fù)數(shù)-1.8×10308到-4.9×10-324

正數(shù)

4.9×10-324到1.8×10308)第12頁/共28頁數(shù)字操作符加(+)、減(-)、乘(*)、除(/)、求余(%)inta=34+1; //35doubleb=34.0–0.1; //33.9longc=300*30; //9000doubled=1.0/2.0; //0.5inte=1/2; //0bytef=20%3; //2整數(shù)相除的結(jié)果還是整數(shù),省略小數(shù)部分。inti=5/2 //2intj=-5/2 //-2Example:DisplayTime.java第13頁/共28頁數(shù)字字面值字面值是直接出現(xiàn)在程序中的常量值。inti=34;longk=100000;整數(shù)字面值以0開頭表示八進(jìn)制,如035;以0x或0X開頭表示十六進(jìn)制,如0x1D,0X1d;以1-9開頭表示十進(jìn)制,如29后綴字母:以l或L結(jié)尾表示long類型,如29L;其它表示int類型。浮點數(shù)字面值浮點數(shù)是包含小數(shù)點的十進(jìn)制數(shù),后跟可選的指數(shù)部分。如

18.1.8e1.18E2后綴字母:以d或D結(jié)尾或者無后綴表示double類型;以f或F結(jié)尾表示float類型第14頁/共28頁表達(dá)式計算先算括號,先乘除,后加減計算:3+4*4>5*(4+3)-13+4*4>5*(4+3)-13+4*4>5*7–13+16>5*7–13+16>35–119>35–119>34falseExample:FahrenheitToCelsius.java第15頁/共28頁例

顯示當(dāng)前時間編寫程序,顯示當(dāng)前的格林威治標(biāo)準(zhǔn)時間(GreenwichMeridianTime,GMT),格式為:時:分:秒Example:ShowCurrentTime.java第16頁/共28頁簡捷運算符常用簡潔運算符操作符 舉例 等價于

+= i+=8 i=i+8 -= f-=8.0 f=f-8.0 *= i*=8 i=i*8 /= i/=8 i=i/8 %= i%=8 i=i%8遞增和遞減運算符:++,--前綴表示先加(減)1后使用后綴表示先使用后加(減)1第17頁/共28頁數(shù)字類型轉(zhuǎn)換如果二元操作符的兩個操作數(shù)的數(shù)據(jù)類型不同,那么根據(jù)下面的規(guī)則對操作數(shù)進(jìn)行轉(zhuǎn)換:如果有一個操作數(shù)是double類型,另一個操作數(shù)轉(zhuǎn)換為double類型。否則,如果有一個操作數(shù)是float類型,另一個操作數(shù)轉(zhuǎn)換為float類型。否則,如果有一個操作數(shù)是long類型,另一個操作數(shù)轉(zhuǎn)換為long類型。否則,兩個操作數(shù)都轉(zhuǎn)換為int類型。bytei=100;longk=i*3+4;doubled=i*3.1+k/2;第18頁/共28頁強(qiáng)制類型轉(zhuǎn)換將值賦值給較大取值范圍的變量時,自動進(jìn)行類型轉(zhuǎn)換。byte→short→int→long→float→double將值賦值給較小取值范圍的變量時,必須使用強(qiáng)制類型轉(zhuǎn)換(typecasting)。語法

(datatype)variableName

例如:

floatf=(float)10.1; //10.1 inti=(int)f; //10 intj=(int)-f; //-10第19頁/共28頁注意整數(shù)操作時,除數(shù)不能為0。整數(shù)除0產(chǎn)生ArithmeticException異常。浮點數(shù)操作上溢至Infinity,下溢至0。浮點數(shù)除0等于Infinity。0.0除0.0等于NaN第20頁/共28頁例

計算還貸金額用戶輸入利率、年數(shù)、貸款總額,程序計算每月分期付款金額和總金額。每月分期付款計算公式:Example:ComputeLoan.java第21頁/共28頁例

整錢兌零編寫程序,把給定的錢數(shù)分成較少的貨幣單位??捎玫呢泿艈挝粸椋篸ollar(1元)quarter(2角5分)dime(1角)nickel(5分)penny(1分)Example:ComputeChange.java第22頁/共28頁字符數(shù)據(jù)類型char表示16位的單個Unicode字符。char類型的字面值以兩個單引號界定的單個Unicode字符。如:'男','女'可以用\uxxxx形式表示。如:'\u7537','\u5973'轉(zhuǎn)義字符表示:\n\t\b\r\f\\\'\"例如:charletter='A';charnumChar='4';Example:DisplayUnicode.java第23頁/共28頁字符串String表示一個字符序列。字符串的字面值是由雙引號界定的零個或多個字符。 "Welcomtojava!" ""連接運算:+,+=加號用于連接兩個字符串。如果其中一個不是字符串,則先將該操作數(shù)轉(zhuǎn)換成字符串,再執(zhí)行連接操作。Stringmessage="Welcome"+"to"+"java";//WelcometoJavaStrings="Chapter"+2;//Chapter2Strings1+="Supplement"+'B';//SupplementBmessage+="andJavaisfun";//WelcometoJavaandJavaisfunSystem.out.println("i+j="+i+j);第24頁/共28頁編程風(fēng)格良好的編程風(fēng)格有利于減少錯誤,產(chǎn)生容易閱讀、易于理解的代碼。注釋類和方法前使用文檔注釋方法步驟前使用行注釋。命名變量和方法名使用小寫,如果有多個單詞,第一個單詞首字母小寫,其它單詞首字母大寫。類名的每個單詞的首字母大寫。常量使用大寫,單詞間以下劃線分隔??s進(jìn)、空格、塊樣式(在eclipse中使用ctrl+shift+f)第25頁/共28頁編程錯誤語法錯誤(syntaxerror)在編譯過程中產(chǎn)生的錯誤。運行時錯誤(runtimeerror)導(dǎo)致程序非正常終止的錯誤。邏輯錯誤(logicerror)程序不能按預(yù)期的方式執(zhí)行。Example:ShowSynt

溫馨提示

  • 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

提交評論