




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
教案2018-2019學(xué)年第2學(xué)期課程名稱:Java程序設(shè)計課程代碼:適用專業(yè):計算機(jī)應(yīng)用技術(shù)教師姓名:所屬系部:職稱:課時:總學(xué)時80使用教材:Java程序設(shè)計項目化教程
教學(xué)單元教案主題任務(wù)1安裝配置開發(fā)環(huán)境序號1課時2教學(xué)手段多媒體、板書、實訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):能配置典型的java開發(fā)環(huán)境、能使用java開發(fā)環(huán)境編寫Java程序。知識目標(biāo):Java開發(fā)工具的下載、安裝與使用;編寫、編譯和運(yùn)行Java應(yīng)用程序的方法;理解字節(jié)碼及Java的可移植性原理。素質(zhì)目標(biāo):接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)JDK的下載、安裝和環(huán)境配置教學(xué)難點(diǎn)命令行方式下調(diào)試程序教學(xué)過程設(shè)計備注導(dǎo)入(15分鐘)介紹教師個人信息、聯(lián)系方式等;介紹Java程序設(shè)計課程在計算機(jī)應(yīng)用技術(shù)專業(yè)中的地位;介紹Java技術(shù)的應(yīng)用領(lǐng)域;介紹Java程序設(shè)計課程的考核等;通過潛艇大戰(zhàn)Java游戲的案例演示,使學(xué)生對Java程序獲取感性認(rèn)識,激發(fā)興趣,激發(fā)學(xué)生學(xué)習(xí)興趣。教師活動:PPT講解、案例演示;學(xué)生活動:聽講記錄;時間分配:15分鐘。教學(xué)內(nèi)容(60分鐘)Java簡介Java語言的工作機(jī)制,重點(diǎn)介紹Java虛擬機(jī)JVM;教師活動:PPT講解;學(xué)生活動:聽講記錄;時間分配:5分鐘。Java語言的特點(diǎn),重點(diǎn)介紹簡單、面向?qū)ο蟆⒖梢浦残浴踩?;教師活動:引?dǎo);學(xué)生活動:討論;時間分配:5分鐘。2、JDK的安裝及配置(1)/technetwork/java/javase/downloads下載JDK,并安裝。(2)演示Path設(shè)置的步驟:右鍵點(diǎn)擊桌面上【我的電腦】,選擇【屬性】,在出現(xiàn)的屬性面板中選擇【高級】標(biāo)簽。點(diǎn)擊【環(huán)境變量】按鈕后,打開【環(huán)境變量】面板。點(diǎn)擊名為Path變量,點(diǎn)擊【編輯】按鈕,在【變量值】輸入框中加入jdk的bin目錄。(3)演示classPath設(shè)置的步驟:首先看系統(tǒng)變量中是否有Classpath變量,如果不存在則點(diǎn)擊【新建】按鈕;如果已經(jīng)存在,則選中Classpath變量后點(diǎn)擊【編輯】按鈕,在變量值中添加指定的目錄。(4)教師活動:講解演示;學(xué)生活動:模仿操作、聽講記錄;時間分配:20分鐘。3、命令行方式下調(diào)試程序詳細(xì)講解javac和java命令使用的格式;創(chuàng)建HelloWorld.java的源文件,設(shè)置環(huán)境變量編譯:javacHelloWorld.java運(yùn)行:javaHelloWorld教師活動:講解演示;學(xué)生活動:模仿操作、聽講記錄;時間分配:10分鐘。Eclipse的安裝、配置及應(yīng)用/downloads下載Eclipse,并安裝。利用Eclipse,創(chuàng)建HelloWorld.java源文件并編譯運(yùn)行。教師活動:講解演示;學(xué)生活動:模仿操作、聽講記錄;時間分配:10分鐘。Myeclipse的安裝、配置及應(yīng)用/softs/75202.html下載Myeclipse,并安裝。利用Myeclipse,創(chuàng)建HelloWorld.java源文件并編譯運(yùn)行。(3)教師活動:講解演示;學(xué)生活動:模仿操作、聽講記錄;時間分配:10分鐘。三.總結(jié)(5分鐘)教師指出學(xué)生實踐中可能出錯和已經(jīng)出錯的地方,結(jié)合教學(xué)重點(diǎn)和難點(diǎn),對所學(xué)知識進(jìn)一步強(qiáng)化。如:Java語言區(qū)分大小寫;使用“.”符號引用屬性與方法;使用“.”符號分隔路徑;使用“{”與“}”符號標(biāo)識程序塊;使用“(”與“)”符號標(biāo)識方法參數(shù)。作業(yè)布置1、分別使用JDK、Myelcipse編寫Java應(yīng)用程序輸出HelloWorld!(隨堂練習(xí)完成)。教學(xué)反思教學(xué)單元教案主題任務(wù)2員工薪酬計算序號2課時2教學(xué)手段多媒體、板書、實訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):能夠使用Java基本語法編寫簡單的順序程序。知識目標(biāo):標(biāo)識符的定義規(guī)則;關(guān)鍵字的意義;基本數(shù)據(jù)類型;運(yùn)算符、表達(dá)式和表達(dá)式語句;讀取輸入、格式化輸出。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊合作的能力;接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)Java基礎(chǔ)語法教學(xué)難點(diǎn)標(biāo)識符與關(guān)鍵字的區(qū)別教學(xué)過程設(shè)計備注一.導(dǎo)入(5分鐘)介紹員工信息管理系統(tǒng)可以對員工薪酬進(jìn)行計算。提出本次學(xué)習(xí)的任務(wù)—員工薪酬計算。教師活動:PPT講解;學(xué)生活動:聽講記錄;時間分配:5分鐘。二.教學(xué)內(nèi)容1、子任務(wù)1—簡單的員工薪酬計算(70分鐘)(1)任務(wù)預(yù)覽:編寫一個Java程序,根據(jù)稅前的薪酬和稅率計算稅后的薪酬,然后顯示計算的結(jié)果。教師活動:PPT講解;學(xué)生活動:聽講記錄。(2)任務(wù)部署:=1\*GB3①標(biāo)識符、變量和常量使用Java標(biāo)示符時需要注意以下的規(guī)則:Java語言是區(qū)分大小寫的,因此ab和Ab是兩個不同的標(biāo)示符。標(biāo)示符由字母、數(shù)字、下劃線、美元符號組成,沒有長度限制。標(biāo)示符的首字符必須是字母、下劃線(_)、美元符($)。標(biāo)示符不能是Java關(guān)鍵字和保留字,但是可以包含關(guān)鍵字和保留字。標(biāo)示符不能包含空格。標(biāo)示符只能包含美元符($),不能包含@、#等其他特殊符號)=2\*GB3②數(shù)據(jù)類型整型:byte:一個byte型整數(shù)在內(nèi)存中占有8位,表示范圍是:-128(-27)~127(27-1)。short:一個short型整數(shù)在內(nèi)存中占有16位,表示范圍是:-32768(-215)~32767(215-1)。int:一個int型整數(shù)在內(nèi)存中占有32位,表示范圍是:-2147483648(-231)~2147483647(231-1)。long:一個long型整數(shù)在內(nèi)存中占有64位,表示范圍是:-92233720368547754775808(-263)~92233720368547754775807(263-1)字符型:字符型通常用于表示單個字符,字符常量必須以單引號括起來。Java字符使用16位Unicode編碼方式,因此Java可以支持各種語言的字符。字符常量主要有以下3種表示方式。直接通過單個字符表示,如’a’,’3’和’-’。通過轉(zhuǎn)義字符表示特殊的字符常量,如’\t’,’\n’和’\b’。使用Unicode數(shù)值來表示,格式為\uXXXX,XXXX為一個16進(jìn)制整數(shù),如\u4E2D表示‘中’字。浮點(diǎn)型:浮點(diǎn)類型用于表示帶有小數(shù)的數(shù)值。在Java中有兩種浮點(diǎn)類型,float和double。float代表單精度浮點(diǎn)數(shù),占有4個字節(jié);double代表雙精度浮點(diǎn)數(shù),占有8個字節(jié)。浮點(diǎn)數(shù)兩種表示方式十進(jìn)制數(shù)形式,例如2.24,0.32,12.0??茖W(xué)計數(shù)形式,例如3.12e2(表示312)布爾類型:布爾類型用于表示邏輯上的“真”和“假”。Java語言中boolean類型的變量只能是true和false兩個值,不能用0或非0來代表,并且boolean變量不能與整型變量相互轉(zhuǎn)換。=3\*GB3③運(yùn)算符[].()(方法調(diào)用)!~++--+(一元運(yùn)算符)-(一元運(yùn)算符)()(強(qiáng)制類型轉(zhuǎn)換)new*/%+-<<>>>>><<=>>=instanceof==!=&^|&&||?:=+=-=*=/=%=&=|=^=<<=>>=>>>==4\*GB3④教師活動:PPT講解、提問、演示;學(xué)生活動:回答討論;時間分配:45分鐘。任務(wù)實施講解分析Salary.java:=1\*GB3①Java程序的結(jié)構(gòu)框架package包中存在類文件;publicclass公共類;Java程序由一個或多個獨(dú)立的類組成,但其中必須有一個公有類,而且源代碼文件必須與這個公有類的名字相同;publicstaticvoidmain(String[]args)程序入口,每一個應(yīng)用程序必須包含一個main()方法;main()方法中的內(nèi)容稱為類體。=2\*GB3②利用Java基本語法實現(xiàn)簡單的員工薪酬計算publicclassSalary{publicstaticvoidmain(String[]args){doublesalaryBefore;doublesalaryAfter;doubletaxRate;salaryBefore=5000;taxRate=0.15;salaryAfter=salaryBefore*(1-taxRate);System.out.println("稅前:"+salaryBefore+"元");System.out.println("稅率:"+taxRate*100+"%");System.out.println("稅后:"+salaryAfter+"元");}}=3\*GB3③由于結(jié)果需要輸出,又進(jìn)一步引申出讀取輸入、格式化輸出知識點(diǎn),為子任務(wù)2的提出做鋪墊。=4\*GB3④教師活動:講解、演示;學(xué)生活動:模仿操作;時間分配:10分鐘。子任務(wù)2—簡單的員工薪酬計算(1)任務(wù)預(yù)覽:編寫一個Java程序,根據(jù)使用者的輸入,然后計算稅后的薪酬并顯示,要求輸出顯示并保留到小數(shù)點(diǎn)后兩位。教師活動:PPT講解;學(xué)生活動:聽講記錄。(2)任務(wù)部署:=1\*GB3①讀取輸入構(gòu)造一個Scanner對象Scannerin=newScanner(System.in);in.nextLine();讀取一行(包含空格)in.next();只想讀取一個單詞(以空格作為分隔符)in.nextInt();讀取一個整數(shù)in.nextDouble();讀取一個浮點(diǎn)數(shù)=2\*GB3②格式化輸出采用NumberFormat或其子類來對數(shù)字進(jìn)行格式化DecimalFormatdf=newDecimalFormat("0000");System.out.println(df.format(12));printf格式化輸出數(shù)字或字符=3\*GB3③教師活動:PPT講解、提問、演示;學(xué)生活動:回答討論;時間分配:10分鐘。任務(wù)實施講解分析Salary.java:=1\*GB3①利用Java基本語法及讀取輸入、格式化輸出,實現(xiàn)簡單的員工薪酬計算:publicclassSalary{publicstaticvoidmain(String[]args){doublesalaryBefore;doublesalaryAfter;doubletaxRate;Scannerin=newScanner(System.in);System.out.print("輸入稅前工資:");salaryBefore=in.nextDouble();System.out.print("輸入稅率:");taxRate=in.nextDouble();salaryAfter=salaryBefore*(1-taxRate);System.out.println("稅前:"+salaryBefore+"元");System.out.println("稅率:"+taxRate*100+"%");System.out.println("稅后:"+salaryAfter+"元");}}=2\*GB3②教師活動:講解、演示;學(xué)生活動:模仿操作;時間分配:5分鐘。三.總結(jié)(5分鐘)學(xué)生演示、互評:按照任務(wù)要求進(jìn)行演示并互評。教師點(diǎn)評:根據(jù)學(xué)生完成任務(wù)情況進(jìn)行驗收點(diǎn)評,并提出改進(jìn),在此基礎(chǔ)上進(jìn)行任務(wù)拓展。作業(yè)布置求1+2+3+4+5*2/3+7-12的和。輸入一個整數(shù),判斷其被2整除的余數(shù)。教學(xué)反思
教學(xué)單元教案主題任務(wù)3員工薪酬的統(tǒng)計序號3-1課時2教學(xué)手段多媒體、板書、實訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):能編寫不同選擇結(jié)構(gòu)的程序;能使用不同循環(huán)結(jié)構(gòu)進(jìn)行編程;能利用Java數(shù)組進(jìn)行編程。知識目標(biāo):單分支和多分支程序結(jié)構(gòu);三種循環(huán)結(jié)構(gòu);break和continue語句的使用方法;一維數(shù)組的概念、定義和使用。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊合作的能力;接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)Java的分支語句;循環(huán)控制語句;數(shù)組的定義和使用教學(xué)難點(diǎn)區(qū)分break和continue。教學(xué)過程設(shè)計備注一.導(dǎo)入(5分鐘)介紹實際薪酬計算時要扣除所得稅,提出本次學(xué)習(xí)的任務(wù)—員工薪酬的統(tǒng)計。教師活動:PPT講解;學(xué)生活動:聽講記錄;時間分配:5分鐘。二.教學(xué)內(nèi)容(75分鐘)1、子任務(wù)1—計算稅后薪酬(1)任務(wù)預(yù)覽:編寫一個Java程序,根據(jù)稅率表計算員工的薪酬,然后顯示計算的結(jié)果。教師活動:PPT講解;學(xué)生活動:聽講記錄。(2)任務(wù)部署:=1\*GB3①條件語句if條件語句有多種形式,最常見的有以下三種:if(condition){ statement;}if(condition){ statement1;}else{ statement2;}if(condition1){ statement1;}elseif(condition2){ statement2;}………..else{ statementN;}條件必須用小括號括起來,且condition必須是布爾型,不能是整型或浮點(diǎn)型。需要某個條件為真的時候執(zhí)行多條語句,可以使用塊語句(blockstatement)將多條語句括起來.switch語句:switch(value){casevalue1:{statement1;break;}casevalue1:{statement1;break;}......casevalueN:{statementN;break;}default:{defaultStatement;}}使用switch時注意事項:value的值只能是char、byte、short或int型。case語句對應(yīng)的valueN值必須是常量,而且各個valueN應(yīng)該不相同。break語句用來在執(zhí)行完相應(yīng)的case分支語句后跳出switch語句,否則將順序執(zhí)行后面的語句。在有些情況下,多個不同的case值要執(zhí)行一組相同的操作,可以省略相應(yīng)代碼塊的break語句。default是可選的,當(dāng)value的值與所列的valueN的值都不匹配的時候,就會執(zhí)行default的代碼塊。如果沒有ddefault語句,則程序直接跳出switch語句,不做任何操作。=2\*GB3②教師活動:PPT講解、提問、演示;學(xué)生活動:回答討論;時間分配:20分鐘。(3)任務(wù)實施講解分析CalcSalary:=1\*GB3①利用if條件語句,實現(xiàn)稅后薪酬計算publicclassSalary{publicstaticvoidmain(String[]args){doublesalaryBefore;doublesalaryAfter;doubletaxRate;salaryBefore=5000;taxRate=0.15;salaryAfter=salaryBefore*(1-taxRate);System.out.println("稅前:"+salaryBefore+"元");System.out.println("稅率:"+taxRate*100+"%");System.out.println("稅后:"+salaryAfter+"元");}}=2\*GB3②教師活動:講解、演示;學(xué)生活動:模仿操作;時間分配:20分鐘。子任務(wù)2—員工工資排序(1)任務(wù)預(yù)覽:編寫一個Java程序,將10個員工的薪酬,按照薪酬從小到大排序,并輸出排序后的結(jié)果。教師活動:PPT講解;學(xué)生活動:聽講記錄。(2)任務(wù)部署:=1\*GB3①循環(huán)語句while循環(huán):while(condition)statement;while循環(huán)當(dāng)條件為true的時候,則執(zhí)行一條語句(也可以是一個語句塊)。如果開始的時候condition就為false,則循環(huán)體一次也不會執(zhí)行。do/while循環(huán):dostatementwhile(condition);do/while循環(huán)語句至少執(zhí)行一次。for循環(huán):for(inti=1;i<=10;i++)System.out.println(i);for循環(huán)語句是支持迭代的一種通用結(jié)構(gòu),每次迭代之后更新的計數(shù)器或類似的變量來控制迭代次數(shù)。for語句的第一部分通常用于對計數(shù)器的初始化;第二部分給出循環(huán)繼續(xù)執(zhí)行的條件;第三部分指示如何更新計數(shù)器。教師活動:PPT講解、提問、演示;學(xué)生活動:回答討論;時間分配:20分鐘。=2\*GB3②跳轉(zhuǎn)語句break語句:break語句在前面介紹swich的時候,我們用它來跳出switch語句。在實際中我們更多的是使用它來跳出循環(huán)。continue語句:在Java中還有一個continue語句,與break語句一樣,它也可以中斷正常的控制流程。continue語句只能用在循環(huán)中,continue將控制轉(zhuǎn)移到最內(nèi)層循環(huán)的首部。return語句:return語句用在方法中,用于終止當(dāng)前方法的執(zhí)行,返回到調(diào)用該方法的語句處。return[expression];教師活動:PPT講解、提問、演示;學(xué)生活動:回答討論;時間分配:10分鐘。三.總結(jié)(5分鐘)學(xué)生演示、互評:按照任務(wù)要求進(jìn)行演示并互評。教師點(diǎn)評:根據(jù)學(xué)生完成任務(wù)情況進(jìn)行驗收點(diǎn)評,并提出改進(jìn),在此基礎(chǔ)上進(jìn)行任務(wù)拓展。作業(yè)布置求100~200之間的所有素數(shù),并計算它們的和。用嵌套的for循環(huán)語句改寫例2-10乘法九九表程序。教學(xué)反思
教學(xué)單元教案主題任務(wù)3員工薪酬的統(tǒng)計序號3-2課時2教學(xué)手段多媒體、板書、實訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):能編寫不同選擇結(jié)構(gòu)的程序;能使用不同循環(huán)結(jié)構(gòu)進(jìn)行編程;能利用Java數(shù)組進(jìn)行編程。知識目標(biāo):單分支和多分支程序結(jié)構(gòu);三種循環(huán)結(jié)構(gòu);break和continue語句的使用方法;一維數(shù)組的概念、定義和使用。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊合作的能力;接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)Java的分支語句;循環(huán)控制語句;數(shù)組的定義和使用教學(xué)難點(diǎn)區(qū)分break和continue。教學(xué)過程設(shè)計備注一.教學(xué)內(nèi)容1、數(shù)組數(shù)組的申明和內(nèi)存的分配:數(shù)據(jù)類型[]數(shù)組名;//聲明一維數(shù)組數(shù)組名=new數(shù)據(jù)類型[個數(shù)];//分配內(nèi)存給數(shù)組數(shù)組中元素的表示:想要使用數(shù)組里的元素,可以利用索引來完成。Java的數(shù)組索引編號由0開始。如:salary[0]代表第1個元素,salary[1]代表第2個元素,salary[9]為數(shù)組中第10個元素數(shù)組的初始化:數(shù)據(jù)類型[]數(shù)組名={初值0,初值1,…,初值n}數(shù)組排序:Arrays的sort方法使用的是優(yōu)化的快速排序方法,要使用Arrays需要在開始的時候importjava.util.Arrays。=3\*GB3③教師活動:PPT講解、提問、演示;學(xué)生活動:回答討論;時間分配:40分鐘。(3)任務(wù)實施講解分析SalarySort.java:=1\*GB3①分析任務(wù),首先我們需要保存10個員工的薪酬,要是每個員工的薪酬都定義一個變量就太麻煩了,因此我們可以定義一個數(shù)組來存儲員工的薪酬。然后再利用前面介紹的Array的函數(shù)sort()對數(shù)組進(jìn)行排序。=2\*GB3②利用for循環(huán)結(jié)構(gòu)、sort方法、“foreach”循環(huán),實現(xiàn)員工工資排序publicclassSalarySort{publicstaticvoidmain(String[]args){int[]salary=newint[10];for(inti=0;i<salary.length;i++)salary[i]=(int)(Math.random()*10000);Arrays.sort(salary);for(intelement:salary)System.out.println(element);}}=3\*GB3③教師活動:講解、演示;學(xué)生活動:模仿操作;時間分配:35分鐘。三.總結(jié)(5分鐘)學(xué)生演示、互評:按照任務(wù)要求進(jìn)行演示并互評。教師點(diǎn)評:根據(jù)學(xué)生完成任務(wù)情況進(jìn)行驗收點(diǎn)評,并提出改進(jìn),在此基礎(chǔ)上進(jìn)行任務(wù)拓展。作業(yè)布置1、求100~200之間的所有素數(shù),并計算它們的和。2、用嵌套的for循環(huán)語句改寫例2-10乘法九九表程序。教學(xué)反思
教學(xué)單元教案主題任務(wù)4面向?qū)ο蟮膯T工薪酬統(tǒng)計序號4-1課時2教學(xué)手段多媒體、板書、實訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):能根據(jù)實際應(yīng)用環(huán)境定義類和對象;能利用已有的類編寫應(yīng)用程序;能利用繼承技術(shù)提高程序開發(fā)效率和軟件重用性;能利用多態(tài)技術(shù)提高程序靈活性和擴(kuò)充性。知識目標(biāo):類和對象的概念及其關(guān)系;類的定義格式、類的域、構(gòu)造方法、一般的成員方法;創(chuàng)建類的對象并使用對象;類之間的繼承關(guān)系;子類的構(gòu)造方法;方法重載和覆蓋;抽象類和接口的使用。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊合作的能力;接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)類的定義和使用;方法的定義和使用;構(gòu)造方法;方法的覆蓋和重載;關(guān)鍵字this的用法;繼承的概念和應(yīng)用;抽象方法和抽象類。教學(xué)難點(diǎn)構(gòu)造方法;方法的覆蓋和重載;繼承的概念和應(yīng)用;組合與繼承;抽象方法和抽象類。教學(xué)過程設(shè)計備注一.導(dǎo)入介紹程序技術(shù)的發(fā)展歷程,提出本次學(xué)習(xí)的任務(wù)—面向?qū)ο蟮膯T工薪酬統(tǒng)計。教師活動:PPT講解;學(xué)生活動:聽講記錄;時間分配:5分鐘。二.教學(xué)內(nèi)容1、子任務(wù)1—Employee類的實現(xiàn)(1)任務(wù)預(yù)覽:按要求定義一個Employee類,類包含屬性name、id和salary。包含無參數(shù)的構(gòu)造函數(shù)和三個參數(shù)的構(gòu)造函數(shù),還包含一個print函數(shù)用于打印員工的信息(姓名,ID和薪水)。測試的時候要求定義兩個員工對象,一個使用無參數(shù)的構(gòu)造方法,然后使用setXXX()方法對其設(shè)定其屬性;一個員工使用帶參數(shù)的構(gòu)造方法。教師活動:PPT講解;學(xué)生活動:聽講記錄。(2)任務(wù)部署:=1\*GB3①面向?qū)ο蟪绦蛟O(shè)計概述對象:對象的行為(behavior)—可以對對象實施的操作,或?qū)ο笏哂械墓δ?。對象的屬性(attribute)—對象的外觀、性質(zhì)、屬性等。類:封裝性繼承性多態(tài)性=2\*GB3②類類的定義:class類名稱{數(shù)據(jù)類型屬性名;......;
返回值類型方法名稱(參數(shù)1,參數(shù)2,...){程序語句;......;return表達(dá)式;}}類的封裝:為了更好的管理類,Java語言中引用了包(package)的概念,Java語言用包將各種類組織在一起,將一個類歸到某一個包中,只需要在源文件的第一條語句用package來指定。package包1[.包2[.包3]…];//[]表示可選在當(dāng)前文件中引用其他包中的類,首先必須將該類引用過來,否則會編譯出錯。import包1[.包2[.包3]…].類名|*;//*表示引用該包下的所有類import是關(guān)鍵字,多個包名和類名之間用“.”分割。例如:importjava.util.List;=3\*GB3③構(gòu)造方法及其重載構(gòu)造方法所完成的主要工作是幫助新創(chuàng)建的對象賦初值(也稱構(gòu)造函數(shù))。class類名稱{訪問權(quán)限類名稱(類型1參數(shù)1,類型2參數(shù)2,…){程序語句;......//構(gòu)造方法沒有返回值}}在使用構(gòu)造方法的時候需要注意:它與類具有相同的名稱。它沒有返回值。由于構(gòu)造方法主要是給其它類調(diào)用的,因此構(gòu)造方法的訪問權(quán)限一般都為public。=4\*GB3④教師活動:PPT講解、提問、演示;學(xué)生活動:回答討論;時間分配:40分鐘。(3)任務(wù)實施講解分析Employee.java:=1\*GB3①我們需要用前面介紹類的定義方法定義一個類Employee。然后根據(jù)前面的要求為其添加屬性和方法。在main方法中進(jìn)行測試的時候,我們分別用兩種不同的構(gòu)造方法定義兩個Employee對象。publicclassEmployee{privateStringname;privateStringid;privateintsalary;publicEmployee(){="";this.id="";this.salary=0;}publicEmployee(Stringname,Stringid,intsalary){=name;this.id=id;this.salary=salary;}publicvoidsetName(Stringname){=name;}publicvoidsetId(Stringid){this.id=id;}publicvoidsetSalary(intsalary){this.salary=salary;}publicvoidprint(){System.out.println("姓名:\t"+name);System.out.println("id:\t"+id);System.out.println("salary:\t"+salary);}publicstaticvoidmain(String[]args){Employeeemployee1=newEmployee("Tom","90234",4000);Employeeemployee2=newEmployee();employee2.setName("Billy");employee2.setId("82356");employee2.setSalary(8000);System.out.println("員工1");employee1.print();System.out.println("員工2");employee2.print();}}=2\*GB3②教師活動:講解、演示;學(xué)生活動:模仿操作;時間分配:30分鐘。三.總結(jié)(5分鐘)學(xué)生演示、互評:按照任務(wù)要求進(jìn)行演示并互評。教師點(diǎn)評:根據(jù)學(xué)生完成任務(wù)情況進(jìn)行驗收點(diǎn)評,并提出改進(jìn),在此基礎(chǔ)上進(jìn)行任務(wù)拓展。作業(yè)布置1、定義子類,實現(xiàn)臨時的職工和合同制的職工薪酬計算。教學(xué)反思
教學(xué)單元教案主題任務(wù)4面向?qū)ο蟮膯T工薪酬統(tǒng)計序號4-2課時2教學(xué)手段多媒體、板書、實訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):能根據(jù)實際應(yīng)用環(huán)境定義類和對象;能利用已有的類編寫應(yīng)用程序;能利用繼承技術(shù)提高程序開發(fā)效率和軟件重用性;能利用多態(tài)技術(shù)提高程序靈活性和擴(kuò)充性。知識目標(biāo):類和對象的概念及其關(guān)系;類的定義格式、類的域、構(gòu)造方法、一般的成員方法;創(chuàng)建類的對象并使用對象;類之間的繼承關(guān)系;子類的構(gòu)造方法;方法重載和覆蓋;抽象類和接口的使用。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊合作的能力;接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)類的定義和使用;方法的定義和使用;構(gòu)造方法;方法的覆蓋和重載;關(guān)鍵字this的用法;繼承的概念和應(yīng)用;抽象方法和抽象類。教學(xué)難點(diǎn)構(gòu)造方法;方法的覆蓋和重載;繼承的概念和應(yīng)用;組合與繼承;抽象方法和抽象類。教學(xué)過程設(shè)計備注一.教學(xué)內(nèi)容1、子任務(wù)2—實現(xiàn)子類(1)任務(wù)預(yù)覽:我們實現(xiàn)了Emplyee類,但是在實際中,酒店的員工分為臨時的職工和合同制的職工。臨時的職工的薪水按天數(shù)計算,合同制的員工工資按月數(shù)計算。合同制的員工會有一定的獎金,而臨時的職工沒有。但是臨時職工和合同制職工還有很多相同的屬性(姓名、ID等)。把他們定義成獨(dú)立的兩個類,顯然會有很多冗余,通過類的繼承,可以很好的解決這個問題。教師活動:PPT講解;學(xué)生活動:聽講記錄;時間分配:5分鐘。(2)任務(wù)部署:=1\*GB3①類的層次結(jié)構(gòu)Java繼承的可以采用以下的語法格式class父類//定義父類{}class子類extends父類//用extends關(guān)鍵字實現(xiàn)類的繼承{}=2\*GB3②構(gòu)造方法的繼承子類構(gòu)造函數(shù)的第一行默認(rèn)隱含了一個“super()”語句。super關(guān)鍵字調(diào)用和訪問父類的其它方法和屬性。super.父類中的屬性;super.父類中的方法();注意:在利用super關(guān)鍵字調(diào)用父類構(gòu)造方法的時候必須放在子類構(gòu)造方法的首行。=3\*GB3③阻止類的繼承不允許被繼承的類稱為final類。在定義final類的時候,申明格式如下:finalclassStudent{...}類中的方法也可以申明為final。這樣的話,子類就不能覆蓋這個方法。(final類中的所有方法自動生成為final方法)。finalclassStudent{...publicfinalStringgetName(){returnname;}...}=3\*GB3③教師活動:PPT講解、提問、演示;學(xué)生活動:回答討論;時間分配:45分鐘。(3)任務(wù)實施=1\*GB3①講解分析Person.java:publicclassPerson{Stringname;intage;publicPerson(){System.out.println("父類構(gòu)造函數(shù)");}}=2\*GB3②講解分析Student.java:publicclassStudentextendsPerson{intstuId;publicStudent(){System.out.println("子類構(gòu)造函數(shù)");}publicstaticvoidmain(String[]args){Studentstu=newStudent();}}=3\*GB3③教師活動:講解、演示;學(xué)生活動:模仿操作;時間分配:25分鐘。二.總結(jié)(5分鐘)學(xué)生演示、互評:按照任務(wù)要求進(jìn)行演示并互評。教師點(diǎn)評:根據(jù)學(xué)生完成任務(wù)情況進(jìn)行驗收點(diǎn)評,并提出改進(jìn),在此基礎(chǔ)上進(jìn)行任務(wù)拓展。作業(yè)布置1、定義子類,實現(xiàn)臨時的職工和合同制的職工薪酬計算。教學(xué)反思
教學(xué)單元教案主題任務(wù)4面向?qū)ο蟮膯T工薪酬統(tǒng)計序號4-3課時2教學(xué)手段多媒體、板書、實訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):能根據(jù)實際應(yīng)用環(huán)境定義類和對象;能利用已有的類編寫應(yīng)用程序;能利用繼承技術(shù)提高程序開發(fā)效率和軟件重用性;能利用多態(tài)技術(shù)提高程序靈活性和擴(kuò)充性。知識目標(biāo):類和對象的概念及其關(guān)系;類的定義格式、類的域、構(gòu)造方法、一般的成員方法;創(chuàng)建類的對象并使用對象;類之間的繼承關(guān)系;子類的構(gòu)造方法;方法重載和覆蓋;抽象類和接口的使用。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊合作的能力;接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)類的定義和使用;方法的定義和使用;構(gòu)造方法;方法的覆蓋和重載;關(guān)鍵字this的用法;繼承的概念和應(yīng)用;抽象方法和抽象類。教學(xué)難點(diǎn)構(gòu)造方法;方法的覆蓋和重載;繼承的概念和應(yīng)用;組合與繼承;抽象方法和抽象類。教學(xué)過程設(shè)計備注一.教學(xué)內(nèi)容1、子任務(wù)3—多態(tài)(1)任務(wù)預(yù)覽:通過動物叫,具體的貓叫聲,狗叫聲不同,同時,對比子任務(wù)2中子類與父類的方法不同,引出一個程序中同名的不同方法共存的情況,在面向?qū)ο蟮某绦蛑校鄳B(tài)的情況有多種,可以通過子類對父類方法的覆蓋實現(xiàn)多態(tài),也可以利用重載在同一個類中定義多個同名的不同方法來實現(xiàn)多態(tài)。教師活動:PPT講解;學(xué)生活動:聽講記錄;時間分配:5分鐘。(2)任務(wù)部署:=1\*GB3①方法的重構(gòu)與重載如果子類中的某個方法與其父類具有相同的名稱和參數(shù)(個數(shù)和類型都相同),則稱該子類重構(gòu)了該方法(overriding),重構(gòu)也稱為覆蓋。這樣父類定義的方法在子類就“看不見”了,當(dāng)子類的這一方法被調(diào)用的時候,將直接使用子類定的方法。如果在同一個類中定義了多個同名的方法,它們或有不同的形參個數(shù)或有不同的形參類型,則稱該方法為被重載(Overloading)。在調(diào)用時,Java將根據(jù)實參個數(shù)或?qū)崊㈩愋瓦x擇匹配的方法。=2\*GB3②有關(guān)方法重構(gòu)的規(guī)定子類重構(gòu)父類方法時,子類方法的返回值類型應(yīng)當(dāng)與被重構(gòu)的方法的類型相同;子類不能重構(gòu)父類的final和private方法;子類不能用實例方法重構(gòu)父類的static方法。子類的static方法可重構(gòu)父類的static方法,但不能重構(gòu)父類的實例方法;子類方法重構(gòu)父類方法時,子類方法的訪問權(quán)限修飾符不能嚴(yán)于父類方法的訪問修飾符;子類若要引用父類中被重構(gòu)的方法,應(yīng)使用“super.方法名”的方式;=3\*GB3③教師活動:PPT講解、提問、演示;學(xué)生活動:回答討論;時間分配:30分鐘。(3)任務(wù)實施=1\*GB3①講解分析Animal.java:publicabstractclassAnimal{publicabstractvoidbark();}=2\*GB3②講解分析Cat.java:publicclassCatextendsAnimal{publicvoidbark(){System.out.println("喵喵");}}=3\*GB3③講解分析Dog.java:publicclassDogextendsAnimal{publicvoidbark(){System.out.println("汪汪");}}=4\*GB3④講解分析TestAnimal.java:publicclassTestAnimal{publicstaticvoidmain(String[]args){Animalanimal=newDog();animal.bark();animal=newCat();animal.bark();}}=3\*GB3③教師活動:講解、演示;學(xué)生活動:模仿操作;時間分配:30分鐘(4)抽象類和抽象方法=1\*GB3①總結(jié)歸納Animal類的特點(diǎn),從而引申出抽象類和抽象方法。=2\*GB3②抽象類和抽象方法在Java自上而下的類的繼承結(jié)構(gòu)層次中,位于上層的類應(yīng)是更加具有通用性和更加的抽象,有時由于對象高級抽象的需要,我們需要類只是申明方法的首部,而不需要說明其方法的主體,其主體部分由子類來完成。在Java中,使用abstract關(guān)鍵字可以實現(xiàn)這個功能。需要注意的是,由于抽象類的抽象性,因此其不能創(chuàng)建任何的對象,抽象類只是用來被其子類繼承。=3\*GB3③抽象類的定義規(guī)則抽象類和抽象方法必須由abstract關(guān)鍵字來修飾。抽象類不能實例化,也就是不能用new關(guān)鍵字去產(chǎn)生對象。抽象的方法主需要申明,不需要具體的實現(xiàn)。含抽象方法的類必須申明為抽象類,抽象類的子類必須覆蓋實現(xiàn)父類的所有抽象方法后才能被實例化,否則這個子類還是抽象類。抽象類中除了抽象方法外,也可包含具體的數(shù)據(jù)和具體的方法。=4\*GB3④抽象類的定義格式abstractclass類名稱//定義抽象類{申明數(shù)據(jù)成員;訪問權(quán)限返回值數(shù)據(jù)類型方法名稱(參數(shù)...)//普通的方法{...}訪問權(quán)限abstract返回值數(shù)據(jù)類型方法名稱(參數(shù)...);//抽象方法}在上面Animal的例子中就可以把Animal類申明為abstract,然后把bark申明為抽象的方法,后面的程序依然保持不變即可publicabstractclassAnimal{publicabstractvoidbark();}=5\*GB3⑤教師活動:講解、演示;學(xué)生活動:模仿操作;時間分配:10分鐘。二.總結(jié)(5分鐘)學(xué)生演示、互評:按照任務(wù)要求進(jìn)行演示并互評。教師點(diǎn)評:根據(jù)學(xué)生完成任務(wù)情況進(jìn)行驗收點(diǎn)評,并提出改進(jìn),在此基礎(chǔ)上進(jìn)行任務(wù)拓展。作業(yè)布置1、定義子類,實現(xiàn)臨時的職工和合同制的職工薪酬計算。教學(xué)反思
教學(xué)單元教案主題任務(wù)4面向?qū)ο蟮膯T工薪酬統(tǒng)計序號4-4課時2教學(xué)手段多媒體、板書、實訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):能根據(jù)實際應(yīng)用環(huán)境定義類和對象;能利用已有的類編寫應(yīng)用程序;能利用繼承技術(shù)提高程序開發(fā)效率和軟件重用性;能利用多態(tài)技術(shù)提高程序靈活性和擴(kuò)充性。知識目標(biāo):類和對象的概念及其關(guān)系;類的定義格式、類的域、構(gòu)造方法、一般的成員方法;創(chuàng)建類的對象并使用對象;類之間的繼承關(guān)系;子類的構(gòu)造方法;方法重載和覆蓋;抽象類和接口的使用。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊合作的能力;接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)類的定義和使用;方法的定義和使用;構(gòu)造方法;方法的覆蓋和重載;關(guān)鍵字this的用法;繼承的概念和應(yīng)用;抽象方法和抽象類。教學(xué)難點(diǎn)構(gòu)造方法;方法的覆蓋和重載;繼承的概念和應(yīng)用;組合與繼承;抽象方法和抽象類。教學(xué)過程設(shè)計備注一.教學(xué)內(nèi)容1、子任務(wù)4—接口(1)任務(wù)預(yù)覽:由Java不支持多重繼承,而接口中可以實現(xiàn)“多重繼承”,引申出接口相關(guān)知識。教師活動:PPT講解;學(xué)生活動:聽講記錄;時間分配:5分鐘。(2)任務(wù)部署:=1\*GB3①接口的定義格式interface接口名稱//定義接口{final數(shù)據(jù)類型成員名稱=常量;//數(shù)據(jù)成員必須賦初值
abstract返回值數(shù)據(jù)類型方法名稱(參數(shù)...);}=2\*GB3②接口的使用規(guī)則接口里的數(shù)據(jù)成員必須初始化,且數(shù)據(jù)成員均為常量。接口里的方法必須全部聲明為abstract,也就是說,接口不能像抽象類一樣保有一般的方法,而必須全部是“抽象方法”。與類不同,接口中的所有方法自動屬于public,因此在接口中申明方法的時候,不必提供關(guān)鍵字public。=3\*GB3③接口的實現(xiàn)接口的聲明僅僅給出了抽象方法,而具體地實現(xiàn)接口所定義的方法需要某個類為接口中的每個抽象方法定義具體的操作。在類的聲明部分,用implements關(guān)鍵字來聲明這個類實現(xiàn)某個接口,一個類可以實現(xiàn)多個接口,在implements子句中用逗號隔開。實現(xiàn)接口的語法格式如下class類名稱implements接口A,接口B//接口的實現(xiàn){...}=4\*GB3④接口的繼承interface子接口名稱extends父接口1,父接口2,...{...}=3\*GB3③教師活動:PPT講解、提問、演示;學(xué)生活動:回答討論;時間分配:45分鐘。(3)任務(wù)實施=1\*GB3①講解分析Person.java:interfaceCalcArea{finaldoublePI=3.1415926;doublecalcArea(doubler);}classCircleimplementsCalcArea{publicdoublecalcArea(doubler){returnPI*r*r;}}publicclassTestInterface{publicstaticvoidmain(String[]args){Circlecir=newCircle();System.out.println("Area:"+cir.calcArea(3));}}=2\*GB3②教師活動:講解、演示;學(xué)生活動:模仿操作;時間分配:25分鐘三.總結(jié)(5分鐘)學(xué)生演示、互評:按照任務(wù)要求進(jìn)行演示并互評。教師點(diǎn)評:根據(jù)學(xué)生完成任務(wù)情況進(jìn)行驗收點(diǎn)評,并提出改進(jìn),在此基礎(chǔ)上進(jìn)行任務(wù)拓展。作業(yè)布置1、定義子類,實現(xiàn)臨時的職工和合同制的職工薪酬計算。教學(xué)反思
教學(xué)單元教案主題任務(wù)5異常的處理序號5課時2教學(xué)手段多媒體、板書、實訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):能夠利用Java異常處理機(jī)制處理程序中的異常。知識目標(biāo):熟悉異常類的層次結(jié)構(gòu),能夠區(qū)別Error類和異常Exception及其處理;了解Java的異常處理機(jī)制;掌握在程序中使用try-catch-finally語句結(jié)構(gòu)處理異常的方法;掌握異常的聲明和拋出;掌握自定義異常的方法。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊合作的能力;接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)異常處理語句教學(xué)難點(diǎn)Java的異常處理機(jī)制、異常的聲明和拋出及自定義異常的方法教學(xué)過程設(shè)計備注一.導(dǎo)入通過員工編號輸入錯誤問題,提出本次學(xué)習(xí)的任務(wù)—員工編號異常處理。教師活動:PPT講解;學(xué)生活動:聽講記錄;時間分配:2分鐘。二.教學(xué)內(nèi)容1、子任務(wù)1—員工編號異常處理(1)任務(wù)預(yù)覽:設(shè)定員工的ID的位數(shù)固定為5位,當(dāng)輸入的員工ID的位數(shù)不滿足要求時,我們需要報告異常。教師活動:PPT講解;學(xué)生活動:聽講記錄;時間分配:3分鐘。(2)任務(wù)部署:=1\*GB3①異常的基本概念異常(Exception)指的是程序運(yùn)行中出現(xiàn)的非正常情況,又稱為差錯、違例等。Java程序可以用代碼來處理異常并繼續(xù)執(zhí)行程序,而不是讓程序中斷。=2\*GB3②Java異常處理的格式語法try//try語句塊{要檢查的程序語句;...}catch(異常類對象名稱)//catch語句塊{異常發(fā)生的處理語句;}finally//finally語句塊{一定會運(yùn)行到的代碼;}try語句塊中若是有異常發(fā)生,則程序運(yùn)行中斷,并拋出異常類產(chǎn)生的對象。拋出的對象如果屬于catch()括號內(nèi)欲捕獲的異常類,則catch會捕捉此異常,然后進(jìn)到catch的塊里繼續(xù)運(yùn)行。finally語句塊一般是用來處理一些資源釋放之類的事情,無論是否發(fā)生異常都會執(zhí)行finally語句塊里面的內(nèi)容,如果你沒有這樣的需求,finally語句塊也可以沒有。=3\*GB3③異常類的層次Throwable類是類庫java.1ang包中的一個類,它派生了兩個子類:Exception和Error。其中Error類由系統(tǒng)保留,而Exception類則供應(yīng)用程序使用。=4\*GB3④異常的拋出在程序中拋出異常:throw異常類實例對象;throw后拋出的是一個異常類的實例對象指定方法拋出異常:方法名稱(參數(shù)...)throws異常類1,異常類2,...如果方法內(nèi)的程序代碼可能會發(fā)生異常,且方法內(nèi)又沒有使用任何的代碼塊來捕捉這些異常時,則必須在聲明方法時一并指明所有可能發(fā)生的異常,以便讓調(diào)用此方法的程序得以做好準(zhǔn)備來捕捉異常。=5\*GB3⑤自定義異常Java類庫中定義的異常主要用來處理系統(tǒng)可以預(yù)見的、比較常見的運(yùn)行錯誤。如果某個應(yīng)用程序有特殊的要求,則可能出現(xiàn)系統(tǒng)不能識別的運(yùn)行錯誤,這時,用戶就需要自己創(chuàng)建異常和異常類,使系統(tǒng)能夠識別這種錯誤并進(jìn)行處理,以增強(qiáng)用戶程序的健壯性和容錯性,從而使系統(tǒng)更加穩(wěn)定。用戶自定義的異常類必須是Throwable類的直接或間接子類定義自己的異常類的格式語法如下class異常名稱extendsException{...}=6\*GB3⑥教師活動:PPT講解、提問、演示;學(xué)生活動:回答討論;時間分配:45分鐘。(3)任務(wù)實施=1\*GB3①講解分析Employee.java:packageTestEmployee;publicclassEmployee{Stringid;Stringname;publicEmployee(Stringid,Stringname){if(id.length()!=5)thrownewIllegalArgumentException("ID的長度應(yīng)為5");this.id=id;=name;}publicStringgetId(){returnid;}publicStringgetName(){returnname;}publicvoidprint(){System.out.println("ID:"+id+"\n姓名:"+name);}}=2\*GB3②講解分析TestEmployee.javapackageTestEmployee;publicclassTestEmployee{publicstaticvoidmain(String[]args){Employeeemployee=newEmployee("1002","張三");employee.print();System.out.println(employeeinstanceofEmployee);}}=3\*GB3③教師活動:講解、演示;學(xué)生活動:模仿操作;時間分配:25分鐘。三.總結(jié)(5分鐘)學(xué)生演示、互評:按照任務(wù)要求進(jìn)行演示并互評。教師點(diǎn)評:根據(jù)學(xué)生完成任務(wù)情況進(jìn)行驗收點(diǎn)評,并提出改進(jìn),在此基礎(chǔ)上進(jìn)行任務(wù)拓展。作業(yè)布置1.從鍵盤接收輸入的5個學(xué)生的成績,計算平均分。自定義兩個異常類分別處理錄入成績時可能出現(xiàn)的情況,一個是NumException類用來處理當(dāng)成績?yōu)樨?fù)數(shù)時所引發(fā)的異常,其中MaxException類用來處理當(dāng)成績超過100分時所引發(fā)的異常。教學(xué)反思
教學(xué)單元教案主題任務(wù)6圖形化員工信息管理系統(tǒng)序號6-1課時2教學(xué)手段多媒體、板書、實訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):圖形界面設(shè)計;圖形界面編程技巧。知識目標(biāo):了解AWT和Swing的區(qū)別和聯(lián)系;掌握容器的概念及其分類;掌握容器JFame、JPanel、JDialog的使用;掌握組件JButton、JLabel、JTextFiled、JTextArea和JPasswordField的使用;掌握將組件添加到容器中方法。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊合作的能力;接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)頂層容器和中間容器,組件的屬性和常用方法。教學(xué)難點(diǎn)區(qū)分中間容器與頂層容器,利用容器布局組件。教學(xué)過程設(shè)計備注一.導(dǎo)入到目前位置,我們所學(xué)的都是Java控制臺程序的輸出(字符方式),而應(yīng)用最為廣泛的還是圖形用戶界面的設(shè)計(圖形方式)。討論過去使用所學(xué)程序設(shè)計進(jìn)行過哪些小型項目的開發(fā)。結(jié)論:利用Java語言也可以相應(yīng)功能。教師活動:引導(dǎo);學(xué)生活動:討論;時間分配:3分鐘。二.教學(xué)內(nèi)容1、子任務(wù)1—簡單的圖形化界面(1)任務(wù)預(yù)覽:將前面的員工管理系統(tǒng)員工的信息輸入改為圖形的方式。教師活動:PPT講解;學(xué)生活動:聽講記錄;時間分配:2分鐘。(2)任務(wù)部署:=1\*GB3①AWT和Swing簡介第一代圖形用戶界面AWT(AbstractWindowToolkit)提供了基本的圖形用戶界面。AWT的特點(diǎn)是簡單、穩(wěn)定、重量級(依賴本地平臺),AWT涉及的類都在java.awt包及其子包中。SwingGUI組件是Java提供的第二代圖形用戶界面,該組件不含任何與平臺有關(guān)的本地代碼。Swing組件的這個特點(diǎn)使得基于Swing組件的圖形界面程序具有良好的跨平臺性能。此外,即使最簡單的Swing組件也提供了比AWT組件更強(qiáng)的功能。=2\*GB3②常用的Swing容器類和Swing的常用組件詳細(xì)介紹容器類組件是用來包含其他組件的。JComponent是所有Swing組件的超類。Swing中的容器類繼承自AWT的頂層容器類Window。常用的Swing容器類有JFrame、JPanel、JAplplet等。Swing的常用組件有JButton、JTextField、JTextArea、JLabel等。=3\*GB3③教師活動:PPT講解、提問、演示;學(xué)生活動:回答討論;時間分配:45分鐘。(3)任務(wù)實施=1\*GB3①講解分析TestTableModel.java:packageTestJTable;importjava.awt.*;importjava.awt.event.*;importjava.util.Vector;importjavax.swing.*;importjavax.swing.table.*;publicclassTestTableModelextendsJFrame{JButtonaddBtn=newJButton("添加");finalSalaryTableModeltableData=newSalaryTableModel();JTabletable=newJTable(tableData);publicTestTableModel(){super("TestTableModel");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setBounds(100,100,300,300);this.setVisible(true);this.add(newJScrollPane(table),BorderLayout.CENTER);addBtn.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){tableData.addData("10001","張三",3000);}});this.add(addBtn,BorderLayout.SOUTH);}publicstaticvoidmain(String[]args){newTestTableModel();}}classSalaryTableModelextendsAbstractTableModel{privateVector<String>idData=newVector<String>();privateVector<String>nameData=newVector<String>();privateVector<String>salaryData=newVector<String>();privateString[]columnName={"ID","Name","Salary"};publicintgetRowCount(){returnidData.size();}publicintgetColumnCount(){return3;}publicObjectgetValueAt(introw,intcol){if(col==0)returnidData.elementAt(row);elseif(col==1)returnnameData.elementAt(row);elsereturnsalaryData.elementAt(row);}publicStringgetColumnName(intcol){returncolumnName[col];}publicvoidaddData(Stringid,Stringname,intsalary){idData.addElement(id);nameData.addElement(name);salaryData.addElement(Integer.toString(salary));fireTableDataChanged();}}=2\*GB3②講解分析SimpleTable.javapackageTestJTable;importjava.awt.BorderLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.*;publicclassSimpleTableextendsJFrame{privateObject[][]data={{"10001","張三","3000"},{"10002","李四","4000"},{"10003","王五","5000"},{"10004","小明","5000"},{"10005","小張","5000"},};privateString[]columnNames={"ID","Name","Salary"};JButtonprintButton=newJButton("打印");JPanelbtnPanel=newJPanel();publicSimpleTable(){super("SimpleTable");this.setBounds(100,100,300,300);finalJTabletable=newJTable(data,columnNames);this.add(newJScrollPane(table),BorderLayout.CENTER);printButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){try{table.print();}catch(java.awt.print.PrinterExceptione){System.out.println(e.getMessage());}}});btnPanel.add(printButton);this.add(btnPanel,BorderLayout.SOUTH);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}publicstaticvoidmain(String[]args){newSimpleTable();}}=3\*GB3③教師活動:講解、演示;學(xué)生活動:模仿操作;時間分配:25分鐘。三.總結(jié)(5分鐘)學(xué)生演示、互評:按照任務(wù)要求進(jìn)行演示并互評。教師點(diǎn)評:根據(jù)學(xué)生完成任務(wù)情況進(jìn)行驗收點(diǎn)評,并提出改進(jìn),在此基礎(chǔ)上進(jìn)行任務(wù)拓展。作業(yè)布置1、設(shè)計用戶登錄界面并加入圖片進(jìn)行適當(dāng)?shù)男揎?,設(shè)置相關(guān)內(nèi)容的字體、顏色,使得界面顯示美觀大方。教學(xué)反思
教學(xué)單元教案主題任務(wù)6圖形化員工信息管理系統(tǒng)序號6-2課時2教學(xué)手段多媒體、板書、實訓(xùn)室教學(xué)方法講授法、演示法、案例法教學(xué)課型□理論□實訓(xùn)√一體化□(其它)教學(xué)目標(biāo)能力目標(biāo):圖形界面設(shè)計;圖形界面編程技巧。知識目標(biāo):了解AWT和Swing的區(qū)別和聯(lián)系;掌握容器的概念及其分類;掌握容器JFame、JPanel、JDialog的使用;掌握組件JButton、JLabel、JTextFiled、JTextArea和JPasswordField的使用;掌握將組件添加到容器中方法。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊合作的能力;接受新知識、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)頂層容器和中間容器,組件的屬性和常用方法。教學(xué)難點(diǎn)區(qū)分中間容器與頂層容器,利用容器布局組件。教學(xué)過程設(shè)計備注一.教學(xué)內(nèi)容1、子任務(wù)1—簡單的圖形化界面(1)任務(wù)預(yù)覽:回顧上次所講常用的Swing容器類和Swing的常用組件詳細(xì)介紹。教師活動:PPT講解;學(xué)生活動:聽講記錄;時間分配:15分鐘。(2)任務(wù)部署實現(xiàn)簡單的圖形化界面:=1\*GB3①講解分析TestTableModel.java:packageTestJTable;importjava.awt.*;importjava.awt.event.*;importjava.util.Vector;importjavax.swing.*;importjavax.swing.table.*;publicclassTestTableModelextendsJFrame{JButtonaddBtn=newJButton("添加");finalSalaryTableModeltableData=newSalaryTableModel();JTabletable=newJTable(tableData);publicTestTableModel(){super("TestTableModel");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setBounds(100,100,300,300);this.setVisible(true);this.add(newJScrollPane(table),BorderLayout.CENTER);addBtn.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){tableData.addData("10001","張三",3000);}});this.add(addBtn,BorderLayout.SOUTH);}publicstaticvoidmain(String[]args){newTestTableModel();}}classSalaryTableModelextendsAbstractTableModel{privateVector<String>idData=newVect
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年榆林市公共交通總公司招聘(57人)筆試參考題庫附帶答案詳解
- 紡織品設(shè)計師證書考試評估體系試題及答案
- 幼兒園聘用幼兒教師臨時用工勞動合同書
- 家電營銷策劃合同協(xié)議書
- 中小學(xué)送餐合同協(xié)議書
- 合股協(xié)議書合同
- 個人保安員合同協(xié)議書
- 分錢合同協(xié)議書
- 合同協(xié)議書合同模板
- 合同協(xié)議書定金
- 【碳足跡報告】新鄉(xiāng)市錦源化工對位脂產(chǎn)品碳足跡報告
- 部編版歷史九年級上冊第1課-古代埃及【課件】a
- 盾構(gòu)法施工畢業(yè)設(shè)計論文
- 2015-2024北京中考真題語文匯編:文言文閱讀
- CT圖像的主要偽影
- 食品安全責(zé)任保險投保單
- 六年級下冊科學(xué)知識點(diǎn)(浙教版新)
- 室內(nèi)批灰合同模板
- 舞臺人生:走進(jìn)戲劇藝術(shù)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- RhD抗原陰性孕產(chǎn)婦血液安全管理專家共識
- 2023年遼寧營口中考滿分作文《你是我成長中的榜樣》
評論
0/150
提交評論