版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Java程序設計Java程序設計初識Java第一章技能結構圖本門課程目標學完本階段課程后,你能夠:運用Java編寫命令行程序會編譯、運行、調試、維護Java程序初步理解Java面向對象的編程思想具有獨立分析問題和解決問題的能力,能夠運用Java程序解決生活中遇到的簡單問題課程項目展示我行我素購物管理系統(tǒng)(MyShopping)演示教員現場演示貫穿項目預習檢查什么是計算機程序?Java相關的技術有哪些?開發(fā)Java程序的步驟有哪些?Java程序的基本框架是什么?Java的注釋類型有哪些?本章任務編寫第一個Java程序在控制臺輸出信息本章目標理解什么是程序了解Java的技術內容會使用記事本開發(fā)簡單Java程序會使用輸出語句在控制臺輸出信息熟悉Eclipse開發(fā)環(huán)境什么是程序程序一詞來自生活,通常指完成某些事務的一種既定方式和過程在日常生活中,可以將程序看成對一系列動作的執(zhí)行過程的描述介紹你從住處到學校上課的過程銀行1、帶上存折/銀行卡去銀行3、將存折或儲蓄卡遞給銀行職員并告知取款數額2、取號排隊5、銀行職員辦理取款事宜生活中的程序6、拿到錢并離開銀行4、輸入密碼什么是指令?1、做口述筆記……2、鍵入信函的內容……3、發(fā)送傳真……1、口述2、信函System.out.println("口述");System.out.println("信函");System.out.println("傳真");指令被逐條執(zhí)行程序員老板秘書計算機程序:為了讓計算機執(zhí)行某些操作或解決某個問題而編寫的一系列有序指令的集合
要執(zhí)行的一組指令程序3、傳真計算機中的程序編寫程序的工具就是計算機語言,Java就是多種語言中的一種為什么學習JavaJava是SunMicrosystems于1995年推出的高級編程語言Java領域的JavaSE、JavaEE技術已發(fā)展成為同C#和.NET平分天下的應用軟件開發(fā)平臺和技術PK.PK.Java可以做什么
開發(fā)桌面應用程序銀行軟件、商場結算軟件開發(fā)面向Internet的應用程序網上數碼商城、阿里巴巴、易趣網演示示例1:Java2DDemoJava技術平臺簡介JavaSE:JavaPlatform,StandardEditionJavaEE:JavaPlatform,EnterpriseEdition
操作系統(tǒng)(包含運行環(huán)境)JavaEEJavaSE開發(fā)Java程序三步走1、編寫源程序2、編譯源程序3、運行使用記事本開發(fā)Java程序的步驟使用記事本編輯源程序,以.java為后綴名保存使用javac命令編譯.java文件,生成.class文件使用java命令運行.class文件,輸出程序結果publicclassHelloWorld{
publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!!!"); }}演示示例2:使用記事本開發(fā)Java程序步驟publicclassHelloWorld{
publicstaticvoidmain(String[]args){System.out.println("HelloWorld!!!");}}外層框架Java入口程序框架編寫代碼Java程序的結構Java程序的結構publicclassHelloWorld{
publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!!!"); }}關鍵字類名與文件名完全一樣main方法是Java程序執(zhí)行的入口點{和}一一對應,缺一不可main方法四要素必不可少從控制臺輸出信息從控制臺輸出信息2-1System.out.println()System.out.print()publicclassHelloWorld{
publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!!!"); }}publicclassHelloWorld{
publicstaticvoidmain(String[]args){ System.out.print("HelloWorld!!!"); }}System.out.println()和System.out.print()有什么區(qū)別呢?打印完引號中的信息后會自動換行打印輸出信息后不會自動換行從控制臺輸出信息2-2如何使System.out.println("");和System.out.print("\n");達到同樣的效果?轉義符說明\n將光標移動到下一行的第一格\t將光標移到下一個水平制表位置publicclassHelloWorld{
publicstaticvoidmain(String[]args){ System.out.print("HelloWorld!!!\n"); }}打印輸出信息后將會自動換行使用轉義符
1、從控制臺打印輸出你的姓名和年齡2、從控制臺打印輸出“張三18”System.out.println("張三");System.out.println("18");System.out.print("張三\n");System.out.print("18");println:輸出信息并執(zhí)行換行print:輸出信息,但不執(zhí)行換行\(zhòng)n:換行符System.out.println("張三\t18");\t:制表位小結1參考代碼參考代碼Java程序的注釋2-1/**HelloWorld.java*2011-9-8*第一個Java程序*/publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!!!"); }}文件的名稱日期功能說明多行注釋以“/*”開頭,以“*/”結尾為了美觀,多行注釋的每一行開頭可寫一個或多個*Java程序的注釋2-2publicclassHelloWorld{ publicstaticvoidmain(String[]args){
//輸出消息到控制臺
System.out.println("HelloWorld!!!"); }}單行注釋以//開始,以行末結束Java編碼規(guī)范publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("HelloWorld!!!");}}publicclassHelloWorld{ publicstaticvoidmain(String[]args) { System.out.println("HelloWorld!!!"); }}指出以下編碼中的不規(guī)范之處不同層次代碼沒有縮進“{”一般放在某一行最末Java編碼規(guī)范編碼規(guī)范是作為一個程序員應該遵守的基本規(guī)則,是行業(yè)內大家都默守的做法不遵守規(guī)范的代碼不是好的代碼,不是專業(yè)的代碼Java編碼規(guī)范類名使用public修飾一行只寫一條語句{}的使用及位置代碼縮進指導——向控制臺輸出內容訓練要點:使用記事本開發(fā)Java程序
Java輸出語句會使用javac和java命令Java注釋需求說明:在控制臺輸出一行信息實現思路:1、創(chuàng)建記事本程序2、編寫Java代碼及注釋3、編譯.java文件4、運行編譯后的.class文件難點指導:javac和java的使用講解需求說明完成時間:15分鐘使用Eclipse開發(fā)Java程序的步驟集成開發(fā)環(huán)境(IDE)是一類軟件,它將程序開發(fā)環(huán)境和程序調試環(huán)境集合在一起,幫助程序員開發(fā)軟件使用Eclipse開發(fā)Java程序步驟:1、創(chuàng)建一個Java項目2、手動創(chuàng)建Java源程序3、編譯Java源程序4、運行Java程序操作演示1:使用Eclipse開發(fā)Java程序步驟Java項目組織結構2-1包資源管理器用包組織Java源文件,類似于文件夾選擇菜單“窗口→顯示視圖→包資源管理器”打開JRE系統(tǒng)庫目錄:存放程序運行必須的系統(tǒng)庫文件操作演示2:Eclipse包資源管理器src目錄:存放包和源文件Java項目組織結構2-2導航器類似于Windows中的資源管理器選擇菜單“窗口→顯示視圖→導航器”打開bin目錄:存放可執(zhí)行的字節(jié)碼文件
src目錄:存放Java源文件操作演示3:Eclipse導航器練習——使用Eclipse開發(fā)Java程序需求說明:使用Eclipse創(chuàng)建Java應用程序,實現從控制臺輸出多行信息:姓名、年齡、愛好完成時間:7分鐘publicclasshelloWorld{//源文件名為HelloWorld.java publicstaticvoidmain(String[]args){ System.out.println("我的第一個Eclipse小程序!"); }}public修飾的類的名稱必須與Java文件同名!代碼錯誤常見錯誤5-1publicclassHelloWorld{ publicstaticmain(String[]args){ System.out.println("我的第一個Eclipse小程序!"); }}main方法作為程序入口,void必不可少!void常見錯誤5-2publicclassHelloWorld{ publicstaticvoidmain(String[]args){ system.out.println("我的第一個Eclipse小程序!"); }}編譯出錯,無法解析system!Java對大小寫敏感!代碼錯誤常見錯誤5-3publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println("我的第一個Eclipse小程序!") }}每一條Java語句必須以分號結束!;代碼錯誤常見錯誤5-4publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println(我的第一個Eclipse小程序!); }}注意:不要漏寫引號!"常見錯誤5-5操作演示4:程序排錯技巧程序運行出現了問題,怎么辦?如何定位錯誤代碼的位置?如何知道錯誤的原因?糾正代碼中的錯誤,輸出“早上好!”小結2publicclassTest{
publicstaticvoidmain(){system.out.println(“早上好!”);}}System中S要大寫main方法沒有提供參數指導——Eclipse快速上手訓練要點:熟練掌握Eclipse使用的相關技巧需求說明:在Eclipse的代碼編輯區(qū)域,為練習2代碼顯示行號給練習2中的項目名進行重新命名在Eclipse中刪除練習2中項目在包資源管理器中的顯示,但是不刪除源文件講解需求說明完成時間:15分鐘練習——商品價目表需求說明:在控制臺輸出商品價目表。使用\t和\n進行顯示格式的控制完成時間:15分鐘練習——開發(fā)購物系統(tǒng)菜單需求說明:在控制臺輸出購物系統(tǒng)登錄菜單和系統(tǒng)主菜單完成時間:15分鐘總結什么是計算機程序?Java可以編寫哪兩類程序?
Java相關的技術有哪些?使用記事本開發(fā)Java程序的步驟是什么?Java程序的基本框架是什么?如何在控制臺輸出一條信息?使用Eclipse開發(fā)Java程序的步驟是什么?
作業(yè)課后作業(yè)必做環(huán)境的配置與簡單代碼的編寫和實現選做我行我素代碼的研究提交時間:不定提交形式:不定預習作業(yè)復習數據類型和表達式Java程序設計變量、數據類型和運算符第二章糾正代碼中的錯誤,輸出“早上好!”說出開發(fā)Java程序的步驟介紹Java常用的兩種注釋類型說出使用Eclipse開發(fā)Java程序的步驟publicclassTest{publicvoidmain(String[]args){system.out.println("早上好!")}}staticSystem的首字母S要大寫回顧與作業(yè)點評缺少;變量的定義是什么?Java定義的常用數據類型有哪些?“%”和“/”分別執(zhí)行什么運算?發(fā)生自動類型轉換的條件是什么?如何進行強制類型轉換?預習檢查實現運算功能:計算成績差計算成績平均分升級“我行我素購物管理系統(tǒng)”:實現購物結算,并打印購物小票模擬商場幸運抽獎計算員工工資本章任務掌握變量的概念會使用常用數據類型會使用賦值運算符和算術運算符會進行數據類型轉換掌握鍵盤輸入本章目標電腦使用內存來記憶計算時所使用的數據內存如何存儲數據內存像旅館數據各式各樣,要先根據數據的需求(即類型)為它申請一塊合適的空間1、開房間(單人間、雙人間、總統(tǒng)套間)2、入住內存如何存放數據1000*(1+5%)內存10001050變量:一個數據存儲空間的表示98.76不同數據存入具有不同內存地址的空間,相互獨立變量2-1已經將數據存入內存,但是:怎么找到存入的數據?1、在銀行存1000元錢,銀行一年的利息5%,那一年之后錢變成了多少?內存地址不好記,怎么辦?通過內存中小房間的別名找到數據存儲的位置通過變量名可以簡單快速地找到它存儲的數據房間房間名字房間類型入住的客人變量變量名變量類型變量值對應變量2-2數據屬于不同類別非洲ThequickbrownfoxTRUE數據非數值數值整型非整型9002.129999/12/20032.175123陳揚char非數值數值整型int…………double非整型String數據類型Java常用數據類型數據類型說明數據類型說明char(字符型)用于存儲單個字符如:性別‘男’、‘女’,電燈‘開’、‘關’int(整型)用于存儲整數如:一天的時間是24小時,一月份有31天double(雙精度)用于存儲小數如:蒙牛早餐奶的價格1.3元,手機待機時間6.5小時String(字符串)用于存儲一串字符如:“我的愛好是踢足球”,“我喜歡Java程序”
publicclassMyVariable{publicstaticvoidmain(String[]args){
intmoney;//1.聲明一個變量 money=1000;//2.賦值
}}數據類型變量名內存空間存的數值System.out.println(money);//3.使用變量變量聲明及使用2-1演示示例1:如何存取變量intmoney=1000;//合二為一2、在內存中存儲本金1000元顯示內存中存儲的數據的值使用變量的步驟:第一步:聲明變量,即“根據數據類型在內存申請空間”第二步:賦值,即“將數據存儲至對應的內存空間”第一步和第二步可以合并第三步:使用變量,即“取出數據使用”數據類型變量名;intmoney;變量聲明及使用2-2變量名=數值;money=1000;數據類型變量名=數值;intmoney=1000;3、輸出Java課考試最高分:98.5輸出最高分學員姓名:張三輸出最高分學員性別:男publicclassTestType{publicstaticvoidmain(String[]args){
doublescore=98.5;Stringname="張三";
charsex='男';
System.out.println("本次考試成績最高分:"+score); System.out.println("最高分得主:"+name); System.out.println("性別:"+sex);}}單引號雙引號連接輸出信息數據類型舉例演示示例2:不同類型變量存取1、字母2、下劃線‘_’3、‘$’
符號首字母任意多的:1、數字2、字母3、下劃線‘_’4、‘$’符號其余部分變量名變量命名規(guī)范:簡短且能清楚地表明變量的作用,通常第一個單詞的首字母小寫,其后單詞的首字母大寫。例如:myScore變量命名規(guī)則2-1Java語言中,變量命名要符合一定規(guī)則money、score、name、sex檢查下面這些是否是合法的變量名principalcost_pricemarks_3$lastnamecity123ratediscount%zipcodeCityint××××變量命名規(guī)則2-2publicclassError1
{publicstaticvoidmain(String[]args){Stringtitle;System.out.println(title);}}Stringtitle;//聲明變量titletitle="Java";//賦值Stringtitle="Java";//聲明變量title并賦值12先聲明變量并賦值,然后才能使用代碼錯誤正確方案常見錯誤3-1變量名不能以%開始publicclassError2
{publicstaticvoidmain(String[]args){int%hour=18;System.out.println(%hour);}}代碼錯誤常見錯誤3-2publicclassError3
{publicstaticvoidmain(String[]args){Stringname="張三";Stringname="李四";}}聲明兩個同名變量導致編譯錯誤Stringname="張三";StringName="李四";Java程序區(qū)分大小寫正確方案常見錯誤3-3使用變量存儲以下MP3信息,并打印輸出品牌(brand):愛國者F928重量(weight):12.4電池類型(type):內置鋰電池價格(price):499
定義變量有哪兩種方式?小結1參考代碼intwangScore=80;//王浩成績intzhangScore;//張萌成績wangScore=zhangScore;System.out.println(“張萌成績是"+zhangScore);zhangScore=wangScore;
//將右邊的值給左邊的變量賦值運算符wangScorezhangScore8080副本代碼錯誤賦值運算符2-14、學員王浩的Java成績是80分,學員張萌的Java成績與王浩的相同,輸出張萌的成績變量名=
表達式;a=(b+3)+(b–1)表達式表達式表達式賦值運算符表達式舉例賦值運算符2-2表達式就是符號(如加號、減號)與操作數(如b,3等)的組合基本的算術運算5、從控制臺輸入學員王浩3門課程成績,編寫程序實現(1)Java課和SQL課的分數之差(2)3門課的平均分操作數操作數運算符+-*/%算術運算符3-1importjava.util.Scanner;publicclassScoreStat{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); System.out.print("STB的成績是:"); intstb=input.nextInt();//stb分數
//省略接收Java分數和SQL分數……
intdiffen;//分數差
doubleavg;//平均分
//省略輸出成績單代碼…… diffen=java-sql;//計算Java課和SQL課的成績差
System.out.println("Java和SQL的成績差:"+diffen); avg=(stb+java+sql)/3; //計算平均分
System.out.println("3門課的平均分是:"+avg); }}算術運算符3-2指定Scanner類路徑通過鍵盤的輸入得到STB的成績
計算成績差和平均分演示示例3:算術運算符的使用intnum1=5;intnum2=2;inta=num1%num2;intb=num1/num2;System.out.println(num1+"%"+num2+"="+a);System.out.println(num1+"/"+num2+"="+b);num1++;num2--;System.out.println("num1="+num1);System.out.println("num2="+num2);5%2=15/2=2下面代碼片斷的輸出結果是什么?輸出%:求商/:求余數等價于:num1=num1+1;等價于:num2=num2-1;num1=6num2=1輸出算術運算符3-31、根據天數(46)計算周數和剩余的天數2、已知圓的半徑radius=1.5,求其面積小結2提示:
intdays=46;//天數intweek=days/7;//星期intleftDay=days%7;//剩余的天數提示:
doublepi=3.14159;//圓周率
doubleradius=1.5;//半徑
doublearea=pi*radius*radius;//計算圓面積參考代碼參考代碼
doublefirstAvg=81.29;//第一次平均分
doublesecondAvg;//第二次平均分
intrise=2;secondAvg=firstAvg+rise;
System.out.println("第二次平均分是:"+secondAvg);自動類型轉換舉例6、某班第一次Java考試平均分81.29,第二次比第一次多2分,計算第二次考試平均分?規(guī)則1:如果一個操作數為double型,則整個表達式可提升為double型規(guī)則2:滿足自動類型轉換的條件兩種類型要兼容:數值類型(整型和浮點型)互相兼容目標類型大于源類型:例如:double型大于int型自動類型轉換規(guī)則
intage=19;charsex='女';
charresult=age+sex;
下面語句正確嗎?inta=10;intb=10.2;doublec=10;c=a;intd=c;int不可以自動轉換成chardouble不可以自動轉化成int常見錯誤intbefore=20;//apple筆記本市場份額doublerise=9.8;//增長的份額intnow=before+rise;//現在的份額intnow=before+(int)rise;
編譯出錯:不能完成自動類型轉換(類型名)表達式強制類型轉換intb=(int)10.2;doublea=10;intc=(int)a;更改為強制類型轉換強制類型轉換演示示例4:強制類型轉換7、去年Apple筆記本所占市場份額是20,今年增長的市場份額是9.8,求今年所占份額?小結3實現一個數字加密器,加密規(guī)則是:加密結果=(整數*10+5)/2+3.14159,加密結果仍為一整數提示://原始數據intdata=100;//加密計算intresult=(data*10+5)/2+(int)3.14159;參考代碼指導——計算購物結算訓練要點:運算符(*、=)的使用從控制臺輸出信息需求說明:用戶可以享受購物8折的優(yōu)惠,請計算實際消費金額實現思路:1、創(chuàng)建Java類Pay2、在Pay.java文件中聲明變量存儲信息3、計算總金額難點指導:消費總額=各商品的消費金額之和*折扣講解需求說明完成時間:25分鐘練習——打印購物小票并計算積分需求說明:結算時打印購物小票計算此次購物獲得的會員積分完成時間:25分鐘共性問題集中講解常見調試問題及解決辦法代碼規(guī)范問題共性問題集中講解指導——幸運抽獎訓練要點:運算符(%、/)的使用使用Scanner類接收用戶輸入需求說明:商場推出幸運抽獎活動根據抽獎規(guī)則計算會員卡號各位數字之和實現思路:1、接收輸入的會員卡號2、分解獲得各位數字3、計算各位數字之和難點指導:分解獲得各位數字講解需求說明完成時間:25分鐘練習——計算員工工資需求說明:從控制臺輸入基本工資,并計算輸出實領工資完成時間:20分鐘什么是變量?如何聲明變量、給變量賦值和使用變量?Java中常用的數據類型有哪些?算術運算符中“/”和“%”的區(qū)別是什么?如何接收鍵盤的輸入?發(fā)生自動類型轉換的條件是什么?如何進行強制類型轉換?總結作業(yè)課后作業(yè)必做我行我素代碼的研究選做自己實現我行我素的代碼提交時間:不定提交形式:不定預習作業(yè)選擇結構Java程序設計運算符和基本選擇結構第三章找出錯誤并更正輸出結果是什么?intradius=10;doublehigh=1.9;intvol=3.14*radius*radius*high;需進行強制類型轉換
intnum1=19;intnum2=89;inttemp;temp=num1;num1=num2;num2=temp;System.out.println(num1);System.out.println(num2);intvol=(int)(3.14*radius*radius*high);8919借助一個中間變量互換兩個變量的值回顧與作業(yè)點評boolean變量可以取哪些值?“=”和“==”的區(qū)別?常用的邏輯運算符及其作用?if-else選擇結構執(zhí)行的順序是什么?預習檢查使用boolean類型描述成績高低根據成績高低做出獎罰實現“我行我素購物管理系統(tǒng)”會員信息錄入本章任務掌握boolean類型的用法掌握關系運算符和邏輯運算符掌握基本if選擇結構本章目標用什么數據類型能表示一件藝術品是真貨還是假貨地鐵2號線的首發(fā)車時間是5:00嗎這次考試成績在90分之上嗎boolean(布爾)類型boolean類型的值:真:true假:falseboolean類型只有這兩個值?為什么需要boolean類型如何使用boolean類型1、從控制臺輸入張三同學的成績,與李四的成績(80分)比較,輸出“張三的成績比李四的成績高嗎?”的判斷結果intliSi=80;//學員李四成績booleanisBig;//聲明一個boolean類型的變量
Scannerinput=newScanner(System.in);
System.out.print("輸入學員張三成績:");//提示要輸入學員張三的成績int
zhangSan=input.nextInt();//輸入張三的成績
isBig=zhangSan>liSi;//將比較結果保存在boolean變量中System.out.println("張三成績比李四高嗎?"+isBig);//輸出比較結果定義boolean變量isBig,存儲比較結果將比較結果保存在isBig變量中演示示例1:用boolean變量描述信息比較高低、大小、長短等張三的考試成績是否比李四高大象是否比烏龜更長壽籃球跟地球一樣大嗎如何比較?使用關系運算符可以比較高低、大小、長短等?為什么使用關系運算符常用的關系運算符有哪些:>,<==,!=>=,<=張三的成績>李四的成績假大象的壽命<烏龜的壽命真籃球的大小==地球的大小假由此看出關系運算符的作用:用來做比較運算比較的結果:boolean類型什么是關系運算符為什么需要if選擇結構2、如果張浩的Java考試成績大于98分,張浩就能獲得一個MP4作為獎勵使用if選擇結構可以解決if選擇結構是根據條件判斷之后再做處理if(條件){//代碼塊}if(張浩的Java考試成績>90){獲得一個MP4作為獎勵;}結合問題2基本的if選擇結構什么是if選擇結構結果必須是布爾值只有一條語句時,建議不省略{}importjava.util.Scanner;publicclassGetPrize{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); System.out.print("輸入張浩的Java成績:");//提示輸入Java成績
intscore=input.nextInt(); //從控制臺獲取張浩的Java成績
if(score>90){ //判斷是否大于90分
System.out.println("老師說:不錯,獎勵一個MP4!"); } }}使用基本的if選擇結構演示示例2:使用基本if選擇結構使用復雜條件下的if選擇結構3-13、張浩Java成績大于98分,而且音樂成績大于80分,老師獎勵他;或者Java成績等于100分,音樂成績大于70分,老師也可以獎勵他分析:怎樣把多個條件連接起來?使用邏輯運算符運算符表達式說明&&條件1&&條件2僅僅兩個條件同時為真,結果為真||條件1||條件2只要兩個條件有一個為真,結果為真!!條件條件為真時,結果為假條件為假時,結果為真score1>98&&score2>80||score1==100&&score2>70
使用復雜條件下的if選擇結構3-2當運算符比較多,無法確定運算符執(zhí)行順序時,可以使用小括號控制一下順序運算符的優(yōu)先級最高的優(yōu)先級:小括號,即()最低的優(yōu)先級:賦值運算符,即=優(yōu)先級順序:!>算術運算符>比較運算符>&&>||(score1>98&&score2>80)||(score1==100&&score2>70)問題3的條件使用復雜條件下的if選擇結構3-3publicclassGetPrize2{ publicstaticvoidmain(String[]args){ intscore1=100;//張浩的Java成績
intscore2=72;//張浩的音樂成績
if((score1>98&&score2>80) ||(score1==100&&score2>70)){ System.out.println("老師說:不錯,獎勵一個MP4!"); } }}使用復雜條件下的if選擇結構解決問題3演示示例3:復雜條件下的if選擇結構4、如果張浩Java考試成績大于98分,老師就獎勵他一個MP4,否則老師就罰他進行編碼使用兩個基本if選擇結構使用if-else選擇結構實現if(score>98){ System.out.println("老師說:不錯,獎勵一個MP4!");}if(score<=98){ System.out.println("老師說:懲罰進行編碼!");}使用if-else選擇結構3-1
if-else選擇結構if(條件){//代碼塊1}else{//代碼塊2}if(張浩Java成績>98){獎勵一個MP4;}else{
懲罰進行編碼;}結合問題4使用if-else選擇結構3-2使用if-else選擇結構解決問題4publicclassSimpleIf2{ publicstaticvoidmain(String[]args){ intscore=91;//張浩的Java成績
if(score>98){ System.out.println("老師說:不錯,獎勵一個MP4!");
}else{ System.out.println("老師說:懲罰進行編碼!"); } }}使用if-else選擇結構3-3演示示例4:使用if-else結構練習——會員信息錄入需求說明:錄入會員信息判斷錄入的會員號是否合法完成時間:20分鐘共性問題集中講解常見調試問題及解決辦法代碼規(guī)范問題共性問題集中講解說出已學過的數據類型有哪些?舉例說明已學過的運算符有哪些?if和if-else選擇結構執(zhí)行的順序是什么?總結2-1總結2-2用戶輸入兩個數a、b。如果a能被b整除或a加b大于1000,則輸出a;否則輸出b提示:
if((a%b==0)||(a+b>100)){ System.out.println(a); }else{ System.out.println(b); }參考代碼Java程序設計復雜選擇結構第四章找出錯誤并更正輸出結果是什么?intage=10;if(age=20){System.out.println("年齡是20歲");
}條件結果必須是布爾值intscore=100;if(score>98) System.out.println("老師說:不錯,獎勵一個MP4!");else System.out.println("老師說:懲罰進行編碼!"); System.out.println(“老師說:一直到學會為止!");回顧與作業(yè)點評if(age==20)老師說:不錯,獎勵一個MP4!老師說:一直到學會為止!注意大括號的使用}{{}多重if選擇結構的執(zhí)行流程是怎樣的?if選擇結構書寫規(guī)范有哪些?switch選擇結構中break關鍵字的作用?多重if選擇結構和switch選擇結構的異同之處?預習檢查升級“我行我素購物管理系統(tǒng)”實現新增會員功能實現按會員優(yōu)惠計劃進行購物結算實現計算會員折扣實現購物菜單選擇實現換購功能本章任務掌握多重if和嵌套if選擇結構掌握switch選擇結構使用if判斷和輸出語句進行異常處理本章目標練習——實現幸運抽獎需求說明:抽獎規(guī)則:會員號的百位數字等于產生的隨機數字即為幸運會員完成時間:15分鐘
使用多重if選擇結構為什么使用多重if選擇結構將成績分成幾個連續(xù)區(qū)間判斷。使用單個if選擇結構無法完成,使用多個if選擇結構很麻煩1、對學員的結業(yè)考試成績評測成績>=90:優(yōu)秀成績>=80:良好 成績>=60:中等成績<60:差多重if選擇結構
if
(條件1){//代碼塊1
}
elseif
(條件2)
{//代碼塊2
}else
{//代碼塊3
}可以有多個可以省略什么是多重if選擇結構
int
score=70;//考試成績
if(score>=90){
System.out.println("優(yōu)秀");}
elseif(score>=80){
System.out.println("良好");}
elseif(score>=60){
System.out.println("中等");}
else{
System.out.println("差");}大于等于90分大于等于60分,小于80分小于60分大于等于80分,小于90分如何使用多重if選擇結構演示示例1:使用多重if選擇結構使用多重if選擇結構解決問題1如何使用多重if選擇結構2、我想買車,買什么車決定于我在銀行有多少存款如果我的存款超過500萬,我就買凱迪拉克否則,如果我的存款超過100萬,我就買帕薩特否則,如果我的存款超過50萬,我就買依蘭特否則,如果我的存款超過10萬,我就買奧托否則,我買捷安特
intmoney=52;//我的存款,單位:萬元 if(money>=500){
System.out.println("太好了,我可以買凱迪拉克"); }elseif(money>=100){
System.out.println("不錯,我可以買輛帕薩特"); }elseif(money>=50){
System.out.println("我可以買輛依蘭特"); }elseif(money>=10){
System.out.println("至少我可以買個奧托"); }else{
System.out.println("看來,我只能買個捷安特了"); }
如何使用多重if選擇結構各個條件的順序可以任意排列嗎?演示示例2:使用多重if選擇結構使用多重if選擇結構解決問題2為什么使用嵌套if選擇結構使用嵌套if選擇結構要判斷是否能夠進入決賽在確定進入決賽的情況下,還要判斷是進入男子組,還是進入女子組3、學校舉行運動會,百米賽跑跑入10秒內的學生有資格進決賽,根據性別分別進入男子組和女子組嵌套if選擇結構
if(條件1){if(條件2){
代碼塊1}else{
代碼塊2}}else{
代碼塊3}內層選擇結構什么是嵌套if選擇結構
if(score<=10){ if(gender.equals("男")){
System.out.println("進入男子組決賽!"); }elseif(gender.equals("女")){
System.out.println("進入女子組決賽!"); }
}else{
System.out.println("淘汰!");
}
如何使用嵌套if選擇結構外層選擇結構內層選擇結構if結構書寫規(guī)范為了使if結構更加清晰、避免執(zhí)行錯誤,應該把每個if或else包含的代碼塊都用大括號括起來相匹配的一對if和else應該左對齊內層的if結構相對于外層的if結構要有一定的縮進演示示例3:使用嵌套if選擇結構使用嵌套if選擇結構解決問題3指導——折扣計算訓練要點:嵌套if選擇結構需求說明:普通顧客購物滿100元打9折;會員購物打8折;會員購物滿200元打7.5折實現思路:1、外層判斷是否是會員2、內層判斷是否達到 相應打折要求難點指導:嵌套if選擇結構中{}的使用講解需求說明完成時間:20分鐘練習——計算會員折扣需求說明:會員購物時,根據積分的不同享受不同的折扣計算會員購物時獲得的折扣完成時間:20分鐘會員積分x
折扣x<2009折2000≤x<40008折4000≤x<80007折x≥80006折共性問題集中講解常見調試問題及解決辦法代碼規(guī)范問題共性問題集中講解
為什么使用switch選擇結構該問題屬于等值判斷解決方法:使用多重if選擇結構實現使用switch選擇結構解決使用多重if選擇結構的實現代碼4、韓嫣參加計算機編程大賽如果獲得第一名,將參加麻省理工大學組織的1個月夏令營如果獲得第二名,將獎勵惠普筆記本電腦一部如果獲得第三名,將獎勵移動硬盤一個否則,不給任何獎勵switch(表達式){
case
常量1:
語句;
break;
case
常量2:
語句;
break; …
default:
語句;}什么是switch選擇結構計算表達式的值如果等于常量1如果等于常量2如果沒有找到匹配的值switch選擇結構intmingCi=1;switch(mingCi){ case
1:System.out.println("參加麻省理工大學組織的1個月夏令營");
break;
case2:System.out.println("獎勵惠普筆記本電腦一部");
break;
case3:System.out.println("獎勵移動硬盤一個");
break;
default:System.out.println("沒有任何獎勵
");}第一名的情況下第二名的情況下第三名的情況下其他情況下如何使用switch選擇結構演示示例4:使用switch選擇結構使用switch選擇結構解決問題4intmingCi=1;switch(mingCi){ case
1:System.out.println("參加麻省理工大學組織的1個月夏令營");
case2:System.out.println("獎勵惠普筆記本電腦一部");
case3:System.out.println("獎勵移動硬盤一個");
default:System.out.println("沒有任何獎勵
");}輸出結果是什么?常見錯誤4-1如果需要每個case執(zhí)行完后跳出,在每個case后不要忘記寫break;int
mingCi=1;switch(mingCi){
case1:System.out.println("參加麻省理工大學組織的1個月夏令營");
case2:System.out.println("獎勵惠普筆記本電腦一部");
case2:System.out.println("獎勵移動硬盤一個");
default:System.out.println("沒有任何獎勵");}case后面的常量必須各不相同代碼錯誤常見錯誤4-2int
mingCi=6;switch(mingCi){
default:System.out.println("沒有任何獎勵");
case1:System.out.println("參加麻省理工大學組織的1個月夏令營");
case2:System.out.println("獎勵惠普筆記本電腦一部");
case3:System.out.println("獎勵移動硬盤一個");}常見錯誤4-3輸出結果是什么?default塊順序可以變動,但要注意其執(zhí)行順序。通常,default塊放在末尾,也可以省略Stringday="星期一";switch(day){
case"星期一":System.out.println("星期一:青菜");
break;
case"星期二":System.out.println("星期二:魚");
break;……
default:}switch后面小括號中表達式的值必須是整型或字符型代碼錯誤常見錯誤4-4演示示例5:switch選擇結構常見錯誤相同點不同點switch選擇結構多重if選擇結構都是用來處理多分支條件的結構只能處理等值條件判斷的情況,而且條件必須是整型變量或字符型變量沒有switch選擇結構的限制,特別適合某個變量處于某個連續(xù)區(qū)間時的情況比較switch和多重if選擇結構指導——菜單跳轉訓練要點:switch選擇結構需求說明:從登錄菜單跳轉到主菜單實現思路:1、使用數字標識菜單號2、獲取用戶輸入的數字3、執(zhí)行相應的操作難點指導:提高程序容錯性講解需求說明完成時間:25分鐘共性問題集中講解常見調試問題及解決辦法代碼規(guī)范問題共性問題集中講解為了使程序更加健壯,程序員在編碼時要考慮用戶可能出現的任何問題,并且在程序中做出相應的判斷,給用戶一個友好的提示為什么要處理系統(tǒng)異常Scanner對象的hasNextInt()方法,可以判斷用戶從鍵盤輸入的字符是否是合法的數字5、菜單跳轉的程序,如果用戶錯誤地輸入了一個不允許的字符,例如“s”,程序會怎樣呢? Scannerinput=newScanner(System.in);
if(input.hasNextInt()){ intnum=input.nextInt(); switch(num){ case1: //顯示系統(tǒng)主菜單; break; case2: System.out.println("謝謝您的使用!");break; default: System.out.println("輸入錯誤。"); }
}else{ System.out.println("請輸入正確的數字!"); }如何處理系統(tǒng)異常如果輸入的是數字如果輸入的不是數字演示示例6:處理系統(tǒng)異常使用hasNextInt()解決問題5練習——實現商品換購需求說明:綜合運用嵌套if選擇結構、switch選擇結構、多重if選擇結構進行實現商品換購功能完成時間:25分鐘共性問題集中講解常見調試問題及解決辦法代碼規(guī)范問題共性問題集中講解輸入趙本山的考試成績,顯示所獲獎勵成績==100分,爸爸給他買輛車成績>=90分,媽媽給他買MP490分>成績>=60分,媽媽給他買本參考書成績<60分,什么都不買張三為他的手機設定了自動撥號按1:撥爸爸的號按2:撥媽媽的號按3:撥爺爺的號按4:撥奶奶的號小結參考代碼參考代碼描述幾種分支結構的語法和執(zhí)行過程?什么情況下會使用多重if選擇結構?多重if選擇結構和switch選擇結構的區(qū)別和適用場合是什么?總結作業(yè)課后作業(yè)必做Ppt上的習題選做Eclipse的快捷方式提交時間:xxx提交形式:xxx預習作業(yè)無循環(huán)結構Java程序設計循環(huán)結構(一)第五章分別寫出運行結果
switch(day){
case1:System.out.println("法國大餐");
break;
case2:
case4:System.out.println("滿漢全席");
break;
case7:
if(weekOfMonth==1){System.out.println("蘋果餐");}else{System.out.println("香蕉餐");}
break;}法國大餐香蕉餐weekOfMonth=1day=1假設weekOfMonth=2day=7假設回顧與作業(yè)點評舉例說明,循環(huán)結構用于解決哪些問題?循環(huán)結構中使用了哪些關鍵字?程序調試有哪些步驟?預習檢查實現MyShopping查詢商品價格升級購物結算升級菜單切換本章任務理解循環(huán)的含義會使用while循環(huán)結構會使用do-while循環(huán)結構會使用調試解決簡單的程序錯誤本章目標System.out.println("第1遍寫:好好學習,天天向上!");System.out.println(“第2遍寫:好好學習,天天向上!");……System.out.println(“第100遍寫:好好學習,天天向上!");
100條為什么需要循環(huán)2-1決定寫一萬遍“好好學習,天天向上!”,怎么辦?1、張浩Java考試成績未達到自己的目標。為了表明自己勤奮學習的決心,他決定寫一百遍“好好學習,天天向上!”System.out.println("第1遍寫:好好學習,天天向上!");System.out.println(“第2遍寫:好好學習,天天向上!");System.out.println("第3遍寫:好好學習,天天向上!");System.out.println(“第4遍寫:好好學習,天天向上!");……System.out.println(“第9999遍寫:好好學習,天天向上!");System.out.println(“第10000遍寫:好好學習,天天向上!");int
i=1;while(i<=100){
System.out.println(“第”+i+“遍寫:好好學習,天天向上!");
i++;}i<=10000為什么需要循環(huán)2-2演示示例1:使用循環(huán)結構解決問題沒有使用循環(huán)結構使用while循環(huán)生活中的循環(huán)循環(huán)結構的特點打印50份試卷10000米賽跑旋轉的車輪循環(huán)結構
循環(huán)條件循環(huán)操作鍥而不舍地學習什么是循環(huán)特點:先判斷,再執(zhí)行while(循環(huán)條件
){
循環(huán)操作}符合條件,循環(huán)繼續(xù)執(zhí)行;否則,循環(huán)退出循環(huán)中被重復執(zhí)行的操作int
i=1;while(i<=100
){ System.out.println("好好學習!"); i++;}編碼規(guī)范:縮進、換行循環(huán)操作循環(huán)條件真假什么是while循環(huán)為了幫助張浩盡快提高成績,老師給他安排了每天的學習任務,其中上午閱讀教材,學習理論部分,下午上機編程,掌握代碼部分。老師每天檢查學習成果。如果不合格,則繼續(xù)進行循環(huán)條件循環(huán)操作怎樣使用while循環(huán)2-1使用while循環(huán)的步驟1、分析循環(huán)條件和循環(huán)操作2、套用while語法寫出代碼3、檢查循環(huán)是否能夠退出2、如何用程序描述下面這個故事呢? System.out.print("合格了嗎?(y/n):"); Stringanswer=input.next();
while(!"y".equals(answer)){
System.out.println("上午閱讀教材!"); System.out.println("下午上機編程!\n"); System.out.print("合格了嗎?(y/n):");
answer=input.next();
} System.out.println("完成學習任務!");循環(huán)條件循環(huán)操作比較兩個String類型的值是否相等怎樣使用while循環(huán)2-2演示示例2:使用while循環(huán)結構避免死循環(huán)小結12006年培養(yǎng)學員8萬人,每年增長25%,請問按此增長速度,到哪一年培訓學員人數將達到20萬人?提示:
1、循環(huán)條件和循環(huán)操作分別是什么?2、intyear=2006;doublestudents=80000;while…3、2007年培訓學員數量=80000*(1+0.25)參考代碼為什么需要程序調試3、在編寫程序過程中有時也出現錯誤,但不好發(fā)現和定位錯誤,有沒有好的方法呢?通過代碼閱讀或者加輸出語句查找程序錯誤當程序結構越來越復雜時,需要專門的技術來發(fā)現和定位錯誤,就是“程序調試”生活案例:電器調試,儀表調試當程序出錯時,我們也希望能這樣:
程序執(zhí)行時忽閃一下就運行結束,怎么讓程序一步一步運行?程序調試設置斷點單步運行觀察變量逐條語句執(zhí)行程序觀察程序執(zhí)行情況發(fā)現問題解決問題斷點:
程序暫停執(zhí)行的代碼行什么是程序調試 inti=1; System.out.println("程序調試演示,注意觀察i的值:"); while(i<5){ System.out.p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 臨時外聘保安合同模板
- 學校食堂設施設備合同范例
- 公司訂立合同模板
- 境外考察服務合同范例
- 學校合同范例范例
- 北京股權轉讓合同范例
- 養(yǎng)鴨租地合同范例
- 文物拍賣合同模板
- 勞務合同范例有竟
- 出口酒銷售合同范例
- 毛澤東思想概論
- 機械加工工時定額標準計算手冊
- 混凝土售后服務
- 盾構始發(fā)條件驗收
- GB/T 6726-2008汽車用冷彎型鋼尺寸、外形、重量及允許偏差
- GB/T 4372.1-2014直接法氧化鋅化學分析方法第1部分:氧化鋅量的測定Na2EDTA滴定法
- GB/T 30680-2014氟橡膠板通用技術條件
- GB/T 16830-2008商品條碼儲運包裝商品編碼與條碼表示
- GB 5226.1-2008機械電氣安全機械電氣設備第1部分:通用技術條件
- GA/T 850-2021城市道路路內停車位設置規(guī)范
- 雙代號網絡計劃圖習題
評論
0/150
提交評論