第3章基本語(yǔ)法_第1頁(yè)
第3章基本語(yǔ)法_第2頁(yè)
第3章基本語(yǔ)法_第3頁(yè)
第3章基本語(yǔ)法_第4頁(yè)
第3章基本語(yǔ)法_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第 3章 基本語(yǔ)法 Java程序的結(jié)構(gòu) 在命令行模塊下與程序交互 數(shù)據(jù)與運(yùn)算 流程控制 關(guān)鍵字工作場(chǎng)景 WF蛋糕店每天都能烤出各種各樣的蛋糕,每種蛋糕都有不同的屬性,比如價(jià)格、重量等,在計(jì)算時(shí),需要為其賦予相應(yīng)的數(shù)值。蛋糕店還會(huì)舉行促銷活動(dòng),當(dāng)顧客購(gòu)足一定重量的蛋糕時(shí),就能獲得一定的折扣。3.2 Java程序的結(jié)構(gòu) 解釋第一個(gè)Java程序 打印報(bào)表時(shí),蛋糕店的收銀系統(tǒng)需要輸出蛋糕的各種屬性,如價(jià)格、重量或名稱,在需要調(diào)整的前提下,做相應(yīng)地修改。 根據(jù)以上任務(wù)構(gòu)造一個(gè)簡(jiǎn)單類。3.2 Java程序的結(jié)構(gòu) 解釋第一個(gè)Java程序構(gòu)造一個(gè)Java程序的步驟: 構(gòu)造一個(gè)類及其屬性和方法; 創(chuàng)建 main

2、()方法; 調(diào)用類的方法; 檢查運(yùn)行結(jié)果。 3.2 Java程序的結(jié)構(gòu) 為程序加入注釋 為了增強(qiáng)代碼的可讀性,需要給方法或變量增加注釋來標(biāo)明代碼功能。 注釋形式: “/”單行注釋。表示從此向后,直到行尾都 是注釋。 “/*/”塊注釋。在“/*”和“*/”之間都是注釋,塊注釋不能嵌套。 “/*/”文檔注釋。所有在“/*”和“*/”之間的內(nèi)容可以用來自動(dòng)形成文檔。3.3 在命令行模塊下與程序互動(dòng) WF蛋糕店每天的工作量很大,而且大部分是重復(fù)工作,需要借助Java的交互機(jī)制,與用戶進(jìn)行友好交互,指導(dǎo)員工順利完成工作。3.3 在命令行模塊下與程序互動(dòng) 使用Scanner取得輸入 創(chuàng)建一個(gè)Scanner

3、工具,如下:Scanner scanner = new Scanner(System.in);Scanner.next();next()語(yǔ)句取得使用者的輸入字符串 3.3 在命令行模塊下與程序互動(dòng) 使用BufferedReader取得輸入應(yīng)用如下:BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in);System.out.print(請(qǐng)輸入冰淇淋蛋糕的重量(磅): );String strWeight = bufferedReader.readLine();3.3 在命令行模塊下與

4、程序互動(dòng) 輸出格式控制 在記錄銷售量時(shí)是以磅為單位,通常采用一位小數(shù),當(dāng)計(jì)算的結(jié)果小數(shù)部分超過了一位或更多位時(shí),就控制輸入的格式。3.3 在命令行模塊下與程序互動(dòng) 常用格式控制字符控制字符作 用反斜線單引號(hào)雙引號(hào)uxxxx以十六進(jìn)制數(shù)指定Unicode字符輸出dxxx以八進(jìn)制數(shù)指定Unicode字符輸出b倒退一個(gè)字符f換頁(yè)n換行r光標(biāo)移至行首t跳格(一個(gè)Tab鍵)3.3 在命令行模塊下與程序互動(dòng) 常用格式轉(zhuǎn)換字符 轉(zhuǎn)換字符作用% 在字符串中顯示%d 以十進(jìn)制整數(shù)方式輸出,提供的數(shù)必須是Byte、Short、 Integer、Long或BigInteger%f 將浮點(diǎn)數(shù)以十進(jìn)制方式輸出,提供的數(shù)

5、必須是Float、Double或 BigDecimal%e, %E 將浮點(diǎn)數(shù)以十進(jìn)制方式輸出,并使用科學(xué)記數(shù)法,提供的數(shù)必須是Float、 Double或BigDecimal%a, %A 使用科學(xué)記數(shù)法輸出浮點(diǎn)數(shù),以十六進(jìn)制輸出整數(shù)部分,以十進(jìn)制輸出指數(shù)部分,提供的數(shù)必須是Float、Double、BigDecimal%o以八進(jìn)制整數(shù)方式輸出,提供的數(shù)必須是Byte、Short、Integer、Long或BigInteger%x, %X將浮點(diǎn)數(shù)以十六進(jìn)制方式輸出,提供的數(shù)必須是Byte、Short、Integer、Long、或BigInteger%s, %S將字符串格式化輸出 %c, %C以字

