Java程序設(shè)計(jì)基礎(chǔ)項(xiàng)目化教程 課件全套 丁文 01程序入門;02語(yǔ)法基礎(chǔ)-06 面向?qū)ο缶幊袒A(chǔ)_第1頁(yè)
Java程序設(shè)計(jì)基礎(chǔ)項(xiàng)目化教程 課件全套 丁文 01程序入門;02語(yǔ)法基礎(chǔ)-06 面向?qū)ο缶幊袒A(chǔ)_第2頁(yè)
Java程序設(shè)計(jì)基礎(chǔ)項(xiàng)目化教程 課件全套 丁文 01程序入門;02語(yǔ)法基礎(chǔ)-06 面向?qū)ο缶幊袒A(chǔ)_第3頁(yè)
Java程序設(shè)計(jì)基礎(chǔ)項(xiàng)目化教程 課件全套 丁文 01程序入門;02語(yǔ)法基礎(chǔ)-06 面向?qū)ο缶幊袒A(chǔ)_第4頁(yè)
Java程序設(shè)計(jì)基礎(chǔ)項(xiàng)目化教程 課件全套 丁文 01程序入門;02語(yǔ)法基礎(chǔ)-06 面向?qū)ο缶幊袒A(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩232頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Java程序設(shè)計(jì)基礎(chǔ)項(xiàng)目化課程

第一章:Java入門準(zhǔn)備認(rèn)真聽講,做好筆記完成上機(jī)練習(xí)或項(xiàng)目案例即使看不懂也要堅(jiān)持看完及時(shí)總結(jié),完成學(xué)生用書和學(xué)習(xí)平臺(tái)布置的作業(yè)多瀏覽技術(shù)論壇、博客,獲取他人的開發(fā)經(jīng)驗(yàn)課前瀏覽預(yù)習(xí)作業(yè),帶著問題讀學(xué)生用書,并記錄疑問提前將下一章的示例自己動(dòng)手做一遍,記下問題課上課后學(xué)習(xí)準(zhǔn)備本章任務(wù)編寫Java程序,實(shí)現(xiàn)樂GO購(gòu)物管理登陸界面和系統(tǒng)功能界面演示。如下如所示:學(xué)習(xí)目標(biāo)了解Java的發(fā)展歷史與特點(diǎn)會(huì)使用記事本開發(fā)簡(jiǎn)單Java程序會(huì)使用輸出語(yǔ)句在控制臺(tái)輸出信息熟悉Eclipse開發(fā)環(huán)境JAVA介紹與開發(fā)環(huán)境搭建01Java發(fā)展歷史01Java語(yǔ)言的特點(diǎn)02Java開發(fā)環(huán)境搭建與配置03CONTENTS目錄Java發(fā)展歷史01CONTENTS目錄Java是什么?Java是SunMicrosystems于1995年推出的高級(jí)編程語(yǔ)言Java領(lǐng)域的JavaSE、JavaEE技術(shù)已發(fā)展成為同C#和.NET平分天下的應(yīng)用軟件開發(fā)平臺(tái)和技術(shù)PK.PK.Java做什么?

銀行軟件、商場(chǎng)結(jié)算軟件開發(fā)桌面應(yīng)用程序網(wǎng)上數(shù)碼商城、阿里巴巴、易趣網(wǎng)開發(fā)面向Internet的應(yīng)用程序041997年11月國(guó)際標(biāo)準(zhǔn)化組織正式批準(zhǔn)了Sun等公司提出的Java標(biāo)準(zhǔn),標(biāo)志著Java語(yǔ)言的成熟。011991年成立Green-Teem項(xiàng)目小組,領(lǐng)導(dǎo)人是JamesGosling,開發(fā)一種新的語(yǔ)言oak,這個(gè)設(shè)計(jì)小組的主要目標(biāo)是要發(fā)展一種分散式系統(tǒng)架構(gòu),使其能在消費(fèi)性電子產(chǎn)品作業(yè)平臺(tái)上執(zhí)行。例如PDA、手機(jī)、資訊家電等。021995年5月HotJava瀏覽器發(fā)布031996年初Java1.0版正式發(fā)布Java的出生1998SUN公司發(fā)布了JDK1.020002002200420062010201120141995SUN公司發(fā)布了JDK1.3SUN公司發(fā)布了Java2平臺(tái)Java的企業(yè)版JDK1.4J2SDK1.5發(fā)布JDK1.6發(fā)布sun被oracle并購(gòu)發(fā)布了改進(jìn)版的JDK1.7JDK1.8版本發(fā)布Java的發(fā)展歷程Java發(fā)展歷史01Java語(yǔ)言的特點(diǎn)02Java開發(fā)環(huán)境搭建與配置03CONTENTS目錄Java語(yǔ)言的特點(diǎn)02CONTENTS目錄Java語(yǔ)言風(fēng)格特點(diǎn)Java語(yǔ)言的風(fēng)格很像C語(yǔ)言和

C++

語(yǔ)言,是一種純粹的面向?qū)ο笳Z(yǔ)言,它繼承了C++語(yǔ)言面向?qū)ο蟮募夹g(shù)核心,但是拋棄了C++的一些缺點(diǎn),比如說容易引起錯(cuò)誤的指針以及多繼承等,同時(shí)也增加了垃圾回收機(jī)制,釋放掉不被使用的內(nèi)存空間,解決了管理內(nèi)存空間的煩惱。Java語(yǔ)言是一種分布式的面向?qū)ο笳Z(yǔ)言,具有面向?qū)ο?、平臺(tái)無關(guān)性、簡(jiǎn)單性、解釋執(zhí)行、多線程、安全性等很多特點(diǎn)。Java發(fā)展歷史01Java語(yǔ)言的特點(diǎn)02Java開發(fā)環(huán)境搭建與配置03CONTENTS目錄Java開發(fā)環(huán)境搭建與配置03CONTENTS目錄Java開發(fā)環(huán)境搭建與配置下載安裝JDK12配置JDK環(huán)境變量JDK下載與安裝在Oracle公司的官方網(wǎng)站進(jìn)行下載。獲取JDK安裝包JDK是一種用于構(gòu)建在Java平臺(tái)上發(fā)布的應(yīng)用程序、Applet和組件的開發(fā)環(huán)境,即編寫Java程序必須使用JDK,它提供了編譯和運(yùn)行Java程序的環(huán)境。bin:提供JDK工具程序,包括javac、java、javadoc、appletviewer等可執(zhí)行程序。include:存放用于本地訪問的文件。jre:存放Java運(yùn)行環(huán)境文件。lib:存放Java的類庫(kù)文件,工具程序?qū)嶋H上使用的是Java類庫(kù)。JDK中的工具程序,大多也由Java編寫而成。src.zip:Java提供的API類的源代碼壓縮文件。如果需要查看API的某些功能是如何實(shí)現(xiàn)的,可以査看這個(gè)文件中的源代碼內(nèi)容。JDK安裝JDK環(huán)境配置1234JDK安裝完成后,可以測(cè)試其是否能夠正常運(yùn)行。在對(duì)話框中輸入cmd命令,按以管理員身份進(jìn)入到DOS環(huán)境下。在命令提示符后輸入并執(zhí)行javac命令,系統(tǒng)如果輸出“javac不是內(nèi)部或外部命令”信息,代表此時(shí)我們需要進(jìn)行相關(guān)的環(huán)境配置,使得java的可執(zhí)行程序在任何目錄下都可有效執(zhí)行。JDK環(huán)境變量配置操作

