第4章打折計價——邏輯值及分支結(jié)構(gòu)_第1頁
第4章打折計價——邏輯值及分支結(jié)構(gòu)_第2頁
第4章打折計價——邏輯值及分支結(jié)構(gòu)_第3頁
第4章打折計價——邏輯值及分支結(jié)構(gòu)_第4頁
第4章打折計價——邏輯值及分支結(jié)構(gòu)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、內(nèi)容介紹 4.1 任務(wù)預(yù)覽 4.2 邏輯值 4.3 關(guān)系運(yùn)算符與關(guān)系表達(dá)式 4.4 邏輯運(yùn)算符與邏輯表達(dá)式 4.5 程序基本控制結(jié)構(gòu) 4.6 if語句 4.7 switch(多分支)語句 4.8 三目條件運(yùn)算符 4.9 本章小結(jié) 4.10 實(shí)訓(xùn)4:打折計價、顯示星座、判斷成績等級4.1 任務(wù)預(yù)覽 本章實(shí)訓(xùn)程序運(yùn)行結(jié)果: 4.2 邏輯值 關(guān)鍵字true和false是邏輯值,也稱邏輯常量。 具有邏輯值的類型稱為boolean型(布爾型),即邏輯型。 聲明邏輯變量的語法: boolean 變量表;【例4-1】編寫測試邏輯值程序。public class Example1 public static

2、void main(String args) boolean weatherClearness = true;System.out.println(天氣晴朗嗎? + weatherClearness);weatherClearness = false;System.out.println(現(xiàn)在天氣晴朗嗎? + weatherClearness);4.3 關(guān)系運(yùn)算符與關(guān)系表達(dá)式 關(guān)系運(yùn)算符有6個: = = != 關(guān)系表達(dá)式:由關(guān)系運(yùn)算符構(gòu)成的表達(dá)式,運(yùn)算結(jié)果為邏輯值 。關(guān)系運(yùn)算符名稱與含義關(guān)系表達(dá)式例子結(jié)果(設(shè)int age=18)小于age 大于age 6true=小于或等于age =大于或等

3、于age = 28false=等于age = 60false!=不等于age != 3true4.4 邏輯運(yùn)算符與邏輯表達(dá)式 條件邏輯運(yùn)算符&和|應(yīng)用最多,它們均具備“短路求值”特性。邏輯運(yùn)算符名稱含義邏輯表達(dá)式例子結(jié)果(設(shè)int age =18)!邏輯非邏輯非一元運(yùn)算符。真變假,一元運(yùn)算符。真變假,假變真假變真! (age 35)! (age 6 & age 6 & age = 18 age = 18 age = 28age = 18 | age = 28age 60age 60truetruefalsefalse&條件條件邏輯與邏輯與含義同含義同&

4、&,但當(dāng)左操作,但當(dāng)左操作數(shù)為假,不用算右數(shù)為假,不用算右操作數(shù)的值,直接操作數(shù)的值,直接得出假結(jié)果得出假結(jié)果age 6 & age 6 & age = 28age = 18 | age = 28age 60age 60true | age = 80true | age = 80truetruefalsefalsetruetrue 4.5 程序基本控制結(jié)構(gòu) 4.5.1 順序結(jié)構(gòu) 有3種基本控制結(jié)構(gòu):順序、分支和循環(huán)結(jié)構(gòu)。 順序結(jié)構(gòu)按從上到下的順序逐條執(zhí)行語句。 順序結(jié)構(gòu)的程序流程圖: 4.5.2 分支結(jié)構(gòu) 分支結(jié)構(gòu)(選擇結(jié)構(gòu)):一般由兩個分支組成。 “單分支”結(jié)構(gòu):第二

5、個分支為空。 多分支結(jié)構(gòu):分支結(jié)構(gòu)嵌套而產(chǎn)生。 條件(表達(dá)式)是返回邏輯值的關(guān)系或邏輯表達(dá)式。4.5.3 循環(huán)結(jié)構(gòu) 有兩種循環(huán)結(jié)構(gòu): 第一種是先判斷條件,如條件不滿足,則不執(zhí)行循環(huán)體;條件滿足,才執(zhí)行循環(huán)體。 第二種先執(zhí)行循環(huán)體,再判斷條件,條件滿足,繼續(xù)執(zhí)行循環(huán)體。因此,第二種循環(huán)結(jié)構(gòu)至少要執(zhí)行一次循環(huán)體。 4.6 if語句 if-else,簡稱if(如果)語句。語法形式:if (條件表達(dá)式) 代碼塊1else 代碼塊2 if語句也可以沒有else子句(“單分支”結(jié)構(gòu)):if (條件表達(dá)式) 代碼塊【例4-2】編寫打折計價程序,購物2000元以上打8折。 import java.util.*

6、; Scanner scan = new Scanner(System.in);double price, discount;System.out.println(請輸入購買商品的總價:);price = scan.nextDouble();if (price=2000) discount = price * 0.8; else / 相當(dāng)于 price=2000) discount = 0.8;else if (price=1000) discount = 0.85; else if (price=500) discount = 0.9; else if (price0) discount =

