配套課件-Java開發(fā)實例教程_第1頁
配套課件-Java開發(fā)實例教程_第2頁
配套課件-Java開發(fā)實例教程_第3頁
配套課件-Java開發(fā)實例教程_第4頁
配套課件-Java開發(fā)實例教程_第5頁
已閱讀5頁,還剩479頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Java程序設(shè)計第1章概述1Java的發(fā)展歷史2Java語言的特點3Java虛擬機4Java的應(yīng)用5Java開發(fā)環(huán)境的建立6

Java應(yīng)用程序7編寫Java應(yīng)用程序注意事項本章目標(biāo)理解什么是程序了解Java的技術(shù)內(nèi)容掌握簡單調(diào)試與排錯技術(shù)什么是程序程序一詞來自生活,通常指完成某些事務(wù)的一種既定方式和過程在日常生活中,可以將程序看成對一系列動作的執(zhí)行過程的描述銀行1、帶上存折/銀行卡去銀行3、將存折或儲蓄卡遞給銀行職員并告知取款數(shù)額2、取號排隊5、銀行職員辦理取款事宜生活中的程序6、拿到錢并離開銀行4、輸入密碼計算機中的程序什么是指令?1、做口述筆記……2、鍵入信函的內(nèi)容……3、發(fā)送傳真……1、口述2、信函System.out.println("口述");System.out.println("信函");System.out.println("傳真");指令被逐條執(zhí)行程序員老板秘書程序:為了讓計算機執(zhí)行某些操作或解決某個問題而編寫的一系列有序指令的集合要執(zhí)行的一組指令程序3、傳真為什么學(xué)習(xí)Java

Java是SunMicrosystems于1995年推出的高級編程語言Java領(lǐng)域的JavaSE、JavaEE技術(shù)已發(fā)展成為同C#和.NET平分天下的應(yīng)用軟件開發(fā)平臺和技術(shù)PK.PK.Java可以做什么

開發(fā)桌面應(yīng)用程序銀行軟件、商場結(jié)算軟件開發(fā)面向Internet的應(yīng)用程序網(wǎng)上數(shù)碼商城、阿里巴巴、易趣網(wǎng)演示示例:Java2DDemoJava技術(shù)平臺簡介JavaSE:JavaPlatform,StandardEditionJavaEE:JavaPlatform,EnterpriseEdition

操作系統(tǒng)(包含運行環(huán)境)JavaEEJavaSE開發(fā)Java程序三步走1、編寫源程序2、編譯源程序3、運行publicclassHelloWord{publicstaticvoidmain(String[]args){

…這里填寫代碼!...}}Java程序框架外層框架Java入口程序框架填寫代碼第一個Java程序演示示例:如何創(chuàng)建一個Java程序publicclassHelloWord{publicstaticvoidmain(String[]args){System.out.println("你好!");}}分析程序publicclassHelloWord{

publicstaticvoidmain(String[]args){System.out.println("你好!");}}關(guān)鍵字高亮顯示類名與文件名完全一樣main方法是Java程序執(zhí)行的入口點{和}一一對應(yīng),缺一不可main方法四要素必不可少從控制臺輸出信息小結(jié)11、從控制臺打印輸出你的姓名和年齡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:制表位Java程序的注釋2-1/**HelloWod.java*2009-5-8*第一個Java程序*/publicclassHello{publicstaticvoidmain(String[]args){System.out.println("你好!");}}文件的名稱日期功能說明符號/**/指示中間的語句是該程序中的注釋多行注釋以/*開始,以*/結(jié)束Java程序的注釋2-2publicclassHello{publicstaticvoidmain(String[]args){

//輸出消息到控制臺

System.out.println("你好!");}}單行注釋以//開始,以行末結(jié)束Java編碼規(guī)范去掉public,程序可以運行,但不規(guī)范;規(guī)范要求類名必須使用public修飾!classHello{publicstaticvoidmain(String[]args){//輸出消息到控制臺