開發(fā)Java程序1、編寫源程序2、編譯源程序3、運(yùn)行三步走使用記事本開發(fā)Java程序步驟二使用javac命令編譯.java文件,生成.class文件步驟一使用記事本編輯源程序,以.java為后綴名保存步驟三使用java命令運(yùn)行.class文件,輸出程序結(jié)果publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!!!"); }}任務(wù)實(shí)現(xiàn)要求用記事本編寫一個(gè)Java程序,實(shí)現(xiàn)用戶登錄購(gòu)物系統(tǒng)成功的提示信息;編譯并運(yùn)行該程序需求說明Java的記事本開發(fā)流程Java程序的編譯和執(zhí)行訓(xùn)練要點(diǎn)記事本編寫java程序編譯執(zhí)行實(shí)現(xiàn)思路用記事本編寫一個(gè)Java程序,要求實(shí)現(xiàn)用戶登錄購(gòu)物系統(tǒng)成功的提示信息。第一個(gè)Java程序02Java程序結(jié)構(gòu)01Java輸出語(yǔ)句02Java程序注釋與編碼規(guī)范03CONTENTS目錄eclipse開發(fā)Java程序04Java程序結(jié)構(gòu)01CONTENTS目錄Java程序結(jié)構(gòu)publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("HelloWorld!!!");}}publicclassHelloWorld{

publicstaticvoidmain(String[]args){System.out.println("HelloWorld!!!");}}外層框架Java入口程序框架編寫代碼Java程序的結(jié)構(gòu)語(yǔ)法27/47publicclassHelloWorld{

publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!!!"); }}Java程序的結(jié)構(gòu)關(guān)鍵字類名與文件名完全一樣main()方法是Java程序執(zhí)行的入口點(diǎn){和}一一對(duì)應(yīng),缺一不可main()方法四要素必不可少?gòu)目刂婆_(tái)輸出信息分析28/47Java程序結(jié)構(gòu)01Java輸出語(yǔ)句02Java程序注釋與編碼規(guī)范03CONTENTS目錄eclipse開發(fā)Java程序04Java輸出語(yǔ)句02CONTENTS目錄VS有什么區(qū)別呢?System.out.println()打印完引號(hào)中的信息后會(huì)自動(dòng)換行System.out.println()打印輸出信息后不會(huì)自動(dòng)換行System.out.println("HelloWorld!!!");System.out.print("HelloWorld!!!");從控制臺(tái)輸出信息2-1System.out.println("HelloWorld!!!");System.out.print("HelloWorld!!!");打印完引號(hào)中的信息后會(huì)自動(dòng)換行打印輸出信息后不會(huì)自動(dòng)換行問題System.out.println()和System.out.print()有什么區(qū)別呢?!System.out.println()System.out.println()32/47從控制臺(tái)輸出信息2-2如何使下面2個(gè)語(yǔ)句達(dá)到同樣的效果?publicclassHelloWorld{

publicstaticvoidmain(String[]args){ System.out.print("HelloWorld!!!\n"); }}打印輸出信息后將會(huì)自動(dòng)換行使用轉(zhuǎn)義符

分析問題示例System.out.println();System.out.print();轉(zhuǎn)義符說明\n將光標(biāo)移動(dòng)到下一行的第一格\t將光標(biāo)移到下一個(gè)水平制表位置33/47從控制臺(tái)打印輸出張三的姓名和年齡從控制臺(tái)打印輸出字符串:“張三18”System.out.println("張三");System.out.println("18");System.out.print("張三\n");System.out.print("18");println():輸出信息并換行print():輸出信息,但不換行\(zhòng)n:換行符小結(jié)現(xiàn)場(chǎng)編程System.out.println("張三\t18");\t:制表位小結(jié)34/47Java程序結(jié)構(gòu)01Java輸出語(yǔ)句02Java程序注釋與編碼規(guī)范03CONTENTS目錄eclipse開發(fā)Java程序04Java程序注釋與編碼規(guī)范03CONTENTS目錄Java程序的注釋2-1語(yǔ)法演示示例2:Java單行注釋publicclassHelloWorld{ publicstaticvoidmain(String[]args){

//輸出消息到控制臺(tái)

System.out.println("HelloWorld!!!");

}}單行注釋以//開始!37/47/**HelloWorld.java*2013-4-23*第一個(gè)Java程序*/publicclassHelloWorld{