6、符方式輸出,提供的數(shù)必須是Byte、Short、Character或 Integer %b, %B將true或false輸出(或TRUE、FALSE,使用 %B)。另外,非null值輸出是true,null值輸出是false%t, %T輸出日期/時(shí)間的前置,詳情請(qǐng)看在線API文件3.4 數(shù)據(jù)與運(yùn)算 創(chuàng)建變量與構(gòu)建運(yùn)算表達(dá)式是進(jìn)行數(shù)據(jù)處理的基礎(chǔ),本節(jié)主要介紹Java的數(shù)據(jù)類型、變量定義、各種運(yùn)算符,以及相關(guān)數(shù)據(jù)類型之間轉(zhuǎn)換和運(yùn)算的優(yōu)先級(jí)等。3.4 數(shù)據(jù)與運(yùn)算 數(shù)據(jù)類型 在描述蛋糕時(shí),主要有重量、價(jià)格等信息,那么,若要把這些信息表示出來,應(yīng)該是什么類型呢? 結(jié)果:重量是float型、價(jià)格是floa

7、t型。3.4 數(shù)據(jù)與運(yùn)算 整型 整型是那些沒有小數(shù)部分的數(shù)據(jù)類型,它又分為下列不同的整數(shù)數(shù)據(jù)類型:byte、short、int和long。3.4 數(shù)據(jù)與運(yùn)算 浮點(diǎn)型 浮點(diǎn)型是帶有小數(shù)部分的數(shù)據(jù)類型,也叫實(shí)型。Java包括兩種不同的實(shí)型:float和double。3.4 數(shù)據(jù)與運(yùn)算 字符型和字符串型 字符類型是用于單個(gè)的字符,比如字母、數(shù)字、標(biāo)點(diǎn)符號(hào)和其他符號(hào)。 Java使用java.lang包中的String類來創(chuàng)建一個(gè)字符串變量,所以字符串變量是類類型變量。可用于存儲(chǔ)單個(gè)或多個(gè)字符。 3.4 數(shù)據(jù)與運(yùn)算 邏輯型 邏輯型即boolean型,用于表達(dá)兩個(gè)邏輯狀態(tài)之一的值:true(真)或fals

8、e(假)。Java規(guī)定不可將boolean看成整型值。3.4 數(shù)據(jù)與運(yùn)算 常量 常量是指在程序運(yùn)行過程中其值不變的量。常量在表達(dá)式中用文字串表示,它區(qū)分不同類型。 100、-15屬整型常量,12.1f屬實(shí)型常量,y 屬字符常量,true屬邏輯常量,”Test” 屬字符串類型常量。 3.4 數(shù)據(jù)與運(yùn)算 變量 在描述一個(gè)蛋糕時(shí),主要有編號(hào)、名稱、重量、價(jià)格、金額等信息,請(qǐng)要把這些因素作為變量定義出來。結(jié)果如下: Sting cakeCode; Sting cakeName; float price; float weight; float saleSum;3.4 數(shù)據(jù)與運(yùn)算 算術(shù)運(yùn)算 在前面給出了

9、巧克力蛋糕價(jià)格和銷售量,如果蛋糕店為了促銷,給出巧克力蛋糕的八折的折扣,現(xiàn)在需要計(jì)算這種蛋糕的一次銷售金額。 結(jié)果如下: float saleSum; saleSum=weight*price*0.8;3.4 數(shù)據(jù)與運(yùn)算 基本算術(shù)運(yùn)算運(yùn)算符含義例子+加7+9減6-3乘5*5/除7/2取余7%2運(yùn)算符介紹如下:3.4 數(shù)據(jù)與運(yùn)算 比較與條件運(yùn)算 WF蛋糕店為了提高蛋糕的銷量,規(guī)定根據(jù)購(gòu)買量制定不同的價(jià)格:購(gòu)買量低于2磅的一律為原價(jià),大于等于2磅,價(jià)格為40。 結(jié)果: price=weight)、左移()。 3.4 數(shù)據(jù)與運(yùn)算 遞增與遞減運(yùn)算 在循環(huán)統(tǒng)計(jì)蛋糕的交易數(shù)量時(shí),需保存統(tǒng)計(jì)數(shù),以便日后查詢

10、。 結(jié)果: int i=0; /i表示當(dāng)前已統(tǒng)計(jì)的數(shù)量 i+; /用于自動(dòng)加1操作 遞增遞減是從一個(gè)整數(shù)變量上增加或減小1,其中遞增運(yùn)算符是“+”,遞減運(yùn)算符是“-”。3.4 數(shù)據(jù)與運(yùn)算 運(yùn)算的優(yōu)先級(jí) 表達(dá)式的運(yùn)算次序取決于表達(dá)式中各種運(yùn)算符的優(yōu)先級(jí)。優(yōu)先級(jí)高的先運(yùn)算,優(yōu)先級(jí)低的后運(yùn)算,另外還可用括號(hào)“()”改變表達(dá)式的運(yùn)算次序。3.5 流程控制 if條件語(yǔ)句 以冰淇淋蛋糕為例,根據(jù)顧客購(gòu)買的蛋糕重量,給予不同的折扣,并算出實(shí)際的應(yīng)付金額。 折扣說明如下: 當(dāng)重量大于等于2磅,小3磅時(shí),打9折; 當(dāng)重量大于等于3磅時(shí),打8折。 冰淇淋蛋糕的價(jià)格:50元/磅 重量:最小為1磅,每0.5磅為一個(gè)遞