System.out.println("你好!");}}publicclasshello{publicstaticvoidmain(String[]args){//輸出消息到控制臺

System.out.println("你好!");}}常見錯誤5-1public修飾的類的名稱必須與Java文件同名!演示示例:程序排錯技巧代碼錯誤publicclassHello{publicstaticmain(String[]args){//輸出消息到控制臺

System.out.println("你好!");}}常見錯誤5-2main方法作為程序入口,void必不可少!voidpublicclassHello{publicstaticvoidmain(String[]args){//輸出消息到控制臺

system.out.println("你好!");}}常見錯誤5-3編譯出錯,無法解析system!Java對大小寫敏感!代碼錯誤publicclassHelloAccp{publicstaticvoidmain(String[]args){//輸出消息到控制臺

System.out.println("你好!")}}常見錯誤5-4每一條Java語句必須以分號結(jié)束!;代碼錯誤publicclassHelloAccp{publicstaticvoidmain(String[]args){//輸出消息到控制臺

System.out.println("你好!);}}常見錯誤5-5注意:不要漏寫引號!"小結(jié)2程序運行出現(xiàn)了問題,怎么辦?如何定位錯誤代碼的位置?如何知道錯誤的原因?編程輸出以下信息,并添加必要注釋*********************************************

歡迎進(jìn)入Java編程世界*********************************************總結(jié)什么是計算機程序?Java相關(guān)的技術(shù)有哪些?Java可以編寫哪兩類程序?Java程序的基本框架是什么?使用Eclipse開發(fā)Java程序的步驟是什么?

如何在控制臺輸出一條信息?第2章Java語言基礎(chǔ)1標(biāo)識符和關(guān)鍵字2變量和常量3基本數(shù)據(jù)類型4運算符5表達(dá)式、語句和語句塊回顧糾正代碼中的錯誤,輸出“早上好!”說出使用Eclipse開發(fā)Java程序的步驟?publicclassTest{publicvoidmain(String[]args){system.out.println("早上好!");}}staticSystem中S要大寫預(yù)習(xí)檢查為什么需要變量?Java定義的常用數(shù)據(jù)類型有哪些?舉例說明?“%”和“/”分別執(zhí)行什么運算?升級Java應(yīng)用程序“Hello”:輸出學(xué)生相關(guān)信息實現(xiàn)運算功能:計算成績差計算成績平均分本章任務(wù)掌握變量的概念會使用常用數(shù)據(jù)類型int,double,char,String會使用基本運算符賦值運算符,算術(shù)運算符會進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換本章目標(biāo)電腦使用內(nèi)存來記憶計算時所使用的數(shù)據(jù)內(nèi)存如何存儲數(shù)據(jù)?內(nèi)存像旅館數(shù)據(jù)各式各樣,要先根據(jù)數(shù)據(jù)的需求(即類型)為它申請一塊合適的空間1、開房間(單人間、雙人間、總統(tǒng)套間)2、入住√回顧內(nèi)存如何存放數(shù)據(jù)1000*(1+5%)內(nèi)存10001050變量:一個數(shù)據(jù)存儲空間的表示對于專業(yè)程序員,數(shù)據(jù)存入內(nèi)存不算完:怎么找到存入的數(shù)據(jù)?存進(jìn)去還能改嗎?98.76不同數(shù)據(jù)存入具有不同內(nèi)存地址的空間,相互獨立變量在銀行存1000元錢,銀行一年的利息5%,那一年之后錢變成了多少?內(nèi)存地址不好記,怎么辦?通過內(nèi)存中小房間的別名找到數(shù)據(jù)存儲的位置變量是存儲數(shù)據(jù)的一個基本單元房間房間名字房間類型入住的客人變量變量名變量類型變量值為什么需要變量對應(yīng)變量應(yīng)用1、在內(nèi)存中存儲本金1000元2、顯示內(nèi)存中存儲的數(shù)據(jù)的值publicclassHelloAccp1{publicstaticvoidmain(String[]args){

intmoney=1000;//存數(shù)據(jù)

}}數(shù)據(jù)類型變量名內(nèi)存空間存的數(shù)值演示示例:如何存取變量System.out.println(money);//使用數(shù)據(jù)變量的聲明和賦值使用變量的步驟:第一步:聲明一個變量第二步:賦值第三步:使用變量數(shù)據(jù)類型變量名=數(shù)值;根據(jù)類型開辟空間將數(shù)據(jù)存入空間取出數(shù)據(jù)使用數(shù)據(jù)類型變量名;變量名=數(shù)值;intmoney=1000;intmoney;money=1000;數(shù)據(jù)屬于不同類別非洲Thequickbrownfoxtrue

數(shù)據(jù)非數(shù)值數(shù)值整型非整型9002.129999/12/20032.175123陳揚char非數(shù)值數(shù)值整型int…………double非整型StringJava常用數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型說明char(字符型)用于存儲單個字符如:性別‘男’、‘女’,電燈‘開’、‘關(guān)’int(整型)用于存儲整數(shù)如:一天的時間是24小時,一月份有31天double(雙精度)用于存儲小數(shù)如:蒙牛早餐奶的價格1.3元,手機待機時間6.5小時String(字符串)用于存儲一串字符如:“我的愛好是踢足球”,“我喜歡Java程序”

數(shù)據(jù)類型說明數(shù)據(jù)類型的使用輸出Java課考試最高分:98.5輸出最高分學(xué)員姓名:張三輸出最高分學(xué)員性別:‘男’publicclassHelloAccp2{publicstaticvoidmain(String[]args){

doublescore=98.5;Stringname="張三";

charsex='男';System.out.println("本次考試成績最高分:"+score);//輸出其他……}}單引號雙引號完整代碼演示連接輸出信息演示示例:不同類型變量存取1、字母2、下劃線‘_’3、‘$’

符號首字母任意多的:1、數(shù)字2、字母3、下劃線‘_’4、‘$’符號其余部分變量名Java語言中,變量命名要符合一定規(guī)則money,score,name,sex變量命名規(guī)范:簡短且能清楚地表明變量的作用,通常第一個單詞的首字母小寫,其后單詞的首字母大寫。例如:myScore變量命名規(guī)則2-1變量命名規(guī)則2-2檢查下面這些是否是合法的變量名principalcost_pricemarks_3$lastnamecity123ratediscount%zipcodeCityint××××publicclassHelloAccp3{publicstaticvoidmain(String[]args){Stringtitle;System.out.println(title);}}Stringtitle;//聲明變量titletitle="Java";//賦值Stringtitle="Java";//聲明變量title并賦值12先聲明變量并賦值,然后才能使用常見錯誤1代碼錯誤正確方案變量名不能以%開始常見錯誤2publicclassHelloAccp4{publicstaticvoidmain(String[]args){int%hour=18;System.out.println(%hour);}}代碼錯誤publicclassHelloAccp5{publicstaticvoidmain(String[]args){Stringname="張三";Stringname="李四";}}聲明兩個同名變量導(dǎo)致編譯錯誤Stringname="張三";StringName="李四";Java程序區(qū)分大小寫常見錯誤3正確方案小結(jié)1使用變量存儲以下MP3信息,并打印輸出品牌(brand):愛國者F928重量(weight):12.4電池類型(type):內(nèi)置鋰電池價格(price):499

參考代碼定義變量有哪兩種方式?某班的A學(xué)員Java成績是80分,B學(xué)員與A學(xué)員成績相同,輸出B學(xué)員成績intaScore=80;intbScore;aScore=bScore;System.out.println(bScore);bScore=aScore;//將右邊的值給左邊的變量賦值運算符完整代碼演示aScorebScore8080副本賦值運算符2-1代碼錯誤變量名表達(dá)式;賦值運算符2-2=Z=(X*2)+(5–Y)表達(dá)式表達(dá)式表達(dá)式賦值運算符表達(dá)式舉例算術(shù)運算符3-1基本的算術(shù)運算某學(xué)員3門課成績?nèi)缬冶硭?,編程實現(xiàn):

1、Java課和SQL課的分?jǐn)?shù)之差

2、3門課的平均分操作數(shù)操作數(shù)運算符+-*/%課程分?jǐn)?shù)STB89Java90SQL60

publicclassHelloAccp7{publicstaticvoidmain(String[]args){intstb=89;//STB分?jǐn)?shù)

intjava=90;//Java分?jǐn)?shù)

intsql=60;//SQL分?jǐn)?shù)

intdiffen;//分?jǐn)?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演示示例:算術(shù)運算符的使用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下面代碼片斷的輸出結(jié)果是什么?輸出%:求余數(shù)/:求商等價于:num1=num1+1;等價于:num2=num2-1;num1=6num2=1輸出完整代碼演示算術(shù)運算符3-31、根據(jù)天數(shù)(46)計算周數(shù)和剩余的天數(shù)2、已知圓的半徑radius=1.5,求其面積參考代碼參考代碼小結(jié)2intnum1=9;intnum2=3;inta=num1%num2;doubleb=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--));9%3=09/3=3.0下面代碼片斷的輸出結(jié)果是什么?輸出%:求余數(shù)/:求商等價于:num1=num1+1;等價于:num2=num2-1;num1=11num2=2輸出上次內(nèi)容回顧本次課內(nèi)容1.數(shù)據(jù)類型轉(zhuǎn)換2.條件運算符3.布爾類型變量4.關(guān)系運算符5.語句塊1.自動類型轉(zhuǎn)換某班第一次Java考試平均分81.29,第二次比第一次多2分,計算第二次考試平均分?

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

doublesecondAvg;//第二次平均分

intrise=2;secondAvg=firstAvg+rise;

System.out.println("第二次平均分是:"+secondAvg);完整代碼演示在某種條件下,系統(tǒng)自動完成類型轉(zhuǎn)換兩種類型兼容例如:int和double兼容目標(biāo)類型大于源類型例如:double型大于int型對于表達(dá)式如果一個操作數(shù)為double型,則整個表達(dá)式可提升為double型類型提升規(guī)則

intage=19;charsex=‘女’;

charresult=age+sex;

下面語句正確嗎?inta=10;intb=10.2;doublec=10;c=a;intd=c;int不可以自動轉(zhuǎn)換成chardouble不可以自動轉(zhuǎn)化成int常見錯誤intbefore=20;//apple筆記本市場份額doublerise=9.8;//增長的份額intnow=before+rise;//現(xiàn)在的份額intnow=before+(int)rise;去年Apple筆記本所占的市場份額是20,今年增長的市場份額是9.8,求今年所占的份額?編譯出錯:不能完成自動類型轉(zhuǎn)換(類型名)表達(dá)式強制類型轉(zhuǎn)換intb=(int)10.2;doublea=10;intc=(int)a;1.強制類型轉(zhuǎn)換更改為演示示例:強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換完整代碼演示實現(xiàn)一個數(shù)字加密器,加密規(guī)則是:加密結(jié)果=(整數(shù)*10+5)/2+3.14159

加密結(jié)果仍為一整數(shù)參考代碼小結(jié)3條件運算符(“?:”)是唯一的三元運算符,有3個操作數(shù)參與運算。與C語言中的使用規(guī)則是完全一致的。條件運算格式如下:表達(dá)式1?表達(dá)式2:表達(dá)式3;2.條件運算符條件運算符根據(jù)“表達(dá)式1”的值來決定最終表達(dá)式的值是“表達(dá)式2”的值,還是“表達(dá)式3”的值?!氨磉_(dá)式1”的值是布爾類型值,如果其值是true,那么“表達(dá)式2”的值是最終表達(dá)式的值;如果“表達(dá)式1”的值是false,那么“表達(dá)式3”的值是最終表達(dá)式的值。例如:intmin,x=8,y=10;min=(x<y)?x:y;//結(jié)果是min取x和y中較小值,即min的值是8用什么數(shù)據(jù)類型能表示一件商品是真貨還是假貨一個條件成立還是不成立boolean(布爾)類型boolean類型的值:真:true假:falseboolean類型只有這兩個值?3.為什么需要boolean類型1、用boolean類型描述:學(xué)員張三的考試成績是否比學(xué)員李四(80分)高3.如何使用boolean類型intliSi=80;//學(xué)員李四成績booleanisBig;//聲明一個boolean類型的變量

Scannerinput=newScanner(System.in);

System.out.print("輸入學(xué)員張三成績:");//提示要輸入學(xué)員張三的成績int

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

isBig=zhangSan>liSi;//將比較結(jié)果保存在boolean變量中System.out.println("張三成績比李四高嗎?"+isBig);//輸出比較結(jié)果存儲比較結(jié)果條件表達(dá)式從控制臺接收一個整數(shù)演示示例1:用boolean變量描述信息比較高低、大小、長短張三的考試成績是否比李四高大象是否比烏龜更長壽籃球跟地球一樣大嗎如何比較?使用關(guān)系運算符可以比較高低、大小、長短?4.為什么使用關(guān)系運算符4.什么是關(guān)系運算符常用的關(guān)系運算符有哪些:>,<==,!=>=,<=大象的壽命<烏龜?shù)膲勖鎻埲某煽?gt;李四的成績假令狐沖每次考試成績>=90分真籃球的大小==地球的大小假由此看出關(guān)系運算符的作用:用來做比較運算比較后結(jié)果:boolean類型5表達(dá)式、語句和語句塊

表達(dá)式表達(dá)式是運算符、變量、字面值、方法調(diào)用等元素的任意有效組合,每個表達(dá)式經(jīng)過運算最終都是一個值

當(dāng)表達(dá)式中混合使用類型兼容的不同數(shù)值類型時,它們都通過類型升級規(guī)則被轉(zhuǎn)換為同一類型

5表達(dá)式、語句和語句塊書寫表達(dá)式有下列注意事項:·

操作數(shù)的類型必須與運算符匹配,例如,只有數(shù)值才能執(zhí)行算術(shù)運算,只有boolean值才能進(jìn)行邏輯運算?!?/p>

使用()可以增加括號中的運算次序,使用多余的()不會引發(fā)錯誤,也不會減慢計算,但可使計算順序清晰,增強可讀性。例如,(2>3)&(5<6)比2>3&5<6更易讀,盡管括號是多余的?!ava中[]和{}有特殊的含義,不能象()那樣用在表達(dá)式中改變運算次序。但可以使用嵌套的(),嵌套

()按照從內(nèi)向外的順序計算?!?/p>

≤、≥、≠必須寫成<=、>=、!=,比較運算的相等符號必須寫成==

5表達(dá)式、語句和語句塊語句Java程序由語句組成,每個語句是一個完整的執(zhí)行單元,以分號結(jié)尾下列表達(dá)式后面加分號以后就成了語句,稱為表達(dá)式語句

·

賦值表達(dá)式

·

變量的++和--運算

·

方法調(diào)用

·

對象創(chuàng)建表達(dá)式5表達(dá)式、語句和語句塊例如:inta=1+2;//賦值語句a++;//相當(dāng)于a=a+1;System.out.println(“HelloWorld!”);//方法調(diào)用語句newPerson();//對象創(chuàng)建語句聲明語句用來聲明變量的數(shù)據(jù)類型。例如:

doublevalue;//聲明了double型變量value5表達(dá)式、語句和語句塊語句塊及作用域

語句塊由一對{}以及其中的語句組成

每個語句塊定義了一個作用域,在作用域內(nèi)定義的變量是局部變量,局部變量只有在語句塊內(nèi)具有可見性

外層作用域定義的變量在內(nèi)層作用域中可見,反之,內(nèi)層作用域定義的變量對外層作用域不可見

5表達(dá)式、語句和語句塊

publicclassA{publicstaticvoidmain(String[]args){inti=0; { intj=0;//語句塊外定義的變量在語句塊內(nèi)具有可見性

System.out.println(i); } i=5; //j=10;//語句塊內(nèi)定義的變量在語句塊外不可見

}}7輸入和輸出數(shù)據(jù)

Java使用下列語句向控制臺輸出數(shù)據(jù):System.out.println();//輸出數(shù)據(jù)后換行

System.out.print();//輸出數(shù)據(jù)后不換行

從JavaSE5.0開始,Java類庫中增加的Scanner類允許通過控制臺從鍵盤讀取輸入數(shù)據(jù)。通過控制臺輸入數(shù)據(jù),首先必須按如下方式創(chuàng)建Scanner的對象:

Scannerin=newScanner(System.in);

7輸入和輸出數(shù)據(jù)Scanner類的常用方法如下:

StringnextLine()//讀取輸入的下一行內(nèi)容Stringnext()//讀取輸入的下一個單詞

intnextInt()//讀取輸入的下一個整數(shù)字符序列

doublenextDouble()//讀取輸入的下一個浮點數(shù)字符序列

booleannextBoolean()//讀取輸入的下一個布爾字符序列

7輸入和輸出數(shù)據(jù)控制臺讀取兩行數(shù)據(jù),第1行整行讀取字符串,第2行分別讀取整數(shù)、浮點數(shù)和布爾值

importjava.util.Scanner;publicclassExample2_6{ publicstaticvoidmain(String[]args){ Scannerin=newScanner(System.in); Strings=in.nextLine(); inti=in.nextInt(); doubled=in.nextDouble(); booleanb=in.nextBoolean(); System.out.println("s="+s); System.out.println("i="+i); System.out.println("d="+d); System.out.println("b="+b); }}什么是變量?如何聲明變量、給變量賦值和使用變量?Java中常用的數(shù)據(jù)類型有哪些?算術(shù)運算符中“/”和“%”的區(qū)別是什么?發(fā)生自動類型轉(zhuǎn)換的條件是什么?如何進(jìn)行強制類型轉(zhuǎn)換?總結(jié)第3章控制語句1分支語句2循環(huán)語句3轉(zhuǎn)移語句

1、如果令狐沖的Java考試成績大于90分,師父就獎勵他一本武功秘笈為什么需要if條件結(jié)構(gòu)使用if條件結(jié)構(gòu)可以解決什么是if條件結(jié)構(gòu)if條件結(jié)構(gòu)是根據(jù)條件判斷之后再做處理if(條件){//語句}if(令狐沖Java成績>90){

師父獎勵令狐沖;}結(jié)合問題2基本的if條件結(jié)構(gòu)表達(dá)式語句假真如何使用if條件結(jié)構(gòu)1-1回顧:如果令狐沖的Java考試成績大于90分,師父就獎勵他《獨孤九劍》劍譜使用if條件結(jié)構(gòu)該如何實現(xiàn)importjava.util.Scanner;publicclassHelloAccp2{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System.out.print("輸入令狐沖的Java成績:");

intscore=input.nextInt();//令狐沖的Java成績

if

(score>90){//判斷是否大于90分

System.out.println("師父說:不錯,給你《獨孤九劍》劍譜");}}}演示示例2:使用基本if條件結(jié)構(gòu)如何使用if條件結(jié)構(gòu)1-2

2、令狐沖Java成績大于90分,而且音樂成績大于80分,師父獎勵他;或者Java成績等于100分,音樂成績大于70分,師父也可以獎勵他分析:怎樣把多個條件連接起來?使用邏輯運算符運算符表達(dá)式說明&&條件1&&

條件2僅僅兩個條件同時為真,結(jié)果為真||條件1||條件2只要兩個條件有一個為真,結(jié)果為真!!條件條件為真時,結(jié)果為假條件為假時,結(jié)果為真問題2的條件如何編寫如何使用if條件結(jié)構(gòu)1-3多使用小括號()控制優(yōu)先級score1>90&&score2>80||score1==100&&score2>70運算符的優(yōu)先級:最高的優(yōu)先級:小括號,即()最低的優(yōu)先級:賦值運算符,即=優(yōu)先級順序:!>算術(shù)運算符>比較運算符>&&>||publicclassHelloAccp3{publicstaticvoidmain(String[]args){intscore1=100;//令狐沖的語文成績

int

score2=72;//令狐沖的歷史成績

if((score1>90&&score2>80)

||(score1==100&&score2>70)){System.out.println("師父說:不錯,給你《獨孤九劍》劍譜");}}}?如何使用if條件結(jié)構(gòu)1-4

3、如果令狐沖考試成績大于90分,師父就獎勵他《獨孤九劍》,否則師父就罰他上思過崖閉關(guān)思過使用兩個基本if條件結(jié)構(gòu)使用if-else條件結(jié)構(gòu)實現(xiàn)if(score>90){System.out.println("師父說:不錯,給你《獨孤九劍》劍譜");}if(score<=90){System.out.println("師父說:不孝徒,上思過崖閉關(guān)思過去吧");}如何使用if條件結(jié)構(gòu)1-5

if-else條件結(jié)構(gòu)if(條件){//語句1}else{//語句2}if(令狐沖考試成績>90){

師父獎勵令狐沖;}else{

師父罰他閉關(guān)思過;}結(jié)合問題4真表達(dá)式語句1假語句2使用if-else條件結(jié)構(gòu)解決問題3publicclassHelloAccp3{publicstaticvoidmain(String[]args){intscore=89;//令狐沖的語文成績

if(score>90){ System.out.println("師父說:不錯,給你《獨孤九劍》劍譜");}else{ System.out.println("師父說:不孝徒,上思過崖閉關(guān)思過去吧");}}}演示示例4:使用if-else結(jié)構(gòu)如何使用if條件結(jié)構(gòu)1-6小結(jié)1說出已學(xué)過的數(shù)據(jù)類型有哪些?int、double、char、boolean、String舉例說明已學(xué)過的運算符有哪些?賦值運算符、算術(shù)運算符、條件運算符、邏輯運算符if和if-else條件結(jié)構(gòu)執(zhí)行的順序是什么?if:如果條件表達(dá)式成立,執(zhí)行語句if-else:如果條件表達(dá)式成立,執(zhí)行語句1,如果不成立,執(zhí)行語句21、小布什買了一筐雞蛋,如果壞蛋少于5個,他就吃掉,否則他就去退貨2、要求用戶輸入兩個數(shù)a、b,如果a能被b整除或a加b大于1000,則輸出a,否則輸出b參考代碼小結(jié)1參考代碼為什么使用多重if結(jié)構(gòu)

4、對學(xué)員的結(jié)業(yè)考試成績評測成績>=90:優(yōu)秀成績>=80:良好 成績>=60:中等成績<60:差使用多重if結(jié)構(gòu)多重if結(jié)構(gòu)就是在else部分中還包含其他if塊什么是多重if結(jié)構(gòu)

if

(條件){//語句

}

elseif

(條件){//語句

}else{//語句

}可以有多個可以省略多重if結(jié)構(gòu)假真真假表達(dá)式1語句1表達(dá)式2語句2語句3如何使用多重if結(jié)構(gòu)使用多重if結(jié)構(gòu)解決問題4

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分演示示例5:使用多重if結(jié)構(gòu)為什么使用switch結(jié)構(gòu)

5、令狐沖參加比武大會如果獲得第一名,將出任武林盟主如果獲得第二名,將出任武當(dāng)掌門如果獲得第三名,將出任峨嵋掌門否則,將被逐出師門使用if條件結(jié)構(gòu)如何實現(xiàn)實現(xiàn)代碼更好的解決辦法:使用switch結(jié)構(gòu)解決switch(表達(dá)式){

case

常量1:

語句;

break;

case

常量2:

語句;

break;

default:

語句;}switch結(jié)構(gòu)什么是switch結(jié)構(gòu)計算表達(dá)式的值如果等于常量1

如果等于常量2

如果沒有找到匹配的值

使用switch結(jié)構(gòu)解決問題5如何使用switch結(jié)構(gòu)intmingCi=1;switch(mingCi){

case

1:System.out.println("出任武林盟主");

break;

case2:System.out.println("出任武當(dāng)掌門");

break;

case3:System.out.println("出任峨嵋掌門");

break;

default:System.out.println("被逐出師門");}第一名的情況下第二名的情況下第三名的情況下其他情況下演示示例6:使用switch結(jié)構(gòu)常見錯誤3-1intmingCi=1;switch(mingCi){

case1:System.out.println("出任武林盟主");

case2:System.out.println("出任武當(dāng)掌門");

case3:System.out.println("出任峨嵋掌門");

default:System.out.println("被逐出師門");}輸出結(jié)果是什么?如果需要每個case執(zhí)行完后跳出,在每個case后不要忘記寫break;演示示例7:完整代碼常見錯誤3-2int

mingCi=1;switch(mingCi){

case1:System.out.println("出任武林盟主");

case2:System.out.println("出任武當(dāng)掌門");

case2:System.out.println("出任峨嵋掌門");

default:System.out.println("被逐出師門");}case后面的常量必須各不相同代碼錯誤常見錯誤3-3Stringday="星期一";switch(day){

case"星期一":System.out.println("星期一:青菜");

break;

case"星期二":System.out.println("星期二:魚");

break;……

default:}……switch后面小括號中表達(dá)式的值必須是整型或字符型演示示例8:完整代碼代碼錯誤比較switch和多重if結(jié)構(gòu)相同點不同點switch多重if都可以實現(xiàn)多分支結(jié)構(gòu)只能處理等值的條件判斷,且條件是整型變量或字符變量的等值判斷處理在else部分還包含其它if結(jié)構(gòu),特別適合某個變量處于某個區(qū)間時的情況小結(jié)2輸入趙本山的考試成績,顯示所獲獎勵成績==100分,爸爸給他買輛車成績>=90分,媽媽給他買MP490分>成績>=60分,媽媽給他買本參考書成績<60分,什么都不買參考代碼張三為他的手機設(shè)定了自動撥號按1:撥爸爸的號按2:撥媽媽的號按3:撥爺爺?shù)奶柊?:撥奶奶的號編程實現(xiàn)此業(yè)務(wù)參考代碼總結(jié)什么數(shù)據(jù)類型可以描述真和假?描述幾種分支結(jié)構(gòu)的語法和執(zhí)行過程?什么情況下會使用多重if條件結(jié)構(gòu)?多重if條件結(jié)構(gòu)和switch結(jié)構(gòu)的區(qū)別和適用場合是什么?

1、盈盈為了考驗令狐沖奪冠的決心,要他說一百遍“我能行!”

System.out.println("第1次說:我能行!");System.out.println("第2次說:我能行!");……System.out.println("第100次說:我能行!");100條2、盈盈要他說10000遍“我是最棒的!”,怎么辦?為什么需要循環(huán)2-1演示完整代碼為什么需要循環(huán)2-2System.out.println("我是最棒的!");System.out.println("我是最棒的!");System.out.println("我是最棒的!");System.out.println("我是最棒的!");System.out.println("我是最棒的!");System.out.println("我是最棒的!"); ……System.out.println("我是最棒的!");int

i=1;while(i<=100){ System.out.println(

"我能行!");

i++;}i<=10000

"我是最棒的!");沒有使用循環(huán)結(jié)構(gòu)使用while循環(huán)演示示例2:使用循環(huán)結(jié)構(gòu)解決問題1什么是循環(huán)生活中的循環(huán)打印50份試卷10000米賽跑旋轉(zhuǎn)的車輪循環(huán)結(jié)構(gòu)的特點循環(huán)結(jié)構(gòu)