publicstaticvoidmain(String[]args){

/*

System.out.println("HelloWorld!!!");

System.out.println("HelloWorld!!!");*/

}}Java程序的注釋2-2文件的名稱日期功能說明多行注釋以“/*”開頭,以“*/”結(jié)尾多行注釋的每一行開頭可寫一個(gè)或多個(gè)*語(yǔ)法演示示例3:Java多行注釋38/47publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("HelloWorld!!!");}}publicclassHelloWorld{ publicstaticvoidmain(String[]args) { System.out.println("HelloWorld!!!"); }}Java編碼規(guī)范2-1指出以下編碼中的不規(guī)范之處不同層次代碼沒有縮進(jìn)“{”一般放在某一行最末39/47Java編碼規(guī)范2-2編碼規(guī)范的必要性基本規(guī)則專業(yè)化Java編碼規(guī)范一行只寫一條語(yǔ)句類名使用public修飾12代碼縮進(jìn)

{}的使用及位置34演示示例4:編碼規(guī)范40/47Java程序結(jié)構(gòu)01Java輸出語(yǔ)句02Java程序注釋與編碼規(guī)范03CONTENTS目錄eclipse開發(fā)Java程序04CONTENTS目錄eclipse開發(fā)Java程序04使用Eclipse開發(fā)Java程序集成開發(fā)環(huán)境(IDE)將程序開發(fā)環(huán)境和程序調(diào)試環(huán)境集合在一起,方便程序員開發(fā)軟件使用Eclipse開發(fā)Java程序步驟運(yùn)行Java程序4創(chuàng)建一個(gè)Java項(xiàng)目1手動(dòng)創(chuàng)建Java源程序2編譯Java源程序3演示示例5:使用Eclipse開發(fā)Java程序43/47包資源管理器用包組織Java源文件,類似于文件夾選擇菜單“Window→ShowView→PackageExplorer”打開Java項(xiàng)目組織結(jié)構(gòu)2-1JRE系統(tǒng)庫(kù)目錄:存放程序運(yùn)行必須的系統(tǒng)庫(kù)文件src目錄:存放包和源文件演示:Eclipse包資源管理器44/47Java項(xiàng)目組織結(jié)構(gòu)2-2導(dǎo)航器類似于Windows中的資源管理器選擇菜單“Window→ShowView→Navigator”bin目錄:存放可執(zhí)行的字節(jié)碼文件

src目錄:存放Java源文件演示:Eclipse導(dǎo)航器45/47publicclasshelloWorld{//源文件名為HelloWorld.java publicstaticvoidmain(String[]args){ System.out.println("我的第一個(gè)MyEclipse小程序!"); }}代碼錯(cuò)誤常見錯(cuò)誤5-1代碼閱讀public修飾的類的名稱必須與Java文件同名!!46/47publicclassHelloWorld{ publicstaticmain(String[]args){ System.out.println("我的第一個(gè)MyEclipse小程序!"); }}void常見錯(cuò)誤5-2代碼閱讀main()方法作為程序入口,void必不可少!!47/47publicclassHelloWorld{ publicstaticvoidmain(String[]args){ system.out.println("我的第一個(gè)MyEclipse小程序!"); }}代碼錯(cuò)誤常見錯(cuò)誤5-3代碼閱讀語(yǔ)法出錯(cuò),無法解析system!Java對(duì)大小寫敏感!!48/47publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println("我的第一個(gè)MyEclipse小程序!") }};常見錯(cuò)誤5-4代碼閱讀每一條Java語(yǔ)句必須以分號(hào)結(jié)束!!49/47publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println(我的第一個(gè)MyEclipse小程序!); }}"常見錯(cuò)誤5-5代碼閱讀演示:程序排錯(cuò)技巧注意:不要漏寫引號(hào)!!50/47小結(jié)程序運(yùn)行出現(xiàn)了問題,怎么辦?如何定位錯(cuò)誤代碼的位置?如何知道錯(cuò)誤的原因?糾正代碼中的錯(cuò)誤,輸出“早上好!”publicclassTest{publicstaticvoidmain(){system.out.println("早上好!");}}System中S要大寫main()方法沒有提供參數(shù)代碼閱讀提問51/47任務(wù)實(shí)施在控制臺(tái)輸出一行信息需求說明使用記事本開發(fā)Java程序

Java輸出語(yǔ)句會(huì)使用javac和java命令Java注釋訓(xùn)練要點(diǎn)創(chuàng)建記事本程序編寫Java代碼及注釋編譯.java文件運(yùn)行編譯后的.class文件實(shí)現(xiàn)思路樂GO系統(tǒng)登錄界面顯示javac和java的使用提示任務(wù)拓展要求用戶使用eclipse創(chuàng)建Java應(yīng)用程序,實(shí)現(xiàn)購(gòu)物系統(tǒng)功能界面顯示需求說明使用Eclipse開發(fā)Java程序的步驟熟練掌握Eclipse使用的相關(guān)技巧訓(xùn)練要點(diǎn)創(chuàng)建java應(yīng)用程序輸出語(yǔ)句的實(shí)現(xiàn)實(shí)現(xiàn)思路樂GO系統(tǒng)功能界面顯示項(xiàng)目實(shí)訓(xùn)機(jī)器人自助點(diǎn)餐系統(tǒng)菜單顯示實(shí)現(xiàn)需求說明機(jī)器人自助點(diǎn)餐系統(tǒng)菜單顯示實(shí)現(xiàn)分析輸出內(nèi)容輸出語(yǔ)句實(shí)現(xiàn)內(nèi)容輸出靈活進(jìn)行轉(zhuǎn)義符的使用靈活使用代碼注釋實(shí)現(xiàn)思路學(xué)員操作—開發(fā)購(gòu)物系統(tǒng)菜單需求說明在控制臺(tái)輸出購(gòu)物系統(tǒng)登錄菜單和系統(tǒng)主菜單練習(xí)完成時(shí)間:20分鐘55/47學(xué)員操作—輸出商品價(jià)目表需求說明在控制臺(tái)輸出商品價(jià)目表使用\t和\n進(jìn)行顯示格式的控制練習(xí)提示完成時(shí)間:20分鐘56/47總結(jié)程序是一系列有序指令的集合Java可以用于開發(fā)兩類程序Java程序結(jié)構(gòu)Java程序開發(fā)步驟使用記事本開發(fā)Java程序的步驟使用MyEclipse開發(fā)Java程序的步驟桌面應(yīng)用程序Internet應(yīng)用程序初識(shí)Java1.編寫源程序2.編譯源程序3.運(yùn)行類名與文件名完全一樣main()方法是Java程序的入口點(diǎn)main()方法的四要素“{”和“}”一一對(duì)應(yīng),缺一不可publicstaticvoidString[]args1.編輯源程序,以.java為后綴名保存2.javac命令編譯.java文件生成.class3.java命令運(yùn)行.class文件1.創(chuàng)建一個(gè)Java項(xiàng)目2.手動(dòng)創(chuàng)建Java源程序3.編譯Java源程序4.運(yùn)行Java程序57/47

Java程序設(shè)計(jì)基礎(chǔ)

第二章:Java基礎(chǔ)知識(shí)主講人丁文本章任務(wù)

編寫Java程序,實(shí)現(xiàn)購(gòu)物結(jié)算并打印購(gòu)物小票、實(shí)現(xiàn)幸運(yùn)抽獎(jiǎng)。如下如所示:學(xué)習(xí)目標(biāo)掌握J(rèn)ava語(yǔ)言中的常用數(shù)據(jù)類型掌握變量的創(chuàng)建會(huì)使用變量掌握J(rèn)ava語(yǔ)言中的運(yùn)算符的使用數(shù)據(jù)類型01Java語(yǔ)言中數(shù)據(jù)類型分為8種基本數(shù)據(jù)類型和3種引用數(shù)據(jù)類型。Java的數(shù)據(jù)類型數(shù)據(jù)屬于不同類別非洲Thequickbrownfox

TRUE數(shù)據(jù)非數(shù)值數(shù)值整型非整型9002.129999/12/20032.175123陳揚(yáng)char非數(shù)值數(shù)值整型int…………double非整型String數(shù)據(jù)類型Java常用數(shù)據(jù)類型63/48數(shù)據(jù)類型說明數(shù)據(jù)類型說明char(字符型)用于存儲(chǔ)單個(gè)字符如:性別‘男’、‘女’,交通指示燈‘紅’、‘綠’、‘藍(lán)’int(整型)用于存儲(chǔ)整數(shù)如:數(shù)字1,一節(jié)課40分鐘double(雙精度)用于存儲(chǔ)小數(shù)如:辣條的價(jià)格3.0元,電腦待機(jī)時(shí)間5.5小時(shí)String(字符串)用于存儲(chǔ)一串字符如:“我的愛好編程”,“我喜歡Java程序”

64/48數(shù)據(jù)類型舉例輸出Java課考試最高分:98.5輸出最高分學(xué)員姓名:張三輸出最高分學(xué)員性別:男publicclassTestType{publicstaticvoidmain(String[]args){

doublescore=98.5;Stringname="張三";charsex='男';

System.out.println("本次考試成績(jī)最高分:"+score);

System.out.println("最高分得主:"+name);

System.out.println("性別:"+sex);}}變量02變量的定義01變量的創(chuàng)建與使用02變量的命名規(guī)則03CONTENTS目錄變量的定義01CONTENTS目錄內(nèi)存如何存放數(shù)據(jù)?電腦使用內(nèi)存來記憶計(jì)算時(shí)所使用的數(shù)據(jù)內(nèi)存如何存儲(chǔ)數(shù)據(jù)內(nèi)存像旅館數(shù)據(jù)各式各樣根據(jù)數(shù)據(jù)的需求(即類型)為它申請(qǐng)一塊合適的空間1.開房間(單人間、雙人間、總統(tǒng)套間)2.入住69/48內(nèi)存1000變量:一個(gè)數(shù)據(jù)存儲(chǔ)空間的表示98.76不同數(shù)據(jù)存入具有不同內(nèi)存地址的空間,相互獨(dú)立變量的定義已經(jīng)將數(shù)據(jù)存入內(nèi)存,但是:怎么找到存入的數(shù)據(jù)?100070/48變量的定義內(nèi)存地址不好記,怎么辦?通過內(nèi)存中小房間的名字找到數(shù)據(jù)存儲(chǔ)的位置通過變量名可以簡(jiǎn)單快速地找到它存儲(chǔ)的數(shù)據(jù)房間房間名字房間類型入住的客人變量變量名變量類型變量值對(duì)應(yīng)問題71/48變量的定義01變量的創(chuàng)建與使用02變量的命名規(guī)則03CONTENTS目錄變量的創(chuàng)建與使用02CONTENTS目錄變量的創(chuàng)建與使用使用變量的步驟第一步:聲明變量,即“根據(jù)數(shù)據(jù)類型在內(nèi)存申請(qǐng)空間”第二步:賦值,即“將數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的內(nèi)存空間”第一步和第二步可以合并第三步:使用變量,即“取出數(shù)據(jù)使用”數(shù)據(jù)類型變量名;double

price;變量名=數(shù)值;price=3.5;數(shù)據(jù)類型變量名=數(shù)值;double

price=3.5;74/48publicclassMyVariable{publicstaticvoidmain(String[]args){

doublemoney;//1.聲明一個(gè)變量

money=1000;//2.賦值

}}數(shù)據(jù)類型變量名內(nèi)存空間存的數(shù)值System.out.println(money);//3.使用變量doublemoney=1000;//合二為一在內(nèi)存中存儲(chǔ)辣條價(jià)格3.5元顯示內(nèi)存中存儲(chǔ)數(shù)據(jù)的值問題變量的創(chuàng)建與使用演示示例1:使用變量存儲(chǔ)數(shù)據(jù)75/48變量的定義01變量的創(chuàng)建與使用02變量的命名規(guī)則03CONTENTS目錄變量的命名規(guī)則03CONTENTS目錄Java語(yǔ)言中,變量命名要符合一定規(guī)則money、score、name、sex1、字母2、下劃線‘_’3、‘$’符號(hào)首字母任意多的:1、數(shù)字2、字母3、下劃線‘_’4、‘$’符號(hào)其余部分變量名變量命名規(guī)則經(jīng)驗(yàn)變量命名規(guī)范:簡(jiǎn)短且能清楚地表明變量的作用,通常第一個(gè)單詞的首字母小寫,其后單詞的首字母大寫。例如:myScore

!實(shí)際開發(fā)時(shí),為了易于維護(hù),盡量使用有意義的變量名!78/48變量命名規(guī)則檢查下面這些是否是合法的變量名principalcost_pricemarks_3$lastnamecity123ratediscount%zipcodeCityint提問79/48publicclassError1{publicstaticvoidmain(String[]args){Stringtitle;

System.out.println(title);}}Stringtitle;//聲明變量titletitle="Java";//賦值Stringtitle="Java";//聲明變量title并賦值12先聲明變量并賦值,然后才能使用代碼錯(cuò)誤正確做法常見錯(cuò)誤3-1代碼閱讀局部變量title可能尚未初始化80/48變量名不能以%開始publicclassError2{publicstaticvoidmain(String[]args){

int%hour=18;

System.out.println(%hour);}}代碼錯(cuò)誤常見錯(cuò)誤3-2標(biāo)記“%”上有語(yǔ)法錯(cuò)誤,刪除標(biāo)記代碼閱讀81/48publicclassError3{publicstaticvoidmain(String[]args){Stringname="張三";Stringname="李四";}}聲明兩個(gè)同名變量導(dǎo)致編譯錯(cuò)誤Stringname="張三";StringName="李四";Java程序區(qū)分大小寫正確方案常見錯(cuò)誤3-3局部變量name重復(fù)代碼閱讀82/48運(yùn)算符03算術(shù)運(yùn)算符01賦值運(yùn)算符02關(guān)系運(yùn)算符03CONTENTS目錄邏輯運(yùn)算符04算術(shù)運(yùn)算符01CONTENTS目錄算術(shù)運(yùn)算符操作數(shù)操作數(shù)運(yùn)算符86/48加減乘除取余+-*/%算術(shù)運(yùn)算符從控制臺(tái)輸入學(xué)員王浩3門課程成績(jī),編寫程序?qū)崿F(xiàn)(1)Java課和SQL課的分?jǐn)?shù)之差(2)3門課的平均分問題87/48importjava.util.Scanner;publicclassScoreStat{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in);