7、 1; else System.out.println(輸入數(shù)據(jù)有問題。);return;discPrice = price * discount; System.out.printf(%.2f折,折扣價為¥%.2f, discount, discPrice); 【例4-4】編程:根據(jù)年收入來決定生活水平。 Scanner scan = new Scanner(System.in);System.out.println(請輸入年薪(單位萬元):);double income = scan.nextDouble();if (income=20) System.out.println(可(按揭)購

8、房); else if (income=10) System.out.println(能購買汽車);else if (income=5) System.out.println(可保障衣食無憂); else if (income=2) System.out.println(能維持溫飽); else if (income=1) System.out.println(只能勉強(qiáng)度日); else System.out.println(生活在水深火熱之中); . 4.7 switch(多分支)語句 引子【例4-5】使用if嵌套語句編程,根據(jù)輸入的數(shù)字,輸出星期數(shù)。Scanner scan = new S

9、canner(System.in);System.out.println(請輸入代表星期幾的數(shù)字:);int num = scan.nextInt();if ( num = 0) System.out.println(代表:星期日); else if (num = 1) System.out.println(代表:星期一); else if (num = 2) System.out.println(代表:星期二); else if (num = 3) System.out.println(代表:星期三); else if (num = 4) System.out.println(代表:星期四)

10、; else if (num = 5) System.out.println(代表:星期五); else if (num = 6) System.out.println(代表:星期六); else System.out.println(輸入內(nèi)容超出范圍!); 【例4-6】使用switch語句編程,根據(jù)輸入的數(shù)字,輸出星期數(shù)。 int num = scan.nextInt();switch (num)case 0:System.out.println(代表:星期日); break;case 1:System.out.println(代表:星期一); break;case 2:System.out

11、.println(代表:星期二); break;case 3:System.out.println(代表:星期三); break;case 4:System.out.println(代表:星期四); break;case 5:System.out.println(代表:星期五); break;case 6:System.out.println(代表:星期六); break;default:System.out.println(輸入內(nèi)容超出范圍!); 多分支語句switch語法形式 switch (離散型表達(dá)式) case 常量1: 語句組1 break; case 常量2: 語句組2 brea

12、k; . case 常量n: 語句組n break; default: 語句組n+1 注意:switch語句表達(dá)式類型只能是byte、short、int、char或enum(枚舉類型),不允許double和float,也不允許String類型。4.8 三目條件運(yùn)算符 表達(dá)式形式: 條件表達(dá)式 ? 表達(dá)式1 : 表達(dá)式2例如: price = 2000 ? price * 0.8 : price;【例4-7】使用三目條件運(yùn)算符實(shí)現(xiàn)例4-3的商品打折計價。 double price, discount, discPrice; price = scan.nextDouble();discount =

13、 price=2000 ? 0.8 :price=1000 ? 0.85 :price=500 ? 0.9 :price0 ? 1: 0;if (discount = 0)System.out.println(輸入數(shù)據(jù)有問題。);else discPrice = price * discount; System.out.printf(%.2f折,折扣價為¥%.2f, discount, discPrice); 4.9 本章小結(jié) 邏輯值只有兩個:true和false。關(guān)系表達(dá)式和邏輯表達(dá)式的運(yùn)算結(jié)果都是邏輯值,它們可用于if語句作條件表達(dá)式。 程序有3種基本控制結(jié)構(gòu):順序、分支和循環(huán)結(jié)構(gòu)。 使用最多的分支結(jié)構(gòu)語句是if語句,該語句有兩個分支,但通過嵌套,可構(gòu)成多個分支。 除if語句外,還有多分支語句switch,用于有多個離散型數(shù)據(jù)的分支情況。 關(guān)于多值賦值,也可使用(嵌套的)三目條件運(yùn)算符解決。4.10 實(shí)訓(xùn)4:打折計價、顯示星座、判斷成績等級 (1)使用嵌套if語句編寫打折計價程序:購買商品總價2000元以上,打8折;1000元以上,打8.5折;500元以上,打9折;100元以上,打9.5折;不到100元,不打折。 (2)使用sw

溫馨提示

  • 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

提交評論