循環(huán)條件循環(huán)操作鍥而不舍地學(xué)習(xí)什么是while循環(huán)特點:先判斷,再執(zhí)行while(循環(huán)條件

){

循環(huán)操作}符合條件,循環(huán)繼續(xù)執(zhí)行;否則,循環(huán)退出循環(huán)中被重復(fù)執(zhí)行的操作int

i=1;while(i<=30

){

System.out.println("我能行!"); i++;}編碼規(guī)范:縮進(jìn)、換行循環(huán)操作循環(huán)條件真假3、如何用程序描述下面這個故事呢?為了備戰(zhàn),令狐沖鍥而不舍地練習(xí),盈盈嚴(yán)格把關(guān)…“盈盈,怎么樣,可以了嗎?”“不行,高音部分唱得還不是很好,鋼琴還要繼續(xù)練??!”沒有聽到“很棒”的評價,看來革命尚未成功,令狐沖并不氣餒:早上5點練聲,上午練鋼琴,下午到聲樂老師家練習(xí)唱歌,晚上練習(xí)舞蹈基本功。循環(huán)條件循環(huán)操作使用while循環(huán)的步驟1、分析循環(huán)條件和循環(huán)操作2、套用while語法寫出代碼3、檢查循環(huán)是否能夠退出怎樣使用while循環(huán)3-1怎樣使用while循環(huán)3-2System.out.print("表演得怎么樣

?(y/n):");answer=input.next();while(!answer.equals("y"))

{ System.out.println("早上5點開始練聲

!"); System.out.println("上午練習(xí)鋼琴

!"); System.out.println("下午到聲樂老師家練習(xí)唱歌

!");

System.out.println("晚上練習(xí)舞蹈基本功!");

System.out.print("表演得怎樣

?(y/n):"); answer=input.next();}System.out.println("圓滿完成

!");循環(huán)條件循環(huán)操作比較兩個String類型的值是否相等演示示例3:使用while循環(huán)結(jié)構(gòu)

怎樣使用while循環(huán)3-3

4、錄入班級人數(shù)和學(xué)員成績,計算班級學(xué)員的平均成績循環(huán)條件:目前錄入的成績數(shù)目小于總?cè)藬?shù)循環(huán)操作:錄入學(xué)生成績,并累加求和演示示例4:使用while循環(huán)結(jié)構(gòu)

while(i<=stuNum){System.out.print("請輸入學(xué)號"+i+"的成績:");score=input.nextInt();sum=sum+score;i++;}avg=sum/stuNum; while循環(huán)常見問題3-1/*打印4次“歡迎ACCP學(xué)員”*/publicstaticvoidmain(String[]args){ inti=0;

while(i<4){ System.out.println("歡迎ACCP學(xué)員");

i++; }}永遠(yuǎn)都不會退出的循環(huán)稱為死循環(huán)循環(huán)一直執(zhí)行,不會退出,哪里出錯了?while循環(huán)常見問題3-2/*打印4次“歡迎ACCP學(xué)員”*/publicstaticvoidmain(String[]args){ inti=1;

while(i<4){System.out.println("歡迎ACCP學(xué)員");i++; }}i<=4只打印了三次,哪里出錯了?注意檢查循環(huán)次數(shù)是否滿足需求while循環(huán)常見問題3-3/*打印4次“歡迎ACCP學(xué)員”*/publicstaticvoidmain(String[]args){inti=0;while(i>5){System.out.println("歡迎ACCP學(xué)員");i++;}}注意:如果一開始條件就不滿足,while循環(huán)一次都不執(zhí)行

i<5一次都沒有打印,哪里出錯了?

2006年培養(yǎng)學(xué)員8萬人,每年增長25%,請問按此增長速度,到哪一年培訓(xùn)學(xué)員人數(shù)將達(dá)到20萬人?提示:

1、循環(huán)條件和循環(huán)操作分別是什么?2、intyear=2006;doublestudents=80000;while…3、2007年培訓(xùn)學(xué)員數(shù)量=80000*(1+0.25)小結(jié)1do-while循環(huán)5、如何用程序講述下面的故事?苦練半年,眼看大賽在即,盈盈提議:彩排一次,如果很令人滿意,以后就不用彩排了,否則每天都要彩排,直到現(xiàn)場表現(xiàn)讓她滿意為止!他能否用動聽的歌聲震撼盈盈,用美妙的鋼琴聲博得贊賞呢?……do{

循環(huán)操作}while(循環(huán)條件);while(循環(huán)條件){

循環(huán)操作}while循環(huán)先判斷,再執(zhí)行不適合描述此故事?什么是do-while循環(huán)do{

循環(huán)操作}while(循環(huán)條件

);先執(zhí)行一遍循環(huán)操作符合條件,循環(huán)繼續(xù)執(zhí)行;否則,循環(huán)退出特點:先執(zhí)行,再判斷循環(huán)操作循環(huán)條件真假怎樣使用do-while循環(huán)2-1do{ System.out.println("唱歌

!"); System.out.println("演奏肖邦鋼琴曲

!"); System.out.print("可以了嗎

?(y/n):"); answer=input.next();}while(!answer.equals("y")

);System.out.println("大功告成

!");循環(huán)條件先執(zhí)行一遍循環(huán)操作演示示例5:使用do-while循環(huán)結(jié)構(gòu)怎樣使用do-while循環(huán)2-26、連續(xù)錄入學(xué)生姓名,輸入“q”則系統(tǒng)退出Stringname;Scannerinput=newScanner(System.in);do{ System.out.print("請輸入學(xué)生姓名:"); name=input.next();}while

(!name.equals("q"));System.out.println("程序結(jié)束");演示示例6:使用do-while循環(huán)結(jié)構(gòu)while循環(huán)和do-while循環(huán)的區(qū)別語法不同初始情況不滿足循環(huán)條件時while循環(huán)一次都不會執(zhí)行do-while循環(huán)不管任何情況都至少執(zhí)行一次do{

循環(huán)操作}while(循環(huán)條件);while

(循環(huán)條件){

循環(huán)操作}先判斷,再執(zhí)行先執(zhí)行,再判斷比較while和do-while小結(jié)2使用do-while實現(xiàn):輸出攝氏溫度與華氏溫度的對照表,要求它從攝氏溫度0度到250度,每隔20度為一項,對照表中的條目不超過10條。轉(zhuǎn)換關(guān)系:華氏溫度=攝氏溫度*9/5.0+32參考代碼提示:

1、循環(huán)操作:計算攝氏溫度,并輸出對照條目2、循環(huán)條件:條目<=10&&攝氏溫度<=2507、使用do-while打印5次“你好ACCP學(xué)員!”inti=1;do{ System.out.println("你好ACCP學(xué)員!");

i=i+1;

}while(i<5);完整代碼只打印了4次!怎么查找錯誤呢?總結(jié)循環(huán)結(jié)構(gòu)的特點是什么?while循環(huán)和do-while循環(huán)有什么區(qū)別?為什么使用for循環(huán)2-1回顧問題1:令狐沖說一百遍“我最棒”

回顧問題2:根據(jù)人數(shù)和成績,計算平均成績解決:使用while循環(huán)共同點:確定的循環(huán)次數(shù)更優(yōu)解決:for循環(huán)結(jié)構(gòu)為什么使用for循環(huán)2-2

inti=0;while(i<100){System.out.println("我最棒");i++;}

for(inti=0;i<100;i++){System.out.println("我最棒");}

for比while更簡潔while循環(huán)結(jié)構(gòu)for循環(huán)結(jié)構(gòu)for循環(huán)的語法和執(zhí)行順序什么是for循環(huán)for(;;){;}條件為true循環(huán)體被執(zhí)行for(inti=0;i<100;i++){System.out.println("我最棒");}代碼規(guī)范:格式對齊、代碼的縮進(jìn)表達(dá)式1表達(dá)式2表達(dá)式3循環(huán)操作參數(shù)初始化條件判斷更新循環(huán)變量1243如何使用for循環(huán)3-11、循環(huán)錄入某學(xué)員S1的5門課成績,計算平均分循環(huán)次數(shù):5循環(huán)條件:循環(huán)的次數(shù)不足5,繼續(xù)循環(huán)循環(huán)操作:錄入成績,計算成績之和使用for循環(huán)結(jié)構(gòu)的步驟1、分析循環(huán)條件和循環(huán)操作2、套用for語法寫出代碼3、檢查循環(huán)是否能夠退出結(jié)合問題1如何使用for循環(huán)3-2

//省略聲明變量

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

System.out.print("請輸入5門功課中第"+(i+1)+"門課的成績:");score=input.nextInt();sum=sum+score;}avg=sum/5;//計算平均分

System.out.println(name+"的平均分是:"+avg);初始值:i=0循環(huán)條件:i<5循環(huán)變量改變:i++循環(huán)操作執(zhí)行5次演示示例1:使用for循環(huán)結(jié)構(gòu)完整代碼如何使用for循環(huán)3-3

2、輸出如圖所示加法表for(inti=0,j=val;i<=val;i++,j--){System.out.println(i+"+"+j+"="+(i+j));}1、循環(huán)初始化:i=0;j=輸入值2、循環(huán)條件:i<=輸入值3、循環(huán)操作:計算i+j4、循環(huán)變量的改變:i++,j--表達(dá)式3可以是用“,”隔開的多個表達(dá)式,運算順序從左到右表達(dá)式1中可以聲明多個同一類型的值并賦值,用“,”隔開演示示例2:使用for循環(huán)結(jié)構(gòu)for循環(huán)常見問題4-1for(;i<10;i++){

System.out.println("這是"+i);}inti=0;編譯錯誤:變量i沒有初始化for(<初始化循環(huán)變量>;<循環(huán)條件>;<修改循環(huán)變量的值>){

<循環(huán)體語句>;}不能省略可省略表達(dá)式1省略,循環(huán)變量的初始值在for語句之前由賦值語句取得for循環(huán)常見問題4-2for(inti=0;;i++){

System.out.println("這是"+i);}編譯正確,但是缺少循環(huán)條件,造成死循環(huán)for循環(huán)常見問題4-3for(inti=0;i<10;){

System.out.println("這是"+i);

}i++;省略表達(dá)式3,在循環(huán)體內(nèi)應(yīng)設(shè)法改變循環(huán)變量的值以結(jié)束循環(huán)編譯通過,但是循環(huán)變量的值無變化,造成死循環(huán)for循環(huán)常見問題4-4for(;;){

System.out.println("這是測試");}表達(dá)式全省略,無條件判斷,循環(huán)變量無改變,應(yīng)在循環(huán)體內(nèi)設(shè)法結(jié)束循環(huán),否則會造成死循環(huán)死循環(huán)小結(jié)1求1~100之間不能被3整除的數(shù)之和(使用for循環(huán)結(jié)構(gòu))參考課堂案例3/S1JAVACHP5/src/HelloAccp12.java-代碼為什么需要break語句inti=2;switch(i){case1:System.out.println("星期一");

break;case2:Syste

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論