System.out.print("STB的成績(jī)是:");

int

stb=input.nextInt();//stb分?jǐn)?shù)

//省略接收J(rèn)ava分?jǐn)?shù)和SQL分?jǐn)?shù)……

int

diffen;//分?jǐn)?shù)差

doubleavg;//平均分

//省略輸出成績(jī)單代碼……

diffen=java-sql;//計(jì)算Java課和SQL課的成績(jī)差

System.out.println("Java和SQL的成績(jī)差:"+diffen);

avg=(stb+java+sql)/3; //計(jì)算平均分

System.out.println("3門課的平均分是:"+avg); }}算術(shù)運(yùn)算符3-2指定Scanner類路徑通過鍵盤的輸入得到STB的成績(jī)計(jì)算成績(jī)差和平均分演示示例3:使用算術(shù)運(yùn)算符88/48Int類型做除法的小技巧問題:如果有一串?dāng)?shù)字123,我要如何快捷的去掉個(gè)位數(shù)的3呢?publicclassTest

{publicstaticvoidmain(String[]args){

System.out.println(123/10);}}因?yàn)檎蝘nt沒有小數(shù),也不會(huì)四舍五入,所以我們可以用這個(gè)小技巧去除數(shù)字的末位大家可以試一下129/10的結(jié)果感興趣的也可以嘗試一下123%10的結(jié)果,這兩種技巧結(jié)合會(huì)有什么妙用呢?自動(dòng)類型轉(zhuǎn)換舉例某班第一次Java考試平均分81.29,第二次比第一次多2分,計(jì)算第二次考試平均分?問題

doublefirstAvg=81.29;//第一次平均分

doublesecondAvg;//第二次平均分

int

rise=2;

secondAvg=firstAvg+rise;

System.out.println("第二次平均分是:"+secondAvg);90/48自動(dòng)類型轉(zhuǎn)換規(guī)則規(guī)則1:如果一個(gè)操作數(shù)為double型,則整個(gè)表達(dá)式可提升為double型規(guī)則2:滿足自動(dòng)類型轉(zhuǎn)換的條件兩種類型要兼容數(shù)值類型(整型和浮點(diǎn)型)互相兼容目標(biāo)類型大于源類型例如:double型大于int型91/48下面語(yǔ)句正確嗎?

intage=19;charsex='女';charresult=age+sex;常見錯(cuò)誤inta=10;intb=10.2;doublec=10;c=a;intd=c;int

不可以自動(dòng)轉(zhuǎn)換成chardouble不可以自動(dòng)轉(zhuǎn)化成int代碼閱讀92/48強(qiáng)制類型轉(zhuǎn)換intbefore=20;//apple筆記本市場(chǎng)份額doublerise=9.8;//增長(zhǎng)的份額intnow=before+rise;//現(xiàn)在的份額intnow=before+(int)rise;

(類型名)表達(dá)式intb=(int)10.2;doublea=10;intc=(int)a;更改為強(qiáng)制類型轉(zhuǎn)換去年Apple筆記本所占市場(chǎng)份額是20,今年增長(zhǎng)的市場(chǎng)份額是9.8,求今年所占份額?語(yǔ)法問題編譯出錯(cuò):不能完成自動(dòng)類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換演示示例4:強(qiáng)制類型轉(zhuǎn)換93/48算術(shù)運(yùn)算符01賦值運(yùn)算符02關(guān)系運(yùn)算符03CONTENTS目錄邏輯運(yùn)算符04賦值運(yùn)算符02CONTENTS目錄賦值運(yùn)算符變量名=表達(dá)式;a=(b+3)+(b–1)表達(dá)式表達(dá)式表達(dá)式賦值運(yùn)算符表達(dá)式舉例語(yǔ)法表達(dá)式就是符號(hào)(如加號(hào)、減號(hào))與操作數(shù)(如b,3等)的組合!96/48算術(shù)運(yùn)算符01賦值運(yùn)算符02關(guān)系運(yùn)算符03CONTENTS目錄邏輯運(yùn)算符04關(guān)系運(yùn)算符03CONTENTS目錄比較高低、大小、長(zhǎng)短等張三的身高是否比李四高籃球是否比雞蛋更大兔子的尾巴和猴子的尾巴一樣長(zhǎng)嗎如何比較?為什么使用關(guān)系運(yùn)算符?使用關(guān)系運(yùn)算符可以比較高低、大小、長(zhǎng)短等!!問題99/48常用的關(guān)系運(yùn)算符有哪些?>,<==,!=>=,<=什么是關(guān)系運(yùn)算符張三的身高是否比李四高

