版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
初識Java大連理工大學軟件學院馬瑞新第1章初識JAVA.pptx第2章2.1數(shù)據(jù)類型和運算符.pptx第2章2.2選擇結(jié)構(gòu)(一).pptx第3章3.1選擇結(jié)構(gòu)(一).pptx第3章3.2選擇結(jié)構(gòu)(二).pptx第3章3.3循環(huán)結(jié)構(gòu)(一).pptx第3章3.4循環(huán)結(jié)構(gòu)(二).pptx第4章數(shù)組.pptx第5章綜合案例:圖書借閱系統(tǒng).pptx第6章6.1類和對象.pptx第6章6.2類的方法.pptx第6章6.3對象和封裝.pptx第7章7.1繼承.pptx第7章7.2多態(tài).pptx第8章汽車租賃.pptx第9章9.1集合框架.pptx第10章異常.pptx第11章接口.pptx第12章星云圖書銷售.pptx第13章文件操作.pptx第14章多線程.pptx第14章注解.pptx第15章反射機制.pptx第16章橙夢體育業(yè)務大廳.pptx第17章JDBC.pptx第18章DAO模式.pptx第19章鮮花商店.pptx什么是程序程序程序一詞來自生活,通常指完成某些事情的一種既定方式和過程可以將程序看成對一系列動作的執(zhí)行過程的描述什么是指令?1、做口述筆記……2、鍵入信函的內(nèi)容……3、發(fā)送傳真……1、口述2、信函System.out.println("口述");System.out.println("信函");System.out.println("傳真");程序員老板秘書要執(zhí)行的一組指令程序3、傳真計算機中的程序指令被逐條執(zhí)行計算機程序:為了讓計算機執(zhí)行某些操作或解決某個問題而編寫的一系列有序指令的集合!編寫程序的工具就是計算機語言,Java就是多種語言中的一種!Java是SunMicrosystems于1995年推出的高級編程語言Java的產(chǎn)生JamesGoslingJava發(fā)展史Java技術(shù)平臺Java平臺的體系結(jié)構(gòu)為什么學習JavaJava是SunMicrosystems于1995年推出的高級編程語言Java領(lǐng)域的JavaSE、JavaEE技術(shù)已發(fā)展成為同C#和.NET平分天下的應用軟件開發(fā)平臺和技術(shù)PK.PK.Java可以做什么開發(fā)桌面應用程序銀行軟件、商場結(jié)算軟件開發(fā)面向Internet的應用程序網(wǎng)上數(shù)碼商城、阿里巴巴、易趣網(wǎng)Java技術(shù)平臺簡介JavaSE:標準版Java技術(shù)的基礎(chǔ)和核心主要用于開發(fā)桌面應用程序JavaEE:企業(yè)版提供了企業(yè)級應用開發(fā)的完整解決方案很多的網(wǎng)站都是采用JavaEE技術(shù)開發(fā)開發(fā)Java程序三步走1、編寫源程序2、編譯源程序3、運行安裝、配置JDK下載JDK1.8安裝包配置環(huán)境變量系統(tǒng)變量pathJava虛擬機與跨平臺原理publicclassHelloWorld{
publicstaticvoidmain(String[]args){System.out.println("HelloWorld!!!");}}外層框架Java入口程序框架編寫代碼Java程序的結(jié)構(gòu)語法publicclassHelloWorld{
publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!!!"); }}Java程序的結(jié)構(gòu)關(guān)鍵字類名與文件名完全一樣main()方法是Java程序執(zhí)行的入口點{和}一一對應,缺一不可main()方法四要素必不可少從控制臺輸出信息分析從控制臺輸出信息2-1System.out.println("HelloWorld!!!");System.out.print("HelloWorld!!!");打印完引號中的信息后會自動換行打印輸出信息后不會自動換行問題System.out.println()和System.out.print()有什么區(qū)別呢?!System.out.println()System.out.println()從控制臺輸出信息2-2如何使下面2個語句達到同樣的效果?publicclassHelloWorld{
publicstaticvoidmain(String[]args){ System.out.print("HelloWorld!!!\n"); }}打印輸出信息后將會自動換行使用轉(zhuǎn)義符
分析問題示例System.out.println();System.out.print();轉(zhuǎn)義符說明\n將光標移動到下一行的第一格\t將光標移到下一個水平制表位置從控制臺打印輸出張三的姓名和年齡從控制臺打印輸出字符串:“張三18”System.out.println("張三");System.out.println("18");System.out.print("張三\n");System.out.print("18");println():輸出信息并換行print():輸出信息,但不換行\(zhòng)n:換行符小結(jié)現(xiàn)場編程System.out.println("張三\t18");\t:制表位小結(jié)Java程序的注釋2-1語法publicclassHelloWorld{ publicstaticvoidmain(String[]args){
//輸出消息到控制臺
System.out.println("HelloWorld!!!");
}}單行注釋以//開始!/**HelloWorld.java*2017-4-23*第一個Java程序*/publicclassHelloWorld{
publicstaticvoidmain(String[]args){
/*
System.out.println("HelloWorld!!!");
System.out.println("HelloWorld!!!");*/
}}Java程序的注釋2-2文件的名稱日期功能說明多行注釋以“/*”開頭,以“*/”結(jié)尾多行注釋的每一行開頭可寫一個或多個*語法publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("HelloWorld!!!");}}publicclassHelloWorld{ publicstaticvoidmain(String[]args) { System.out.println("HelloWorld!!!"); }}Java編碼規(guī)范2-1指出以下編碼中的不規(guī)范之處不同層次代碼沒有縮進“{”一般放在某一行最末Java編碼規(guī)范編碼規(guī)范的必要性基本規(guī)則專業(yè)化Java編碼規(guī)范一行只寫一條語句類名使用public修飾12代碼縮進
{}的使用及位置34使用Eclipse開發(fā)Java程序集成開發(fā)環(huán)境(IDE)將程序開發(fā)環(huán)境和程序調(diào)試環(huán)境集合在一起,方便程序員開發(fā)軟件使用Eclipse開發(fā)Java程序步驟運行Java程序4創(chuàng)建一個Java項目1手動創(chuàng)建Java源程序2編譯Java源程序3包資源管理器用包組織Java源文件,類似于文件夾選擇菜單“Window→ShowView→PackageExplorer”打開Java項目組織結(jié)構(gòu)JRE系統(tǒng)庫目錄:存放程序運行必須的系統(tǒng)庫文件src目錄:存放包和源文件publicclasshelloWorld{//源文件名為HelloWorld.java publicstaticvoidmain(String[]args){ System.out.println("我的第一個MyEclipse小程序!"); }}代碼錯誤常見錯誤5-1代碼閱讀public修飾的類的名稱必須與Java文件同名!!publicclassHelloWorld{ publicstaticmain(String[]args){ System.out.println("我的第一個MyEclipse小程序!"); }}void常見錯誤5-2代碼閱讀main()方法作為程序入口,void必不可少!!publicclassHelloWorld{ publicstaticvoidmain(String[]args){ system.out.println("我的第一個MyEclipse小程序!"); }}代碼錯誤常見錯誤5-3代碼閱讀語法出錯,無法解析system!Java對大小寫敏感!!publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println("我的第一個MyEclipse小程序!") }};常見錯誤5-4代碼閱讀每一條Java語句必須以分號結(jié)束!!publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println(我的第一個MyEclipse小程序!); }}"常見錯誤5-5代碼閱讀注意:不要漏寫引號!!使用JavaAPI幫助文檔使用API幫助文檔是一種良好的習慣小結(jié)程序運行出現(xiàn)了問題,怎么辦?如何定位錯誤代碼的位置?如何知道錯誤的原因?糾正代碼中的錯誤,輸出“早上好!”publicclassTest{publicstaticvoidmain(){system.out.println("早上好!");}}System中S要大寫main()方法沒有提供參數(shù)代碼閱讀提問操作—輸出商品價目表需求說明在控制臺輸出商品價目表使用\t和\n進行顯示格式的控制練習提示操作—開發(fā)購物系統(tǒng)菜單需求說明在控制臺輸出購物系統(tǒng)登錄菜單和系統(tǒng)主菜單練習總結(jié)程序是一系列有序指令的集合Java可以用于開發(fā)兩類程序Java程序結(jié)構(gòu)Java程序開發(fā)步驟使用記事本開發(fā)Java程序的步驟使用Eclipse開發(fā)Java程序的步驟桌面應用程序Internet應用程序初識Java1.編寫源程序2.編譯源程序3.運行類名與文件名完全一樣main()方法是Java程序的入口點main()方法的四要素“{”和“}”一一對應,缺一不可publicstaticvoidString[]args1.編輯源程序,以.java為后綴名保存2.javac命令編譯.java文件生成.class3.java命令運行.class文件1.創(chuàng)建一個Java項目2.手動創(chuàng)建Java源程序3.編譯Java源程序4.運行Java程序
基本數(shù)據(jù)類型和運算符上節(jié)回顧糾正代碼中的錯誤,輸出“早上好!”說出開發(fā)Java程序的步驟介紹Java常用的兩種注釋類型說出使用Eclipse開發(fā)Java程序的步驟publicclassTest{publicvoidmain(String[]args){system.out.println("早上好!")}}staticSystem的首字母S要大寫缺少;代碼閱讀提問35/48本章目標掌握變量的概念掌握常用數(shù)據(jù)類型會使用賦值運算符、算術(shù)運算符掌握boolean類型和關(guān)系運算符的使用會進行數(shù)據(jù)類型轉(zhuǎn)換掌握鍵盤輸入36/48內(nèi)存如何存放數(shù)據(jù)電腦使用內(nèi)存來記憶計算時所使用的數(shù)據(jù)內(nèi)存如何存儲數(shù)據(jù)內(nèi)存像旅館數(shù)據(jù)各式各樣根據(jù)數(shù)據(jù)的需求(即類型)為它申請一塊合適的空間1.開房間(單人間、雙人間、總統(tǒng)套間)2.入住37/48在銀行存1000元錢,銀行一年的利息5%,一年之后錢變成了多少?1000*(1+5%)內(nèi)存1000變量:一個數(shù)據(jù)存儲空間的表示98.76不同數(shù)據(jù)存入具有不同內(nèi)存地址的空間,相互獨立變量2-1已經(jīng)將數(shù)據(jù)存入內(nèi)存,但是:怎么找到存入的數(shù)據(jù)?問題105038/48變量2-2內(nèi)存地址不好記,怎么辦?通過內(nèi)存中小房間的別名找到數(shù)據(jù)存儲的位置通過變量名可以簡單快速地找到它存儲的數(shù)據(jù)房間房間名字房間類型入住的客人變量變量名變量類型變量值對應問題39/48數(shù)據(jù)屬于不同類別非洲Thequickbrownfox
TRUE數(shù)據(jù)非數(shù)值數(shù)值整型非整型9002.129999/12/20032.175123陳揚char非數(shù)值數(shù)值整型int…………double非整型String數(shù)據(jù)類型Java常用數(shù)據(jù)類型40/48數(shù)據(jù)類型說明數(shù)據(jù)類型說明char(字符型)用于存儲單個字符如:性別‘男’、‘女’,電燈‘開’、‘關(guān)’int(整型)用于存儲整數(shù)如:一天的時間是24小時,一月份有31天double(雙精度)用于存儲小數(shù)如:蒙牛早餐奶的價格1.3元,手機待機時間6.5小時String(字符串)用于存儲一串字符如:“我的愛好是踢足球”,“我喜歡Java程序”
41/48publicclassMyVariable{publicstaticvoidmain(String[]args){
intmoney;//1.聲明一個變量
money=1000;//2.賦值
}}數(shù)據(jù)類型變量名內(nèi)存空間存的數(shù)值System.out.println(money);//3.使用變量intmoney=1000;//合二為一在內(nèi)存中存儲本金1000元顯示內(nèi)存中存儲數(shù)據(jù)的值問題變量聲明及使用2-142/48變量聲明及使用2-2使用變量的步驟第一步:聲明變量,即“根據(jù)數(shù)據(jù)類型在內(nèi)存申請空間”第二步:賦值,即“將數(shù)據(jù)存儲至對應的內(nèi)存空間”第一步和第二步可以合并第三步:使用變量,即“取出數(shù)據(jù)使用”數(shù)據(jù)類型變量名;intmoney;變量名=數(shù)值;money=1000;數(shù)據(jù)類型變量名=數(shù)值;int
money=1000;43/48常量finalintNUM=10;finaldoublePI=3.14;intr=2; doublearea=PI*r*r;在程序運行中,其值不能改變的量如何表示?問題分析優(yōu)點:比較安全推薦做法:(1)常量名通常大寫(2)不同字符使用下劃線分隔(3)只能被賦值一次,通常定義時即對其初始化44/48數(shù)據(jù)類型舉例輸出Java課考試最高分:98.5輸出最高分學員姓名:張三輸出最高分學員性別:男publicclassTestType{publicstaticvoidmain(String[]args){
doublescore=98.5;Stringname="張三";charsex='男';
System.out.println("本次考試成績最高分:"+score);
System.out.println("最高分得主:"+name);
System.out.println("性別:"+sex);}}單引號雙引號連接輸出信息問題45/48Java語言中,變量命名要符合一定規(guī)則money、score、name、sex1、字母2、下劃線‘_’3、‘$’符號首字母任意多的:1、數(shù)字2、字母3、下劃線‘_’4、‘$’符號其余部分變量名變量命名規(guī)則2-1變量命名規(guī)范:簡短且能清楚地表明變量的作用,通常第一個單詞的首字母小寫,其后單詞的首字母大寫。例如:myScore!實際開發(fā)時,為了易于維護,盡量使用有意義的變量名!46/48變量命名規(guī)則2-2檢查下面這些是否是合法的變量名principalcost_pricemarks_3$lastnamecity123ratediscount%zipcodeCityint提問47/48publicclassError1{publicstaticvoidmain(String[]args){Stringtitle;System.out.println(title);}}Stringtitle;//聲明變量titletitle="Java";//賦值Stringtitle="Java";//聲明變量title并賦值12先聲明變量并賦值,然后才能使用代碼錯誤正確做法常見錯誤3-1代碼閱讀局部變量title可能尚未初始化48/48變量名不能以%開始publicclassError2{publicstaticvoidmain(String[]args){int%hour=18;System.out.println(%hour);}}代碼錯誤常見錯誤3-2標記“%”上有語法錯誤,刪除標記代碼閱讀49/48publicclassError3{publicstaticvoidmain(String[]args){Stringname="張三";Stringname="李四";}}聲明兩個同名變量導致編譯錯誤Stringname="張三";StringName="李四";Java程序區(qū)分大小寫正確方案常見錯誤3-3局部變量name重復代碼閱讀50/48定義變量有哪兩種方式?使用變量存儲以下MP3信息,并打印輸出品牌(brand):愛國者F928重量(weight):12.4電池類型(type):內(nèi)置鋰電池價格(price):499小結(jié)提問現(xiàn)場編程51/48王浩的Java成績是80分,張萌的Java成績與王浩的相同,輸出張萌的成績intwangScore=80;//王浩成績intzhangScore;//張萌成績wangScore=zhangScore;System.out.println(“張萌成績是"+zhangScore);zhangScore=wangScore;//將右邊的值給左邊的變量賦值運算符wangScorezhangScore8080副本代碼錯誤賦值運算符2-1問題52/48賦值運算符變量名=表達式;a=(b+3)+(b–1)表達式表達式表達式賦值運算符2-2表達式舉例語法表達式就是符號(如加號、減號)與操作數(shù)(如b,3等)的組合!53/48算術(shù)運算符3-1基本的算術(shù)運算從控制臺輸入王浩3門課程成績,編寫程序?qū)崿F(xiàn)(1)Java課和SQL課的分數(shù)之差
(2)3門課的平均分操作數(shù)操作數(shù)運算符問題54/48importjava.util.Scanner;publicclassScoreStat{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); System.out.print("STB的成績是:"); intstb=input.nextInt();//stb分數(shù)
//省略接收Java分數(shù)和SQL分數(shù)……
intdiffen;//分數(shù)差
doubleavg;//平均分
//省略輸出成績單代碼…… diffen=java-sql;//計算Java課和SQL課的成績差
System.out.println("Java和SQL的成績差:"+diffen); avg=(stb+java+sql)/3; //計算平均分
System.out.println("3門課的平均分是:"+avg); }}算術(shù)運算符3-2指定Scanner類路徑通過鍵盤的輸入得到STB的成績計算成績差和平均分55/48intnum1=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算術(shù)運算符3-3下面代碼片斷的輸出結(jié)果是什么?輸出%:求余數(shù)/:求商等價于:num1=num1+1;等價于:num2=num2-1;num1=6num2=1輸出代碼閱讀56/48小結(jié)根據(jù)天數(shù)(46)計算周數(shù)和剩余的天數(shù)已知圓的半徑radius=1.5,求其面積提示:
intdays=46;//天數(shù)intweek=days/7;//星期intleftDay=days%7;//剩余的天數(shù)提示:
doublepi=3.14159;//圓周率
doubleradius=1.5;//半徑
doublearea=pi*radius*radius;//計算圓面積現(xiàn)場編程57/48自動類型轉(zhuǎn)換舉例某班第一次Java考試平均分81.29,第二次比第一次多2分,計算第二次考試平均分?問題
doublefirstAvg=81.29;//第一次平均分
doublesecondAvg;//第二次平均分
intrise=2;
secondAvg=firstAvg+rise;
System.out.println("第二次平均分是:"+secondAvg);58/48自動類型轉(zhuǎn)換規(guī)則規(guī)則1:如果一個操作數(shù)為double型,則整個表達式可提升為double型規(guī)則2:滿足自動類型轉(zhuǎn)換的條件兩種類型要兼容數(shù)值類型(整型和浮點型)互相兼容目標類型大于源類型例如:double型大于int型59/48下面語句正確嗎?
intage=19;charsex='女';charresult=age+sex;常見錯誤inta=10;intb=10.2;doublec=10;c=a;intd=c;int不可以自動轉(zhuǎn)換成chardouble不可以自動轉(zhuǎn)化成int代碼閱讀60/48強制類型轉(zhuǎn)換intbefore=20;//apple筆記本市場份額doublerise=9.8;//增長的份額intnow=before+rise;//現(xiàn)在的份額intnow=before+(int)rise;
(類型名)表達式intb=(int)10.2;doublea=10;intc=(int)a;更改為強制類型轉(zhuǎn)換去年Apple筆記本所占市場份額是20,今年增長的市場份額是9.8,求今年所占份額?語法問題編譯出錯:不能完成自動類型轉(zhuǎn)換強制類型轉(zhuǎn)換61/48小結(jié)實現(xiàn)一個數(shù)字加密器,加密規(guī)則是
加密結(jié)果=(整數(shù)*10+5)/2+3.14159加密結(jié)果仍為一整數(shù)提示://原始數(shù)據(jù)intdata=100;//加密計算intresult=(data*10+5)/2+(int)3.14159;現(xiàn)場編程62/48比較高低、大小、長短等張三的考試成績是否比李四高大象是否比烏龜更長壽籃球跟地球一樣大嗎如何比較?為什么使用關(guān)系運算符?使用關(guān)系運算符可以比較高低、大小、長短等!!問題63/48常用的關(guān)系運算符有哪些?>,<==,!=>=,<=什么是關(guān)系運算符張三的成績>李四的成績假大象的壽命<烏龜?shù)膲勖婊@球的大小==地球的大小假由此看出關(guān)系運算符的作用:用來做比較運算比較的結(jié)果:boolean類型問題64/48用什么數(shù)據(jù)類型能表示?一件藝術(shù)品是真貨還是假貨地鐵2號線的首發(fā)車時間是5:00嗎這次考試成績在90分之上嗎boolean(布爾)類型boolean類型的值真:true假:falseboolean類型只有這兩個值?為什么需要boolean類型65/48intliSi=80;//李四成績boolean
isBig;
Scannerinput=newScanner(System.in);
System.out.print("輸入學員張三成績:");int
zhangSan=input.nextInt();//輸入張三的成績
isBig=zhangSan>liSi;System.out.println("張三成績比李四高嗎?"+isBig);//輸出比較結(jié)果如何使用boolean類型從控制臺輸入張三同學的成績,與李四的成績(80分)比較,輸出“張三的成績比李四的成績高嗎?“
的判斷結(jié)果定義boolean變量isBig,存儲比較結(jié)果將比較結(jié)果保存在isBig變量中示例問題66/48運算符的優(yōu)先級運算符小結(jié)表達式(3+40%6)>(9/2*3)的結(jié)果是什么?問題最高的優(yōu)先級:小括號,即()最低的優(yōu)先級:賦值運算符,即=優(yōu)先級順序:算術(shù)運算符>關(guān)系運算符>邏輯運算符false當運算符比較多,無法確定運算符執(zhí)行順序時,可以使用小括號控制一下順序!67/48操作—實現(xiàn)購物結(jié)算2-1訓練要點運算符(*、=)的使用從控制臺輸出信息需求說明用戶可以享受購物8折的優(yōu)惠,請計算實際消費金額指導68/48操作—實現(xiàn)購物結(jié)算2-2實現(xiàn)思路創(chuàng)建Java類Pay聲明變量,存儲信息計算總金額消費總額=各商品的消費金額之和*折扣提示69/48操作—打印購物小票需求說明結(jié)算時打印購物小票計算此次購物獲得的會員積分練習70/48操作—模擬幸運抽獎2-1訓練要點算術(shù)運算符(%、/)的使用使用Scanner類接收用戶輸入關(guān)系運算符和boolean類型的用法需求說明商場推出幸運抽獎活動抽獎規(guī)則
顧客的四位會員卡號的
各位數(shù)字之和大于20,
則為幸運顧客指導71/48操作—模擬幸運抽獎2-2實現(xiàn)思路接收輸入的會員卡號分解并獲得各位數(shù)字計算各位數(shù)字之和分解并獲得各位數(shù)字intgewei=custNo%10;intshiwei=custNo/10%10;intbaiwei=custNo/100%10;intqianwei=custNo/1000;提示72/48操作—判斷折扣價格2-1訓練要點關(guān)系運算符的使用boolean類型的使用需求說明用戶從鍵盤接收商品折扣,并判斷商品享受此折扣后價格是否低于100指導73/48操作—判斷折扣價格2-2實現(xiàn)思路聲明變量存儲商品價格信息從鍵盤接收折扣,并保存計算商品享受折扣后的價格輸出商品折扣后價是否低于100比較運算的結(jié)果是boolean類型指導提示74/48總結(jié)變量數(shù)據(jù)類型運算符使用Scanner類提供的方法可以從鍵盤獲取輸入的信息Java基本概念在程序運行過程中允許改變其值的量通過變量名可以簡單快速地找到它存儲的數(shù)據(jù)用來區(qū)分不同的數(shù)據(jù)不同類型的數(shù)據(jù)要分配不同大小的內(nèi)存空間常用的數(shù)據(jù)類型數(shù)據(jù)類型轉(zhuǎn)換包括自動類型轉(zhuǎn)換和強制類型轉(zhuǎn)換intdoublecharStringboolean賦值運算符(=)算術(shù)運算符(+、–、*、/、%)關(guān)系運算符(>、<、>=、<=、==、!=)75/48選擇結(jié)構(gòu)
回顧與作業(yè)點評找出錯誤并更正輸出結(jié)果是什么?Scannerinput=newScanner(System.in);intnum1=input.next();intnum2=input.next();inti=num1>num2;System.out.println("num1大于num2嗎?"+i);
intnum1=19;intnum2=89;inttemp;temp=num1;num1=num2;num2=temp;System.out.println(num1+","+num2);89,19借助一個中間變量互換兩個變量的值intnum1=input.nextInt();intnum2=input.nextInt();boolean
i=num1>num2;代碼閱讀77/34為什么需要if選擇結(jié)構(gòu)如果張浩的Java考試成績大于98分,張浩就能獲得一個MP4作為獎勵問題使用if選擇結(jié)構(gòu)可以解決!78/34什么是if選擇結(jié)構(gòu)if選擇結(jié)構(gòu)是根據(jù)條件判斷之后再做處理if(條件){//代碼塊}if(張浩的Java考試成績>90){獲得一個MP4作為獎勵;}結(jié)合問題1基本的if選擇結(jié)構(gòu)結(jié)果必須是布爾值只有一條語句時,建議不省略{}語法79/34importjava.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選擇結(jié)構(gòu)80/34張浩的Java成績大于98分,而且音樂成績大于80分,老師會獎勵他;或者Java成績等于100分,音樂成績大于70分,老師也會獎勵他運算符表達式說明&&條件1&&條件2僅僅兩個條件同時為真,結(jié)果為真||條件1||條件2只要兩個條件有一個為真,結(jié)果為真!!條件條件為真時,結(jié)果為假條件為假時,結(jié)果為真獎勵的條件使用復雜條件下的if選擇結(jié)構(gòu)2-1分析:怎樣把多個條件連接起來?使用邏輯運算符運算符優(yōu)先級順序:!>算術(shù)運算符>比較運算符>&&>||(score1>98&&score2>80)||(score1==100&&score2>70)問題81/34使用復雜條件下的if選擇結(jié)構(gòu)2-2使用復雜條件的if選擇結(jié)構(gòu)解決老師獎勵張浩的問題publicclassGetPrize2{ publicstaticvoidmain(String[]args){ intscore1=100;//張浩的Java成績
intscore2=72;//張浩的音樂成績
if(
(
score1>98&&score2>80
) ||(score1==100&&score2>70
)
){ System.out.println("老師說:不錯,獎勵一個MP4!"); } }}示例82/34如果張浩Java考試成績大于98分,老師就獎勵他一個MP4,否則老師就罰他進行編碼使用兩個基本if選擇結(jié)構(gòu)使用if-else選擇結(jié)構(gòu)實現(xiàn)if(score>98){ System.out.println("老師說:不錯,獎勵一個MP4!");}if(score<=98){ System.out.println("老師說:懲罰進行編碼!");}問題使用if-else選擇結(jié)構(gòu)3-183/34if-else選擇結(jié)構(gòu)if
(條件){//代碼塊1}else{//代碼塊2}if(張浩Java成績>98){獎勵一個MP4;}else{
懲罰進行編碼;}結(jié)合問題3使用if-else選擇結(jié)構(gòu)3-2語法84/34publicclassSimpleIf{ publicstaticvoidmain(String[]args){ intscore=91;//張浩的Java成績
if(score>98){ System.out.println("老師說:不錯,獎勵一個MP4!");
}else{ System.out.println("老師說:懲罰進行編碼!"); } }}使用if-else選擇結(jié)構(gòu)3-3使用if-else選擇結(jié)構(gòu)解決問題3示例85/34小結(jié)買彩票如果體彩中了500萬,我買車、資助希望工程、去歐洲旅游如果沒中,我買下一期體彩,繼續(xù)燒高香現(xiàn)場編程86/34操作—實現(xiàn)幸運抽獎2-1訓練要點if-else選擇結(jié)構(gòu)需求說明抽獎規(guī)則:會員號的百位數(shù)字等于產(chǎn)生的隨機數(shù)字即為幸運會員指導87/34操作—實現(xiàn)幸運抽獎2-2實現(xiàn)思路產(chǎn)生隨機數(shù)從控制臺接收一個4位會員號分解獲得百位數(shù)判斷是否是幸運會員指導提示產(chǎn)生隨機數(shù)(0~9)的方法intrandom=(int)(Math.random()*10);88/34操作—會員信息錄入需求說明錄入會員信息判斷錄入的會員號是否合法練習89/34為什么使用多重if選擇結(jié)構(gòu)對學員的結(jié)業(yè)考試成績評測成績>=80:良好成績>=60:中等成績<60:差使用多重if選擇結(jié)構(gòu)將成績分成幾個連續(xù)區(qū)間判斷單個if選擇結(jié)構(gòu)無法完成多個if選擇結(jié)構(gòu)很麻煩問題分析90/34
if(成績>=80){//代碼塊1
}elseif(成績>=60){//代碼塊2
}else{//代碼塊3
}什么是多重if選擇結(jié)構(gòu)可以有多個可以省略真假真假成績>=80成績>=60代碼塊1代碼塊2代碼塊3語法條件1條件291/34如何使用多重if選擇結(jié)構(gòu)使用多重if實現(xiàn)學員的結(jié)業(yè)考試成績評測intscore=70;//考試成績if(score>=80){
System.out.println("良好");}
elseif(score>=60){
System.out.println("中等");}
else{
System.out.println("差");}大于等于80分大于等于60分,小于80分小于60分示例92/34如何使用多重if選擇結(jié)構(gòu)我想買車,買什么車決定于我在銀行有多少存款如果我的存款超過500萬,我就買凱迪拉克否則,如果我的存款超過100萬,我就買帕薩特否則,如果我的存款超過50萬,我就買依蘭特否則,如果我的存款超過10萬,我就買奧托否則,如果我的存款10萬以下,我買捷安特問題93/34如何使用多重if選擇結(jié)構(gòu)使用多重if選擇結(jié)構(gòu)解決購車的問題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("看來,我只能買個捷安特了");}大于等于80分大于等于60分,小于80分各個條件的順序可以任意排列嗎?示例94/34為什么使用嵌套if選擇結(jié)構(gòu)學校舉行運動會,百米賽跑跑入10秒內(nèi)的學生有資格進決賽,根據(jù)性別分別進入男子組和女子組判斷是否能夠進入決賽在確定進入決賽的情況下,判斷是進入男子組,還是進入女子組問題分析使用嵌套if選擇結(jié)構(gòu)!95/34if(條件1){if(條件2){
//代碼塊1}else{
//代碼塊2}}else{
//代碼塊3}嵌套if選擇結(jié)構(gòu)2-1假真假真條件1條件2代碼塊3代碼塊2代碼塊1語法是否跑入10秒性別是否為男內(nèi)層選擇結(jié)構(gòu)96/34if(score<=10){
if(gender.equals("男")){
System.out.println("進入男子組決賽!");
}elseif(gender.equals("女")){
System.out.println("進入女子組決賽!");
}}else{ System.out.println("淘汰!");}
嵌套if選擇結(jié)構(gòu)2-2使用嵌套if選擇結(jié)構(gòu)解決百米賽跑的問題外層選擇結(jié)構(gòu)內(nèi)層選擇結(jié)構(gòu)if結(jié)構(gòu)書寫規(guī)范為了使if結(jié)構(gòu)更加清晰、避免執(zhí)行錯誤,應該把每個if或else包含的代碼塊都用大括號括起來相匹配的一對if和else應該左對齊內(nèi)層的if結(jié)構(gòu)相對于外層的if結(jié)構(gòu)要有一定的縮進示例97/34小結(jié)輸入小明的考試成績,顯示所獲獎勵成績==100分,爸爸給他買輛車100分>成績>=90分,媽媽給他買MP490分>成績>=60分,媽媽給他買本參考書成績<60分,什么都不買現(xiàn)場編程98/34學員操作—購物結(jié)算2-1訓練要點嵌套if選擇結(jié)構(gòu)需求說明指導顧客折扣普通顧客購物滿100元9折會員購物8折會員購物滿200元7.5折99/34學員操作—購物結(jié)算2-2實現(xiàn)思路外層判斷是否是會員內(nèi)層判斷是否達到相應打折要求嵌套if選擇結(jié)構(gòu)中{}的使用指導提示100/34操作—計算會員折扣需求說明會員購物時,根據(jù)積分的不同享受不同的折扣計算會員購物時獲得的折扣會員積分折扣x<20009折2000≤x<40008折4000≤x<80007折x≥80006折練習101/34總結(jié)基本if選擇結(jié)構(gòu):可以處理單分支的if選擇結(jié)構(gòu)if-else選擇結(jié)構(gòu):可以處理兩個分支的if選擇結(jié)構(gòu)多重if選擇結(jié)構(gòu):可以處理多個分支的if選擇結(jié)構(gòu)嵌套if選擇結(jié)構(gòu):可以處理某分支中嵌套if結(jié)構(gòu)的if選擇結(jié)構(gòu)if選擇結(jié)構(gòu)if(條件){//代碼塊}if(條件){//代碼塊1}else{ //代碼塊2}if(條件1){
if(條件2){//代碼塊1}else{//代碼塊2}}else{//代碼塊3}
if(成績>=80){//代碼塊1
}elseif(成績>=60){//代碼塊2
}else{//代碼塊3
}102/34選擇結(jié)構(gòu)
回顧與作業(yè)點評找出錯誤并更正輸出結(jié)果是什么?Scannerinput=newScanner(System.in);intnum1=input.next();intnum2=input.next();inti=num1>num2;System.out.println("num1大于num2嗎?"+i);
intnum1=19;intnum2=89;inttemp;temp=num1;num1=num2;num2=temp;System.out.println(num1+","+num2);89,19借助一個中間變量互換兩個變量的值intnum1=input.nextInt();intnum2=input.nextInt();boolean
i=num1>num2;代碼閱讀104/34為什么需要if選擇結(jié)構(gòu)如果張浩的Java考試成績大于98分,張浩就能獲得一個MP4作為獎勵問題使用if選擇結(jié)構(gòu)可以解決!105/34什么是if選擇結(jié)構(gòu)if選擇結(jié)構(gòu)是根據(jù)條件判斷之后再做處理if(條件){//代碼塊}if(張浩的Java考試成績>90){獲得一個MP4作為獎勵;}結(jié)合問題1基本的if選擇結(jié)構(gòu)結(jié)果必須是布爾值只有一條語句時,建議不省略{}語法106/34importjava.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選擇結(jié)構(gòu)107/34張浩的Java成績大于98分,而且音樂成績大于80分,老師會獎勵他;或者Java成績等于100分,音樂成績大于70分,老師也會獎勵他運算符表達式說明&&條件1&&條件2僅僅兩個條件同時為真,結(jié)果為真||條件1||條件2只要兩個條件有一個為真,結(jié)果為真!!條件條件為真時,結(jié)果為假條件為假時,結(jié)果為真獎勵的條件使用復雜條件下的if選擇結(jié)構(gòu)2-1分析:怎樣把多個條件連接起來?使用邏輯運算符運算符優(yōu)先級順序:!>算術(shù)運算符>比較運算符>&&>||(score1>98&&score2>80)||(score1==100&&score2>70)問題108/34使用復雜條件下的if選擇結(jié)構(gòu)2-2使用復雜條件的if選擇結(jié)構(gòu)解決老師獎勵張浩的問題publicclassGetPrize2{ publicstaticvoidmain(String[]args){ intscore1=100;//張浩的Java成績
intscore2=72;//張浩的音樂成績
if(
(
score1>98&&score2>80
) ||(score1==100&&score2>70
)
){ System.out.println("老師說:不錯,獎勵一個MP4!"); } }}示例109/34如果張浩Java考試成績大于98分,老師就獎勵他一個MP4,否則老師就罰他進行編碼使用兩個基本if選擇結(jié)構(gòu)使用if-else選擇結(jié)構(gòu)實現(xiàn)if(score>98){ System.out.println("老師說:不錯,獎勵一個MP4!");}if(score<=98){ System.out.println("老師說:懲罰進行編碼!");}問題使用if-else選擇結(jié)構(gòu)3-1110/34if-else選擇結(jié)構(gòu)if
(條件){//代碼塊1}else{//代碼塊2}if(張浩Java成績>98){獎勵一個MP4;}else{
懲罰進行編碼;}結(jié)合問題3使用if-else選擇結(jié)構(gòu)3-2語法111/34publicclassSimpleIf{ publicstaticvoidmain(String[]args){ intscore=91;//張浩的Java成績
if(score>98){ System.out.println("老師說:不錯,獎勵一個MP4!");
}else{ System.out.println("老師說:懲罰進行編碼!"); } }}使用if-else選擇結(jié)構(gòu)3-3使用if-else選擇結(jié)構(gòu)解決問題3示例112/34小結(jié)買彩票如果體彩中了500萬,我買車、資助希望工程、去歐洲旅游如果沒中,我買下一期體彩,繼續(xù)燒高香現(xiàn)場編程113/34操作—實現(xiàn)幸運抽獎2-1訓練要點if-else選擇結(jié)構(gòu)需求說明抽獎規(guī)則:會員號的百位數(shù)字等于產(chǎn)生的隨機數(shù)字即為幸運會員指導114/34操作—實現(xiàn)幸運抽獎2-2實現(xiàn)思路產(chǎn)生隨機數(shù)從控制臺接收一個4位會員號分解獲得百位數(shù)判斷是否是幸運會員指導提示產(chǎn)生隨機數(shù)(0~9)的方法intrandom=(int)(Math.random()*10);115/34操作—會員信息錄入需求說明錄入會員信息判斷錄入的會員號是否合法練習116/34為什么使用多重if選擇結(jié)構(gòu)對學員的結(jié)業(yè)考試成績評測成績>=80:良好成績>=60:中等成績<60:差使用多重if選擇結(jié)構(gòu)將成績分成幾個連續(xù)區(qū)間判斷單個if選擇結(jié)構(gòu)無法完成多個if選擇結(jié)構(gòu)很麻煩問題分析117/34
if(成績>=80){//代碼塊1
}elseif(成績>=60){//代碼塊2
}else{//代碼塊3
}什么是多重if選擇結(jié)構(gòu)可以有多個可以省略真假真假成績>=80成績>=60代碼塊1代碼塊2代碼塊3語法條件1條件2118/34如何使用多重if選擇結(jié)構(gòu)使用多重if實現(xiàn)學員的結(jié)業(yè)考試成績評測intscore=70;//考試成績if(score>=80){
System.out.println("良好");}
elseif(score>=60){
System.out.println("中等");}
else{
System.out.println("差");}大于等于80分大于等于60分,小于80分小于60分示例119/34如何使用多重if選擇結(jié)構(gòu)我想買車,買什么車決定于我在銀行有多少存款如果我的存款超過500萬,我就買凱迪拉克否則,如果我的存款超過100萬,我就買帕薩特否則,如果我的存款超過50萬,我就買依蘭特否則,如果我的存款超過10萬,我就買奧托否則,如果我的存款10萬以下,我買捷安特問題120/34如何使用多重if選擇結(jié)構(gòu)使用多重if選擇結(jié)構(gòu)解決購車的問題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("看來,我只能買個捷安特了");}大于等于80分大于等于60分,小于80分各個條件的順序可以任意排列嗎?示例121/34為什么使用嵌套if選擇結(jié)構(gòu)學校舉行運動會,百米賽跑跑入10秒內(nèi)的學生有資格進決賽,根據(jù)性別分別進入男子組和女子組判斷是否能夠進入決賽在確定進入決賽的情況下,判斷是進入男子組,還是進入女子組問題分析使用嵌套if選擇結(jié)構(gòu)!122/34if(條件1){if(條件2){
//代碼塊1}else{
//代碼塊2}}else{
//代碼塊3}嵌套if選擇結(jié)構(gòu)2-1假真假真條件1條件2代碼塊3代碼塊2代碼塊1語法是否跑入10秒性別是否為男內(nèi)層選擇結(jié)構(gòu)123/34if(score<=10){
if(gender.equals("男")){
System.out.println("進入男子組決賽!");
}elseif(gender.equals("女")){
System.out.println("進入女子組決賽!");
}}else{ System.out.println("淘汰!");}
嵌套if選擇結(jié)構(gòu)2-2使用嵌套if選擇結(jié)構(gòu)解決百米賽跑的問題外層選擇結(jié)構(gòu)內(nèi)層選擇結(jié)構(gòu)if結(jié)構(gòu)書寫規(guī)范為了使if結(jié)構(gòu)更加清晰、避免執(zhí)行錯誤,應該把每個if或else包含的代碼塊都用大括號括起來相匹配的一對if和else應該左對齊內(nèi)層的if結(jié)構(gòu)相對于外層的if結(jié)構(gòu)要有一定的縮進示例124/34小結(jié)輸入小明的考試成績,顯示所獲獎勵成績==100分,爸爸給他買輛車100分>成績>=90分,媽媽給他買MP490分>成績>=60分,媽媽給他買本參考書成績<60分,什么都不買現(xiàn)場編程125/34學員操作—購物結(jié)算2-1訓練要點嵌套if選擇結(jié)構(gòu)需求說明指導顧客折扣普通顧客購物滿100元9折會員購物8折會員購物滿200元7.5折126/34學員操作—購物結(jié)算2-2實現(xiàn)思路外層判斷是否是會員內(nèi)層判斷是否達到相應打折要求嵌套if選擇結(jié)構(gòu)中{}的使用指導提示127/34操作—計算會員折扣需求說明會員購物時,根據(jù)積分的不同享受不同的折扣計算會員購物時獲得的折扣會員積分折扣x<20009折2000≤x<40008折4000≤x<80007折x≥80006折練習128/34總結(jié)基本if選擇結(jié)構(gòu):可以處理單分支的if選擇結(jié)構(gòu)if-else選擇結(jié)構(gòu):可以處理兩個分支的if選擇結(jié)構(gòu)多重if選擇結(jié)構(gòu):可以處理多個分支的if選擇結(jié)構(gòu)嵌套if選擇結(jié)構(gòu):可以處理某分支中嵌套if結(jié)構(gòu)的if選擇結(jié)構(gòu)if選擇結(jié)構(gòu)if(條件){//代碼塊}if(條件){//代碼塊1}else{ //代碼塊2}if(條件1){
if(條件2){//代碼塊1}else{//代碼塊2}}else{//代碼塊3}
if(成績>=80){//代碼塊1
}elseif(成績>=60){//代碼塊2
}else{//代碼塊3
}129/34第四章選擇結(jié)構(gòu)(二)本章目標掌握switch選擇結(jié)構(gòu)能夠綜合運用if選擇結(jié)構(gòu)和switch選擇結(jié)構(gòu)解決問題131/25為什么使用switch選擇結(jié)構(gòu)韓嫣參加計算機編程大賽如果獲得第一名,將參加麻省理工大學組織的1個月夏令營如果獲得第二名,將獎勵惠普筆記本電腦一部如果獲得第三名,將獎勵移動硬盤一個否則,不給任何獎勵解決方法使用多重if選擇結(jié)構(gòu)實現(xiàn)使用switch選擇結(jié)構(gòu)解決問題缺點:結(jié)構(gòu)復雜,啰嗦特點:條件為等值判斷132/25switch(表達式){
case
常量1:
語句;
break;
case
常量2:
語句;
break; …
default:
語句;
break;}什么是switch選擇結(jié)構(gòu)switch選擇結(jié)構(gòu)計算表達式的值如果等于常量1如果等于常量2如果沒有找到匹配的值語法int、short、byte、char、枚舉、String類型133/25intmingCi=1;switch(mingCi){
case
1:System.out.println("參加麻省理工大學組織的1個月夏令營");break;
case2:System.out.println("獎勵惠普筆記本電腦一部");break;
case
3:System.out.println("獎勵移動硬盤一個");break;
default:System.out.println("沒有任何獎勵");}第一名的情況下第二名的情況下第三名的情況下其他情況下示例如何使用switch選擇結(jié)構(gòu)使用switch選擇結(jié)構(gòu)解決韓嫣獲獎問題134/25intmingCi=1;switch(mingCi){
case1:System.out.println("參加麻省理工大學組織的1個月夏令營");
case
2:System.out.println("獎勵惠普筆記本電腦一部");
case3:System.out.println("獎勵移動硬盤一個");
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 加油站安全管理三級教育考試試題含答案
- 球罐檢罐施工方案
- 2025年特殊作業(yè)試題卷及答案
- (2025年)醫(yī)療器械監(jiān)督管理條例培訓試題及答案
- 2025年消防情景模擬題目及答案
- 施工總體交通導行方案
- 2026年組織部個人年度工作總結(jié)
- 患者誤吸時的應急預案課件
- 2025年電工技師配電箱線路絕緣電阻檢測方法實戰(zhàn)訓練試卷及答案
- 建設(shè)工程施工合同糾紛要素式起訴狀模板格式有效規(guī)范
- 信訪工作系列知識培訓課件
- 壓力變送器拆校課件
- 2025年高考真題分類匯編必修二 《經(jīng)濟與社會》(全國)(原卷版)
- 支撐粱施工方案
- 2026屆高考英語二輪復習:2025浙江1月卷讀后續(xù)寫 課件
- 2.3.2 中國第一大河-長江 課件 湘教版地理八年級上冊
- 2025貴州省某大型國有企業(yè)招聘光伏、風電項目工作人員筆試備考題庫及答案解析
- 導致老年人跌倒的用藥風險研究
- GB 21256-2025粗鋼生產(chǎn)主要工序單位產(chǎn)品能源消耗限額
- 經(jīng)顱磁刺激在神經(jīng)疾病治療中的應用
- 裝修工人出意外合同范本
評論
0/150
提交評論