11、增單位,如2.5磅、3.5磅、4磅。3.5 流程控制 if條件語(yǔ)句以上例子用if條件語(yǔ)句實(shí)現(xiàn):float price, weight;price = 50.0f;if(weight = 2 & weight = 3)price = (float)(price * 0.8); 3.5 流程控制 switch 條件語(yǔ)句 WF蛋糕店在記錄蛋糕銷售時(shí),只記錄編號(hào),而非中文名稱,故編號(hào)和蛋糕間存在一一對(duì)應(yīng)的關(guān)系,方便了蛋糕店的日常事務(wù)記錄。根據(jù)不同的蛋糕編號(hào),應(yīng)用switch語(yǔ)句可以實(shí)現(xiàn),可以知道不同的蛋糕名稱。 3.5 流程控制 for循環(huán)語(yǔ)句 假設(shè)蛋糕店某天的日銷售額為5000元,接下來的9

12、天里,日銷售額以每天10%的速度增長(zhǎng),請(qǐng)計(jì)算這10天總的銷售額。 應(yīng)用如下: for(int n = 1 ; n 10 ; n+)sum = (float)(sum * 1.1);System.out.println(第 + ( n+1 )+ 天銷售額為 + sum + 元);sumAll = sumAll + sum; 3.5 流程控制 while循環(huán)語(yǔ)句 示例內(nèi)容與for語(yǔ)句相同,現(xiàn)在應(yīng)用while循環(huán)語(yǔ)句來實(shí)現(xiàn)。 int n = 1;while(n 10)sum = (float)(sum * 1.1);System.out.println(第 + ( n+1 )+ 天銷售額為 + su

13、m + 元);sumAll = sumAll + sum;n+;3.5 流程控制 do_while循環(huán)語(yǔ)句 示例內(nèi)容與for語(yǔ)句相同,現(xiàn)在應(yīng)用do_while循環(huán)語(yǔ)句來實(shí)現(xiàn)。 int n = 1;dosum = (float)(sum * 1.1);System.out.println(第 + ( n+1 )+ 天銷售額為 + sum + 元);sumAll = sumAll + sum;n+;while(n 10);3.5 流程控制 break與continue 為了收銀方便,要求能夠計(jì)算出某一顧客的總交易額,只要輸入每份蛋糕的金額就能自動(dòng)累加到這個(gè)客戶的應(yīng)付款中,最后輸出該顧客的應(yīng)付款,為

14、了避免操作人員的輸入出錯(cuò),需要增加更正功能。3.5 流程控制 break與continuebreak與continue應(yīng)用:if (result.equals(c) saleSum = saleSum + saleEvery;continue;if (result.equals(e) break; 3.5 流程控制 continue【語(yǔ)法】continue語(yǔ)法 continue標(biāo)號(hào); 其中, 用“”括起的標(biāo)號(hào)部分是可選的。 continue語(yǔ)句只能在循環(huán)語(yǔ)句中使用。 它和break語(yǔ)句的區(qū)別是:continue語(yǔ)句只結(jié)束本次循環(huán),而不是終止整個(gè)循環(huán)的執(zhí)行;而break語(yǔ)句則是結(jié)束整個(gè)循環(huán)語(yǔ)句的

15、執(zhí)行。 continue語(yǔ)句通常有兩種使用情況:(1)不帶標(biāo)號(hào)的情況(2)帶標(biāo)號(hào)的情況3.5 流程控制 break 【語(yǔ)法】break語(yǔ)法 break標(biāo)號(hào); 其中, 用“ ”括起來的標(biāo)號(hào)部分是可選的。 break語(yǔ)句不能用于循環(huán)語(yǔ)句和switch語(yǔ)句之外的其他任何語(yǔ)句中。 break語(yǔ)句通常有兩種使用情況: (1)不帶標(biāo)號(hào)的情況。 (2)帶標(biāo)號(hào)的情況。3.6 關(guān)鍵字 關(guān)鍵字又稱保留字,是Java預(yù)定義的標(biāo)識(shí)符,這些標(biāo)識(shí)符都具有特定的含義。如下: abstractDoubleintstringbooleanelseinterfaceSuperbreakextendslongswitchbytefinalnativesynchronizedcasefinallynewthiscatchfloatpackagethrowcharforprivatethrowsclassgotoprotectedtransientconstifpublictryconti

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論