假籃球是否比雞蛋更大

真兔子的尾巴和猴子的尾巴一樣長(zhǎng)

假由此看出關(guān)系運(yùn)算符的作用:用來做比較運(yùn)算比較的結(jié)果:boolean類型問題100/48用什么數(shù)據(jù)類型能表示?張三的身高是否比李四高籃球是否比雞蛋更大兔子的尾巴和猴子的尾巴一樣長(zhǎng)嗎boolean(布爾)類型boolean類型的值真:true假:falseboolean類型只有這兩個(gè)值?為什么需要boolean類型101/48int

liSi=80;//學(xué)員李四成績(jī)boolean

isBig;

Scannerinput=newScanner(System.in);

System.out.print("輸入學(xué)員張三成績(jī):");int

zhangSan=input.nextInt();//輸入張三的成績(jī)

isBig=zhangSan>liSi;System.out.println("張三成績(jī)比李四高嗎?"+isBig);//輸出比較結(jié)果如何使用boolean類型從控制臺(tái)輸入張三同學(xué)的成績(jī),與李四的成績(jī)(80分)比較,輸出“張三的成績(jī)比李四的成績(jī)高嗎?“

的判斷結(jié)果定義boolean變量isBig,存儲(chǔ)比較結(jié)果將比較結(jié)果保存在isBig變量中示例問題演示示例5:用boolean變量描述信息102/48邏輯運(yùn)算符04CONTENTS目錄邏輯運(yùn)算符邏輯運(yùn)算符語(yǔ)法104/48與&&(&)或||(|)非

!真變假,假變真全假才假全真才真

運(yùn)算符的優(yōu)先級(jí)運(yùn)算符小結(jié)表達(dá)式(3+40%6)>(9/2*3)的結(jié)果是什么?問題最高的優(yōu)先級(jí):小括號(hào),即()最低的優(yōu)先級(jí):賦值運(yùn)算符,即=優(yōu)先級(jí)順序:算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符false當(dāng)運(yùn)算符比較多,無法確定運(yùn)算符執(zhí)行順序時(shí),可以使用小括號(hào)控制一下順序!105/48學(xué)員操作—實(shí)現(xiàn)購(gòu)物結(jié)算2-1訓(xùn)練要點(diǎn)運(yùn)算符(*、=)的使用從控制臺(tái)輸出信息需求說明用戶可以享受購(gòu)物8折的優(yōu)惠,請(qǐng)計(jì)算實(shí)際消費(fèi)金額指導(dǎo)教員講解需求106/48學(xué)員操作—實(shí)現(xiàn)購(gòu)物結(jié)算2-2實(shí)現(xiàn)思路創(chuàng)建Java類Pay聲明變量,存儲(chǔ)信息計(jì)算總金額消費(fèi)總額=各商品的消費(fèi)金額之和*折扣提示完成時(shí)間:20分鐘107/48學(xué)員操作—打印購(gòu)物小票需求說明結(jié)算時(shí)打印購(gòu)物小票計(jì)算此次購(gòu)物獲得的會(huì)員積分練習(xí)完成時(shí)間:20分鐘108/48學(xué)員操作—模擬幸運(yùn)抽獎(jiǎng)2-1訓(xùn)練要點(diǎn)算術(shù)運(yùn)算符(%、/)的使用使用Scanner類接收用戶輸入關(guān)系運(yùn)算符和boolean類型的用法需求說明商場(chǎng)推出幸運(yùn)抽獎(jiǎng)活動(dòng)抽獎(jiǎng)規(guī)則

顧客的四位會(huì)員卡號(hào)的

各位數(shù)字之和大于20,

則為幸運(yùn)顧客指導(dǎo)教員講解需求109/48學(xué)員操作—模擬幸運(yùn)抽獎(jiǎng)2-2實(shí)現(xiàn)思路接收輸入的會(huì)員卡號(hào)分解并獲得各位數(shù)字計(jì)算各位數(shù)字之和分解并獲得各位數(shù)字int

gewei=custNo%10;int

shiwei=custNo/10%10;int

baiwei=custNo/100%10;int

qianwei=custNo/1000;提示完成時(shí)間:20分鐘110/48學(xué)員操作—判斷折扣價(jià)格2-1訓(xùn)練要點(diǎn)關(guān)系運(yùn)算符的使用boolean類型的使用需求說明用戶從鍵盤接收商品折扣,并判斷商品享受此折扣后價(jià)格是否低于100指導(dǎo)教員講解需求111/48學(xué)員操作—判斷折扣價(jià)格2-2實(shí)現(xiàn)思路聲明變量存儲(chǔ)商品價(jià)格信息從鍵盤接收折扣,并保存計(jì)算商品享受折扣后的價(jià)格輸出商品折扣后價(jià)是否低于100比較運(yùn)算的結(jié)果是boolean類型指導(dǎo)提示完成時(shí)間:20分鐘112/48總結(jié)變量數(shù)據(jù)類型運(yùn)算符使用Scanner類提供的方法可以從鍵盤獲取輸入的信息Java基本概念在程序運(yùn)行過程中允許改變其值的量通過變量名可以簡(jiǎn)單快速地找到它存儲(chǔ)的數(shù)據(jù)用來區(qū)分不同的數(shù)據(jù)不同類型的數(shù)據(jù)要分配不同大小的內(nèi)存空間常用的數(shù)據(jù)類型數(shù)據(jù)類型轉(zhuǎn)換包括自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換intdoublecharStringboolean賦值運(yùn)算符(=)算術(shù)運(yùn)算符(+、–、*、/、%)關(guān)系運(yùn)算符(>、<、>=、<=、==、!=)邏輯運(yùn)算符(||、&&、?。?13/48

Java程序設(shè)計(jì)基礎(chǔ)第三章:選擇結(jié)構(gòu)主講人莊愛云

常見的選擇語(yǔ)句有哪幾種?if選擇結(jié)構(gòu)書寫規(guī)范有哪些?多重if選擇結(jié)構(gòu)的執(zhí)行流程是怎樣的?if-else選擇結(jié)構(gòu)執(zhí)行的順序是什么?預(yù)習(xí)測(cè)試問題本章任務(wù)實(shí)現(xiàn)“樂GO購(gòu)物管理系統(tǒng)”如下功能模塊:實(shí)現(xiàn)會(huì)員信息錄入實(shí)現(xiàn)幸運(yùn)抽獎(jiǎng)實(shí)現(xiàn)按會(huì)員優(yōu)惠計(jì)劃進(jìn)行購(gòu)物結(jié)算實(shí)現(xiàn)計(jì)算會(huì)員折扣菜單跳轉(zhuǎn)功能商品換購(gòu)功能學(xué)習(xí)目標(biāo)掌握基本if選擇結(jié)構(gòu)掌握多重if選擇結(jié)構(gòu)掌握嵌套if選擇結(jié)構(gòu)掌握switch選擇結(jié)構(gòu)If選擇結(jié)構(gòu)

-樂GO購(gòu)物系統(tǒng)會(huì)員錄入、抽獎(jiǎng)及結(jié)算功能01基本if選擇結(jié)構(gòu)01多重if選擇結(jié)構(gòu)02If嵌套結(jié)構(gòu)03CONTENTS目錄基本if選擇結(jié)構(gòu)01CONTENTS目錄基本if選擇結(jié)構(gòu)if的選擇結(jié)構(gòu)是根據(jù)條件判斷之后再做處理的一種語(yǔ)法結(jié)構(gòu)。if(條件){//代碼塊}基本的if選擇結(jié)構(gòu)條件判斷,結(jié)果必須是布爾值代碼塊帶括號(hào)括起,只有一條語(yǔ)句時(shí),建議不省略{}實(shí)例講解【例】世界之窗景點(diǎn)門票,為了弘揚(yáng)中華民族的尊老愛幼的美德,實(shí)行對(duì)年紀(jì)大于60的老人實(shí)行免票的政策。請(qǐng)結(jié)合該情況,實(shí)現(xiàn)該景點(diǎn)的售票系統(tǒng)的售票功能實(shí)現(xiàn)。publicclassExample1{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in);//提示輸入年紀(jì)System.out.print("輸入您的年紀(jì):");//從控制臺(tái)獲取顧客的年紀(jì)intage=input.nextInt(); if(age>60){//判斷是否大于60 System.out.println("你好,你的免費(fèi)門票已生成!");} }}If-else選擇結(jié)構(gòu)

接著上面的實(shí)例,如果顧客的年紀(jì)大于60,門票免費(fèi),否則需要支付120元門票。那么如何來實(shí)現(xiàn)不滿足條件的情況處理呢?這時(shí)我們就要引入另一種if的選擇結(jié)構(gòu),if…else選擇結(jié)構(gòu)。if語(yǔ)句后面可以跟else語(yǔ)句,當(dāng)if語(yǔ)句的布爾表達(dá)式值為false時(shí),else語(yǔ)句塊會(huì)被執(zhí)行。語(yǔ)法結(jié)構(gòu)如下:if(條件){//代碼塊1}else{//代碼塊2}當(dāng)條件判斷結(jié)構(gòu)為flase時(shí),被執(zhí)行不要省略{實(shí)例講解【例】使用基本的if-else選擇結(jié)構(gòu)解決問題,如果顧客的年紀(jì)大于60,門票免費(fèi),否則需要支付120元門票。publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);//提示輸入年紀(jì)System.out.print("輸入您的年紀(jì):");//從控制臺(tái)獲取顧客的年紀(jì)intage=input.nextInt(); if(age>60){//判斷是否大于60System.out.println("你好,你的免費(fèi)門票已生成!");}else{System.out.println("你好,您的門票費(fèi)用為120元!"); }}基本if選擇結(jié)構(gòu)01多重if選擇結(jié)構(gòu)02If嵌套結(jié)構(gòu)03CONTENTS目錄多重if選擇結(jié)構(gòu)02CONTENTS目錄多重if選擇結(jié)構(gòu)if語(yǔ)句后面還可以跟elseif…else語(yǔ)句,這種語(yǔ)句可以檢測(cè)到多種可能的情況。if...else語(yǔ)法格式如下:if(布爾表達(dá)式1){//如果布爾表達(dá)式1的值為true執(zhí)行代碼}elseif(布爾表達(dá)式2){//如果布爾表達(dá)式2的值為true執(zhí)行代碼}elseif(布爾表達(dá)式3){//如果布爾表達(dá)式3的值為true執(zhí)行代碼}……//可以有多個(gè)elseifelse{//如果以上布爾表達(dá)式都不為true執(zhí)行代碼}可以有多個(gè)elseif語(yǔ)句,來實(shí)現(xiàn)多個(gè)選擇,并且都在else語(yǔ)句前elseif檢測(cè)到true時(shí),將跳過其它elseif及else語(yǔ)句實(shí)例講解【例】為了強(qiáng)化學(xué)生實(shí)踐能力的培養(yǎng)和訓(xùn)練,同時(shí)鼓勵(lì)學(xué)生競(jìng)賽中的團(tuán)隊(duì)協(xié)作的精神,學(xué)校舉行了計(jì)算機(jī)編程大賽,設(shè)置如下獎(jiǎng)項(xiàng):如果獲得第一名,將參加麻省理工大學(xué)組織的1個(gè)月夏令營(yíng)如果獲得第二名,將獎(jiǎng)勵(lì)惠普筆記本電腦一部如果獲得第三名,將獎(jiǎng)勵(lì)移動(dòng)硬盤一個(gè)否則,不給任何獎(jiǎng)勵(lì)李明同學(xué)積極參加了本次比賽,請(qǐng)根據(jù)請(qǐng)李明同學(xué)輸入自

己的獲獎(jiǎng)名次,輸出對(duì)應(yīng)的獎(jiǎng)勵(lì)類別。publicclassExample3{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); System.out.println("請(qǐng)選擇你獲得的名次:1、第一名;2、第二名;3、第三名;"); intmingci=input.nextInt(); if(mingci==1){ System.out.println("參加麻省理工大學(xué)組織的1個(gè)月夏令營(yíng)"); } elseif(mingci==2){ System.out.println("獎(jiǎng)勵(lì)惠普筆記本電腦一部");} elseif(mingci==3){ System.out.println("獎(jiǎng)勵(lì)移動(dòng)硬盤一個(gè)"); } else{ System.out.println("沒有任何獎(jiǎng)勵(lì)"); } }基本if選擇結(jié)構(gòu)01多重if選擇結(jié)構(gòu)02If嵌套結(jié)構(gòu)03CONTENTS目錄If嵌套結(jié)構(gòu)03CONTENTS目錄嵌套if選擇結(jié)構(gòu)if(條件1){if(條件2){//代碼塊1}else{//代碼塊2}}else{//代碼塊3}假真假真條件1條件2代碼塊3代碼塊2代碼塊1內(nèi)層選擇結(jié)構(gòu)嵌套if選擇結(jié)構(gòu)就是在if里面再嵌入if選擇結(jié)構(gòu),語(yǔ)法結(jié)構(gòu)如下:實(shí)例講解【例】李明同學(xué)制定了活動(dòng)計(jì)劃的安排,如果今天是工作日,則去上學(xué),如果今天是周末,則外出游玩;同時(shí),如果周末天氣晴朗,則去室外游樂場(chǎng)游玩,否則去室內(nèi)游樂場(chǎng)游玩。publicstaticvoidmain(String[]args){ Stringtoday="周末"; Stringweather="晴郎"; if(today.equals("周末")){ if(weather.equals("晴朗")){ System.out.println("去室外游樂場(chǎng)玩吧!"); } else{ System.out.println("去室內(nèi)游樂場(chǎng)玩吧!"); } } else{ System.out.println("去上學(xué)!");} }任務(wù)實(shí)施樂GO購(gòu)物活動(dòng),開展會(huì)員辦理業(yè)務(wù),對(duì)于錄入的會(huì)員有一次抽獎(jiǎng)活動(dòng)。需求說明If選擇語(yǔ)句的使用if-else選擇結(jié)構(gòu)訓(xùn)練要點(diǎn)產(chǎn)生隨機(jī)數(shù)從控制臺(tái)接收一個(gè)4位會(huì)員號(hào)分解獲得百位數(shù)判斷是否是幸運(yùn)會(huì)員實(shí)現(xiàn)思路樂GO系統(tǒng)會(huì)員信息錄入及會(huì)員抽獎(jiǎng)If選擇結(jié)構(gòu)的使用提示任務(wù)拓展樂GO購(gòu)物根據(jù)會(huì)員的積分不同,享受不同的折扣需求說明多選擇結(jié)構(gòu)的條件匹配多選擇結(jié)構(gòu)訓(xùn)練要點(diǎn)首先實(shí)現(xiàn)條件匹配然后實(shí)現(xiàn)不同條件下的代碼實(shí)現(xiàn)實(shí)現(xiàn)思路樂GO系統(tǒng)功能界面顯示Switch選擇結(jié)構(gòu)

-樂GO購(gòu)物系統(tǒng)商品換購(gòu)功能實(shí)現(xiàn)02Switch選擇結(jié)構(gòu)01CONTENTS目錄Switch選擇結(jié)構(gòu)switch語(yǔ)句是Java的多路分支語(yǔ)句。它提供了一種基于一個(gè)表達(dá)式的值來使程序執(zhí)行不同部分的簡(jiǎn)單方法switchcase語(yǔ)句判斷一個(gè)變量與一系列值中某個(gè)值是否相等,每個(gè)值稱為一個(gè)分支。switchcase語(yǔ)句語(yǔ)法格式如下:switch(表達(dá)式){case常量1:

語(yǔ)句; break;case常量2:

語(yǔ)句; break; … default:

語(yǔ)句;}int、short、byte、char、枚舉類型、StringSwitch后面可以擁有多個(gè)case語(yǔ)句。每個(gè)case后面要跟一個(gè)要比較的值和冒號(hào)。且case語(yǔ)句的值必須與變量表達(dá)式的類型一致,而且只能是常量。當(dāng)變量的值與case語(yǔ)句的值相等時(shí),那么case語(yǔ)句之后的語(yǔ)句開始執(zhí)行,直到break語(yǔ)句出現(xiàn)才會(huì)跳出switch語(yǔ)句。case語(yǔ)句不必須要包含break語(yǔ)句。如果沒有break語(yǔ)句出現(xiàn),程序會(huì)繼續(xù)執(zhí)行下一條case語(yǔ)句,直到出現(xiàn)break語(yǔ)句。switch語(yǔ)句可以包含一個(gè)default分支,該分支一般是switch語(yǔ)句的最后一個(gè)分支(可以在任何位置,但建議在最后一個(gè))。default在沒有case語(yǔ)句的值和變量值相等的時(shí)候執(zhí)行。default分支不需要break語(yǔ)句。實(shí)例講解【例】某銀行網(wǎng)上銀行業(yè)務(wù)辦理提供如下功能菜單選擇:1、存款2、取款3、轉(zhuǎn)賬4、查詢5、退出

請(qǐng)根據(jù)具體的選擇,分別進(jìn)入不同的業(yè)務(wù)辦理。public

static

voidmain(String[]args){ Scannerinput=newScanner(System.in); System.out.println("請(qǐng)選擇你要辦理的銀行業(yè)務(wù):1、存款;2、取款;3、轉(zhuǎn)賬;4、查詢;5、退出");

intchoose=input.nextInt();

switch(choose){

case1:System.out.println("歡迎進(jìn)入存款業(yè)務(wù)辦理!");

break;

case2:System.out.println("歡迎進(jìn)入取款業(yè)務(wù)辦理!");

break;

case3:System.out.println("歡迎進(jìn)入轉(zhuǎn)賬業(yè)務(wù)辦理!");

break;

case4:System.out.println("歡迎進(jìn)入查詢業(yè)務(wù)辦理!");

break;

default:System.out.println("您已退出系統(tǒng)!");}

}任務(wù)實(shí)施實(shí)現(xiàn)菜單跳轉(zhuǎn)功能需求說明Switch選擇結(jié)構(gòu)訓(xùn)練要點(diǎn)使用數(shù)字標(biāo)識(shí)菜單號(hào)獲取用戶輸入的數(shù)字執(zhí)行相應(yīng)的操作實(shí)現(xiàn)思路樂GO系統(tǒng)菜單跳轉(zhuǎn)功能任務(wù)拓展實(shí)現(xiàn)商品換購(gòu)功能需求說明switch多選擇結(jié)構(gòu)的條件匹配多選擇結(jié)構(gòu)的跳轉(zhuǎn)訓(xùn)練要點(diǎn)首先實(shí)現(xiàn)條件匹配然后實(shí)現(xiàn)不同條件下的代碼實(shí)現(xiàn)實(shí)現(xiàn)思路樂GO系統(tǒng)商品換購(gòu)功能項(xiàng)目實(shí)訓(xùn)BMI是確定“健康體重范圍”最常用的工具,今天我們將來實(shí)現(xiàn)BMI獲取功能。根據(jù)體脂率計(jì)算公式,計(jì)算出體脂率,并分別根據(jù)男女不同的體脂率的標(biāo)準(zhǔn)給出相應(yīng)的體型結(jié)果BMI=體重(公斤)÷(身高×身高)(米)需求說明體脂率測(cè)量及體型判斷系統(tǒng)功能實(shí)現(xiàn)分析選擇判斷條件選擇合適的選擇判斷語(yǔ)句實(shí)現(xiàn)思路總結(jié)if選擇結(jié)構(gòu),包括以下形式基本if選擇結(jié)構(gòu):可以處理單一或組合條件的情況if-else選擇結(jié)構(gòu):可以處理簡(jiǎn)單的條件分支情況多重if選擇結(jié)構(gòu):可以處理分段的條件分支情況嵌套if選擇結(jié)構(gòu):可以處理復(fù)雜的條件分支情況switch選擇結(jié)構(gòu)多重分支并且條件判斷是等值判斷的情況謝謝!程序設(shè)計(jì)基礎(chǔ)

第四章循環(huán)結(jié)構(gòu)主講人:丁文任務(wù)1:輸入商品編號(hào),查詢商品價(jià)格任務(wù)2:完成用戶的購(gòu)物結(jié)算抽獎(jiǎng),實(shí)現(xiàn)購(gòu)物小票打印功能任務(wù)3:統(tǒng)計(jì)打折商品數(shù)量本章任務(wù)樂GO購(gòu)物管理系統(tǒng)購(gòu)物車功能實(shí)現(xiàn)

學(xué)習(xí)目標(biāo)理解循環(huán)的含義會(huì)使用while循環(huán)結(jié)構(gòu)會(huì)使用do-while循環(huán)結(jié)構(gòu)會(huì)使用for循環(huán)結(jié)構(gòu)掌握break語(yǔ)句應(yīng)用掌握continue語(yǔ)句應(yīng)用掌握循環(huán)嵌套的應(yīng)用打印100份考卷繞400米操場(chǎng)10圈行駛中的汽車輪胎滾動(dòng)生活中的循環(huán)

循環(huán)結(jié)構(gòu)的特點(diǎn):循環(huán)條件、循環(huán)操作System.out.println("第1天健康");System.out.println("第2天健康");System.out.println("第3天健康");System.out.println("第4天健康");

…System.out.println("第30天健康");如何快速顯示30天身體狀態(tài)為“健康”導(dǎo)入顯示某人30天身體狀態(tài)為健康While循環(huán)01步驟一初始化語(yǔ)句步驟四控制語(yǔ)句步驟二while(循環(huán)條件)符合條件,循環(huán)繼續(xù)執(zhí)行;否則,循環(huán)退出步驟三循環(huán)操作循環(huán)中被重復(fù)執(zhí)行的操作什么是while循環(huán)流程圖如何實(shí)現(xiàn)快速打?。保埃皬?jiān)嚲沓跏蓟Z(yǔ)句:count=1循環(huán)條件語(yǔ)句:count<=100循環(huán)體:System.out.println("打印第"+count+"份試卷");控制語(yǔ)句:count++。publicstaticvoidmain(String[]args){

intcount=1;

while(count<=100){

System.out.println("打印第"+count+"份試卷");

count++;

}}分析使用while循環(huán)演示示例:使用while循環(huán)打印試卷小結(jié)在需要重復(fù)做一件事時(shí)Where重復(fù)地做一件事What減少代碼量,增加可讀性,易維護(hù)Why四要素:起點(diǎn)(初始化語(yǔ)句)終點(diǎn)(條件表達(dá)式)做什么事(循環(huán)體)起點(diǎn)到終點(diǎn)如何變化(控制語(yǔ)句)How:演示示例:健康打卡HOWDo…While循環(huán)02什么是do-while循環(huán)do-while循環(huán)至少執(zhí)行一次do{

循環(huán)操作}while(循環(huán)條件);先執(zhí)行一遍循環(huán)操作符合條件,循環(huán)繼續(xù)執(zhí)行;否則,循環(huán)退出分號(hào)不可少

1、do…while語(yǔ)句求出1至100的偶數(shù)和。

intx=1; do{

System.out.println("打印"+x+"張?jiān)嚲?); x++; }while(x<=100);示例打印100張?jiān)嚲硎褂胐o-while循環(huán)先執(zhí)行一遍循環(huán)操作循環(huán)條件演示示例:使用do-while循環(huán)結(jié)構(gòu)VS有什么區(qū)別呢?while循環(huán)初始情況不滿足循環(huán)條件時(shí),while循環(huán)一次都不會(huì)執(zhí)行do-while循環(huán)do-while循環(huán)不管任何情況都至少執(zhí)行一次執(zhí)行結(jié)果為:執(zhí)行結(jié)果為:11

1、do…while語(yǔ)句求出1至100的偶數(shù)和。作業(yè)1、用Do…while語(yǔ)句求出1至100的偶數(shù)和。2、用while語(yǔ)句求出1至100的偶數(shù)和。for循環(huán)語(yǔ)句03for(

int

i=0;i<100;i++){

System.out.println(“打卡情況:健康!");}for循環(huán)的語(yǔ)法和執(zhí)行順序for(

;

;

){

;}條件為true循環(huán)體被執(zhí)行

表達(dá)式1

表達(dá)式2

表達(dá)式3循環(huán)操作參數(shù)初始化條件判斷更新循環(huán)變量語(yǔ)法1243案例什么是for循環(huán)使用for循環(huán)結(jié)構(gòu)的步驟分析循環(huán)條件和循環(huán)操作套用for語(yǔ)法寫出代碼檢查循環(huán)是否能夠退出分析統(tǒng)計(jì)平均學(xué)習(xí)時(shí)間。計(jì)算機(jī)專業(yè)技能要提升,課外必須要花大量時(shí)間練習(xí),老師為了促進(jìn)大家專業(yè)更好發(fā)展,設(shè)計(jì)一個(gè)程序統(tǒng)計(jì)學(xué)生一周平均有效時(shí)間的平均值。輸入一周的學(xué)習(xí)時(shí)間,求周一至周五每日平均學(xué)習(xí)時(shí)間。問題演示示例:統(tǒng)計(jì)每日平均學(xué)習(xí)時(shí)間運(yùn)行結(jié)果

publicstaticvoidmain(Stringargs[]){

inttime; //學(xué)習(xí)時(shí)間

intsum=0; //學(xué)習(xí)時(shí)間之和 doubleavg=0; //平均學(xué)習(xí)時(shí)間 Scannerinput=newScanner(System.in); for(int

i=0;i<5;i++){ //循環(huán)五次錄入五天學(xué)習(xí)時(shí)間

System.out.print("請(qǐng)輸入周"+(i+1)+"的學(xué)習(xí)時(shí)間:"); time=input.nextInt(); //錄入時(shí)間 sum=sum+time; //計(jì)算學(xué)習(xí)時(shí)間和 }

avg=(double)sum/5; //計(jì)算平均學(xué)習(xí)時(shí)間

System.out.println("周一至周五每日平均學(xué)習(xí)時(shí)間是:"+avg+"小時(shí)"); }

初始值:i=0循環(huán)條件:i<5循環(huán)變量改變:i++循環(huán)操作執(zhí)行5次如何使用for循環(huán)示例for循環(huán)語(yǔ)句總結(jié)由①進(jìn)入循環(huán),然后反復(fù)執(zhí)行②④③,直至條件②不再滿足求1至10的和

1、do…while語(yǔ)句求出1至100的偶數(shù)和。作業(yè)1、用for語(yǔ)句實(shí)現(xiàn)求1至100的偶數(shù)和。2、求水仙花數(shù)。3、統(tǒng)計(jì)能同時(shí)被3和5整除的三位數(shù)break、continue跳轉(zhuǎn)語(yǔ)句04什么是break語(yǔ)句break:改變程序控制流用于do-while、while、for循環(huán)中時(shí),可跳出循環(huán)而執(zhí)行循環(huán)后面的語(yǔ)句165/39while(…){………………break;………………}跳出整個(gè)循環(huán)break通常在循環(huán)中與條件語(yǔ)句一起使用break的作用是跳出當(dāng)前循環(huán)塊(for、while、dowhile)或程序塊(switch)。在循環(huán)塊中的作用是跳出當(dāng)前正在循環(huán)的循環(huán)體。在程序塊中的作用是中斷和下一個(gè)case條件的比較)。使用break時(shí),跳出循環(huán)(結(jié)束循環(huán))。如何使用break語(yǔ)句166/39循環(huán)錄入某學(xué)生5門課的成績(jī)并計(jì)算平均分。如果某分?jǐn)?shù)錄入為負(fù),停止錄入并提示錄入錯(cuò)誤循環(huán)錄入成績(jī),判斷錄入正確性。錄入錯(cuò)誤,使用break語(yǔ)句立刻跳出循環(huán);否則,累加求和問題分析//……for(int

i=0;i<5;i++){ //循環(huán)5次錄入5門課成績(jī)

System.out.print("請(qǐng)輸入第"+(i+1)+"門課的成績(jī):");

score=input.nextInt();if(score<0){ //輸入負(fù)數(shù)

isNegative=true;

break; }sum=sum+score; //累加求和}//…循環(huán)外的語(yǔ)句…對(duì)錄入的分?jǐn)?shù)進(jìn)行判斷。如果小于0,標(biāo)記出錯(cuò)狀態(tài),并立即跳出整個(gè)for循環(huán)如何使用break語(yǔ)句2-2167/39示例演示示例3:錄入學(xué)生成績(jī)?yōu)槭裁葱枰猚ontinue語(yǔ)句循環(huán)錄入Java課的學(xué)生成績(jī),統(tǒng)計(jì)分?jǐn)?shù)大于等于80分的學(xué)生比例168/39問題分析通過循環(huán),獲得分?jǐn)?shù)大于等于80分的學(xué)生人數(shù)num判斷:如果成績(jī)<80,不執(zhí)行num++,直接進(jìn)入下一次循環(huán)什么是continue語(yǔ)句continue:只能用在循環(huán)里continue作用:跳過循環(huán)體中剩余的語(yǔ)句而執(zhí)行下一次循環(huán)169/39while(…){………………continue;…………}繼續(xù)下一次循環(huán)通常與條件語(yǔ)句一起使用,加速循環(huán)for(int

i=0;i<10;i

溫馨提示

  • 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)論