《Java程序設(shè)計(jì)》教案_第1頁(yè)
《Java程序設(shè)計(jì)》教案_第2頁(yè)
《Java程序設(shè)計(jì)》教案_第3頁(yè)
《Java程序設(shè)計(jì)》教案_第4頁(yè)
《Java程序設(shè)計(jì)》教案_第5頁(yè)
已閱讀5頁(yè),還剩128頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、教案2018 -2019 學(xué)年第 2 學(xué)期課程名稱(chēng):Java程序設(shè)課程代碼:適用專(zhuān)業(yè):計(jì)算機(jī)應(yīng)用技教師姓名:所屬系部: 職稱(chēng)課時(shí):總學(xué)時(shí)80使用教材: Java 程序設(shè)計(jì)項(xiàng)目化教程教學(xué)單元教案主題課時(shí)2任務(wù)1安裝配置開(kāi)發(fā)環(huán)境序號(hào)1教學(xué)手段多媒體、板書(shū)、實(shí)訓(xùn)室講授法、演示法、案例法理論實(shí)訓(xùn)一體化(其它)能力目標(biāo):能配置典型的java 開(kāi)發(fā)環(huán)境、能使用java 開(kāi)發(fā)環(huán)境編寫(xiě)Java 程序。教學(xué)目標(biāo)知識(shí)目標(biāo)開(kāi)發(fā)工具的下載、安裝與使用;編寫(xiě)、編譯和運(yùn)行Java應(yīng)用程序的方法;理解字節(jié)碼及Java 的可移植性原理。素質(zhì)目標(biāo):接受新知識(shí)、自主學(xué)習(xí)的能力 。JDK 的下載、安裝和環(huán)境配置命令行方式下調(diào)試程序

2、教學(xué)過(guò)程設(shè)計(jì)備注一. 導(dǎo)入(15 分鐘)介紹教師個(gè)人信息、聯(lián)系方式等;JavaJava介紹 Java 程序設(shè)計(jì)課程的考核等;JavaJava認(rèn)識(shí),激發(fā)興趣,激發(fā)學(xué)生學(xué)習(xí)興趣。教師活動(dòng):PPT 講解、案例演示;學(xué)生活動(dòng):聽(tīng)講記錄;時(shí)間分配:15 分鐘。(601、JavaJavaJavaJVMPPT:5Java性;教師活動(dòng):引導(dǎo);學(xué)生活動(dòng):討論;時(shí)間分配:52、JDK 的安裝及配置 HYPERLINK /technetwork/java/javase/downloads /technetwork/java/javase/downloads JDK,并安裝。Path打開(kāi)【環(huán)境變量】面板。點(diǎn)擊名為Pa

3、thjdkbinclassPath配:203、命令行方式下調(diào)試程序javacjavaHelloWorld.java設(shè)置環(huán)境變量編譯:javacHelloWorld.java運(yùn)行:javaHelloWorld配:104、Eclipse 的安裝、配置及應(yīng)用 HYPERLINK /downloads /downloadsEclipse,并安裝。Eclipse,創(chuàng)建 HelloWorld.java配:105、Myeclipse 的安裝、配置及應(yīng)用 HYPERLINK /softs/75202.html /softs/75202.html裝。Myeclipse,創(chuàng)建 HelloWorld.java配:1

4、0三.總結(jié)(5 分鐘)教師指出學(xué)生實(shí)踐中可能出錯(cuò)和已經(jīng)出錯(cuò)的地方,結(jié)合教學(xué)重點(diǎn)和難引用屬性與方法; 使用“.”符號(hào)分隔路徑;使用“”與“”符號(hào)標(biāo)1、分別使用JDK、Myelcipse 編寫(xiě)Java 應(yīng)用程序輸出Hello 作業(yè)布置 習(xí)完成)。教學(xué)反思教學(xué)反思教學(xué)單元教案主題課時(shí)2任務(wù)2員工薪酬計(jì)算序號(hào)2教學(xué)手段多媒體、板書(shū)、實(shí)訓(xùn)室講授法、演示法、案例法理論實(shí)訓(xùn)一體化(其它能力目標(biāo):能夠使用Java基本語(yǔ)法編寫(xiě)簡(jiǎn)單的順序程序。知識(shí)目標(biāo):標(biāo)識(shí)符的定義規(guī)則;關(guān)鍵字的意義;基本數(shù)據(jù)類(lèi)型;運(yùn)算符、表達(dá)式和表達(dá)式語(yǔ)句;讀取輸入、格式化輸出。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊(duì)合作的能力;接受新知識(shí)、自主學(xué)習(xí)的能力。J

5、ava 基礎(chǔ)語(yǔ)法標(biāo)識(shí)符與關(guān)鍵字的區(qū)別教學(xué)過(guò)程設(shè)計(jì)備注一.導(dǎo)入(5 分鐘)介紹員工信息管理系統(tǒng)可以對(duì)員工薪酬進(jìn)行計(jì)算。提出本次學(xué)習(xí)的任PPT配:5二.教學(xué)內(nèi)容1、子任務(wù) 1簡(jiǎn)單的員工薪酬計(jì)算(70 分鐘)JavaPPT 講解;學(xué)生活動(dòng):聽(tīng)講記錄。任務(wù)部署:標(biāo)識(shí)符、變量和常量使用 Java 標(biāo)示符時(shí)需要注意以下的規(guī)則:JavaabAb標(biāo)示符由字母、數(shù)字、下劃線、美元符號(hào)組成,沒(méi)有長(zhǎng)度限制。標(biāo)示符的首字符必須是字母、下劃線(_)、美元符($)。標(biāo)示符不能是 Java 關(guān)鍵字和保留字,但是可以包含關(guān)鍵字和保留字。標(biāo)示符不能包含空格。標(biāo)示符只能包含美元符($),不能包含、#等其他特殊符號(hào))數(shù)據(jù)類(lèi)型整型:

6、bytebyte8-12(-27)127(27-1)。shortshort16-32768(-215)32767(215-1)。intint32-2147483648(-231)2147483647(231-1)。long:一個(gè) long 型整數(shù)在內(nèi)存中占有 64 位,表示范圍是:-92233720368547754775808(-263)92233720368547754775807(263-1)字符型:字符型通常用于表示單個(gè)字符,字符常量必須以單引號(hào)括起來(lái)。Java16UnicodeJava符。字符常量主要有以下 3 種表示方式。直接通過(guò)單個(gè)字符表示,如a,3和-。通過(guò)轉(zhuǎn)義字符表示特殊的字

7、符常量,如t,n和bUnicodeuXXXX,XXXX16數(shù),如u4E2D浮點(diǎn)型:Javafloatdouble。float4;double8浮點(diǎn)數(shù)兩種表示方式2.24,0.32,12.03.12e2(312)布爾類(lèi)型:Javaboolean型的變量只能是true和false00boolean 變量不能與整型變量相互轉(zhuǎn)換。運(yùn)算符.()(方法調(diào)用)! + - +(一元運(yùn)算符)-(一元運(yùn)算符)()(強(qiáng)制類(lèi)型轉(zhuǎn)換)new*/%+- = instanceof=!=&| &|?:=+=-=*=/=%=&=|=教師活動(dòng):PPT 講解、提問(wèn)、演示;學(xué)生活動(dòng):回答討論;時(shí)間分配:45 分鐘。任務(wù)實(shí)施講解分析

8、Salary.java:Javapublic classJava且源代碼文件必須與這個(gè)公有類(lèi)的名字相同;public static void main(String args)main()方法;main()方法中的內(nèi)容稱(chēng)為類(lèi)體。Javapublic class Salary public static void main (String args)double salaryBefore; double salaryAfter; double taxRate;salaryBefore = 5000;taxRate = 0.15;salaryAfter = salaryBefore * (1 -

9、taxRate);System.out.println(稅前: + salaryBefore + 元); System.out.println(稅率: + taxRate*100 + %); System.out.println(稅后: + salaryAfter + 元);210 22簡(jiǎn)單的員工薪酬計(jì)算Java講解;學(xué)生活動(dòng):聽(tīng)講記錄。任務(wù)部署:讀取輸入構(gòu)造一個(gè) Scanner 對(duì)象Scanner in = new Scanner ( System.in ); in.nextLine(); 讀取一行(包含空格)in.next();只想讀取一個(gè)單詞(以空格作為分隔符) in.nextInt()

10、;讀取一個(gè)整數(shù)in.nextDouble();讀取一個(gè)浮點(diǎn)數(shù)格式化輸出采用 NumberFormat 或其子類(lèi)來(lái)對(duì)數(shù)字進(jìn)行格式化DecimalFormat df = new DecimalFormat(0000); System.out.println(df.format(12);printf 格式化輸出數(shù)字或字符教師活動(dòng):PPT 講解、提問(wèn)、演示;學(xué)生活動(dòng):回答討論;時(shí)間分配:10 分鐘。(4)任務(wù)實(shí)施講解分析 Salary.java:Java計(jì)算:public class Salary public static void main (String args) double salaryB

11、efore;double salaryBefore;double salaryAfter; double taxRate;Scanner in = new Scanner(System.in);System.out.print(輸入稅前工資:);salaryBefore = in.nextDouble();System.out.print(輸入稅率:); taxRate = in.nextDouble();salaryAfter = salaryBefore * (1 - taxRate);System.out.println(稅前: + salaryBefore + 元); System.o

12、ut.println(稅率: + taxRate*100 + %); System.out.println(稅后: + salaryAfter + 元);教師活動(dòng):講解、演示;學(xué)生活動(dòng):模仿操作;時(shí)間分配:5三.總結(jié)(5 分鐘)學(xué)生演示、互評(píng):按照任務(wù)要求進(jìn)行演示并互評(píng)。教師點(diǎn)評(píng):根據(jù)1、求 1+2+3+4+5*2/3+7-12 的和。作業(yè)布置2、2教學(xué)反思教學(xué)單元教案主題課時(shí)2任務(wù)3員工薪酬的統(tǒng)計(jì)序號(hào)3-1教學(xué)手段多媒體、板書(shū)、實(shí)訓(xùn)室講授法、演示法、案例法理論實(shí)訓(xùn)一體化(其它)Java教學(xué)目標(biāo)知識(shí)目標(biāo):?jiǎn)畏种Ш投喾种С绦蚪Y(jié)構(gòu);三種循環(huán)結(jié)構(gòu)和continue語(yǔ)句的使用方法;一維數(shù)組的概念、定義

13、和使用。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊(duì)合作的能力;接受新知識(shí)、自主學(xué)習(xí)的能力。Javabreakcontinue。教學(xué)過(guò)程設(shè)計(jì)備注一.導(dǎo)入(5 分鐘)二.教學(xué)內(nèi)容(75)1、子任務(wù) 1計(jì)算稅后薪酬Java然后顯示計(jì)算的結(jié)果。教師活動(dòng):PPT任務(wù)部署:條件語(yǔ)句ifif(condition)statement;if(condition) statement1;else statement2;if statement1;else if statement2;. else statementN;conditionstatement)將多條語(yǔ)句括起來(lái).switch 語(yǔ)句: switch(value)case

14、value1:statement1; break;case value1:statement1; break;.case valueN:statementN; break;default:defaultStatement;使用 switch 時(shí)注意事項(xiàng):valuechar、byte、shortintcase 語(yǔ)句對(duì)應(yīng)的 valueN 值必須是常量,而且各個(gè) valueN 應(yīng)該不相同。break 語(yǔ)句用來(lái)在執(zhí)行完相應(yīng)的case 分支語(yǔ)句后跳出switch 語(yǔ)句,casebreakdefault 是可選的,當(dāng) value 的值與所列的 valueN 的值都不匹配的時(shí)候,就會(huì)執(zhí)行defaultdde

15、faultswitch教師活動(dòng):PPT 講解、提問(wèn)、演示;學(xué)生活動(dòng):回答討論;時(shí)間分配:20 分鐘。任務(wù)實(shí)施講解分析 CalcSalary:ifpublic class Salary public static void main (String args)double salaryBefore; double salaryAfter; double taxRate;salaryBefore = 5000;taxRate = 0.15;salaryAfter = salaryBefore*(1 - taxRate);System.out.println(稅前:+salaryBefore + 元

16、);System.out.println(稅率:+taxRate*100 + %);System.out.println(稅后:+salaryAfter + 元);20 32員工工資排序任務(wù)預(yù)覽:編寫(xiě)一個(gè)Java10PPT聽(tīng)講記錄。任務(wù)部署:循環(huán)語(yǔ)句while 循環(huán):while (condition) statement;whiletrue(個(gè)語(yǔ)句塊)conditionfalse,會(huì)執(zhí)行。do/while 循環(huán):do statement while (condition); do/while 循環(huán)語(yǔ)句至少執(zhí)行一次。for 循環(huán):for (int i = 1; i = 10; i+) Syste

17、m.out.println(i);for數(shù)器或類(lèi)似的變量來(lái)控制迭代次數(shù)。for 語(yǔ)句的第一部分通常用于對(duì)計(jì)數(shù)器的初始化;第二部分給出循環(huán)繼續(xù)執(zhí)行的條件;第三部分指示如何更新計(jì)數(shù)器。教師活動(dòng):PPT 講解、提問(wèn)、演示;學(xué)生活動(dòng):回答討論;時(shí)間分配:20 分鐘。跳轉(zhuǎn)語(yǔ)句break 語(yǔ)句:breakswichswitch句。在實(shí)際中我們更多的是使用它來(lái)跳出循環(huán)。continue 語(yǔ)句:Javacontinuebreakcontinue移到最內(nèi)層循環(huán)的首部。return 語(yǔ)句:return 語(yǔ)句用在方法中,用于終止當(dāng)前方法的執(zhí)行,返回到調(diào)用該方法的語(yǔ)句處。return expression;retur

18、n expression;教師活動(dòng):PPT 講解、提問(wèn)、演示;學(xué)生活動(dòng):回答討論;時(shí)間分配:10 分鐘。三.總結(jié)(5 分鐘)學(xué)生演示、互評(píng):按照任務(wù)要求進(jìn)行演示并互評(píng)。教師點(diǎn)評(píng):根據(jù)作業(yè)布置1、求 100200 之間的所有素?cái)?shù),并計(jì)算它們的和。2、用嵌套的for 循環(huán)語(yǔ)句改寫(xiě)例 2-10 乘法九九表程序。教學(xué)反思教學(xué)單元教案主題課時(shí)2任務(wù)3員工薪酬的統(tǒng)計(jì)序號(hào)3-2教學(xué)手段多媒體、板書(shū)、實(shí)訓(xùn)室講授法、演示法、案例法理論實(shí)訓(xùn)一體化(其它)Java教學(xué)目標(biāo)知識(shí)目標(biāo):?jiǎn)畏种Ш投喾种С绦蚪Y(jié)構(gòu);三種循環(huán)結(jié)構(gòu)和continue語(yǔ)句的使用方法;一維數(shù)組的概念、定義和使用。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊(duì)合作的能力;接

19、受新知識(shí)、自主學(xué)習(xí)的能力。教學(xué)重點(diǎn)教學(xué)難點(diǎn)一.教學(xué)內(nèi)容1、數(shù)組Java 的分支語(yǔ)句;循環(huán)控制語(yǔ)句;數(shù)組的定義和使用breakcontinue。教學(xué)過(guò)程設(shè)計(jì)備注數(shù)組的申明和內(nèi)存的分配:數(shù)據(jù)類(lèi)型 數(shù)組名; / 聲明一維數(shù)組數(shù)組名 = new 數(shù)據(jù)類(lèi)型個(gè)數(shù); / 分配內(nèi)存給數(shù)組數(shù)組中元素的表示:想要使用數(shù)組里的元素,可以利用索引來(lái)完成。Java01salary12素,salary 910數(shù)組的初始化:數(shù)據(jù)類(lèi)型 數(shù)組名= 初值 0,初值 1,初值 n數(shù)組排序:Arrayssort需要在import java.util.Arrays。教師活動(dòng):PPT 講解、提問(wèn)、演示;學(xué)生活動(dòng):回答討論;時(shí)間分配:40

20、 分鐘。任務(wù)實(shí)施講解分析 SalarySort.java:分析任務(wù),首先我們需要保存10酬都定義一個(gè)變量就太麻煩了,因此我們可以定義一個(gè)數(shù)組來(lái)存儲(chǔ)員工的Arraysort()對(duì)數(shù)組進(jìn)行排序。forsort“for each”排序public class SalarySort public static void main (String args)int salary = new int10;for (int i = 0; i salary.length; i+) salaryi = (int)(Math.random() * 10000);Arrays.sort(salary);for (i

21、nt element:salary) System.out.println(element);35三.總結(jié)(5學(xué)生演示、互評(píng):按照任務(wù)要求進(jìn)行演示并互評(píng)。 教師點(diǎn)評(píng):根據(jù)作業(yè)布置1、求 100200 之間的所有素?cái)?shù),并計(jì)算它們的和。2、用嵌套的for 循環(huán)語(yǔ)句改寫(xiě)例 2-10 乘法九九表程序。教學(xué)反思教學(xué)單元教案主題課時(shí)2任務(wù)4面向?qū)ο蟮膯T工薪酬統(tǒng)計(jì)序號(hào)4-1教學(xué)手段多媒體、板書(shū)、實(shí)訓(xùn)室講授法、演示法、案例法理論實(shí)訓(xùn)一體化(其它)能根據(jù)實(shí)際應(yīng)用環(huán)境定義類(lèi)和對(duì)象教學(xué)目標(biāo)知識(shí)目標(biāo)類(lèi)和對(duì)象的概念及其關(guān)系;類(lèi)的定義格式、類(lèi)的域、構(gòu)造方法、一法;方法重載和覆蓋;抽象類(lèi)和接口的使用。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)

22、隊(duì)合作的能力;接受新知識(shí)、自主學(xué)習(xí)的能力。類(lèi)的定義和使用;方法的定義和使用;構(gòu)造方法;方法的覆蓋和重載;關(guān)鍵字this 的用法;繼承的概念和應(yīng)用;抽象方法和抽象類(lèi)。構(gòu)造方法;方法的覆蓋和重載;繼承的概念和應(yīng)用;組合與繼承;抽象方法和抽象類(lèi)。教學(xué)過(guò)程設(shè)計(jì)備注一.導(dǎo)入二.教學(xué)內(nèi)容1、子任務(wù) 1Employee 類(lèi)的實(shí)現(xiàn)任務(wù)預(yù)覽:按要求定義一個(gè)Employeename和 salary。包含無(wú)參數(shù)的構(gòu)造函數(shù)和三個(gè)參數(shù)的構(gòu)造函數(shù),還包含一個(gè)print(姓名,ID)義兩個(gè)員工對(duì)象,一個(gè)使用無(wú)參數(shù)的構(gòu)造方法,然后使用setXXX()PPT學(xué)生活動(dòng):聽(tīng)講記錄。任務(wù)部署:面向?qū)ο蟪绦蛟O(shè)計(jì)概述對(duì)象:對(duì)象的行為(b

23、ehavior)可以對(duì)對(duì)象實(shí)施的操作,或?qū)ο笏哂械墓δ?。?duì)象的屬性(attribute)類(lèi):封裝性類(lèi)類(lèi)的定義: class 類(lèi)名稱(chēng)數(shù)據(jù)類(lèi)型 屬性名;.;返回值類(lèi)型 方法名稱(chēng)(參數(shù) 1, 參數(shù) 2, .)程序語(yǔ)句;.;return 表達(dá)式;類(lèi)的封裝:語(yǔ)言用包將各種類(lèi)組織在一起,將一個(gè)類(lèi)歸到某一個(gè)包中,只需要在源文packagepackage 包 1.包 2.包 3 ; /表示可選會(huì)編譯出錯(cuò)。import 包 1.包 2.包 3.類(lèi)名|* ; /*表示引用該包下的所有類(lèi)importimport java.util.List;構(gòu)造方法及其重載構(gòu)造方法所完成的主要工作是幫助新創(chuàng)建的對(duì)象賦初值(也稱(chēng)構(gòu)

24、造函數(shù))。class 類(lèi)名稱(chēng)訪問(wèn)權(quán)限類(lèi)名稱(chēng)(類(lèi)型 1 參數(shù) 1,類(lèi)型 2 參數(shù) 2,)程序語(yǔ)句;. / 構(gòu)造方法沒(méi)有返回值在使用構(gòu)造方法的時(shí)候需要注意: 它與類(lèi)具有相同的名稱(chēng)。它沒(méi)有返回值。public。教師活動(dòng):PPT 講解、提問(wèn)、演示;學(xué)生活動(dòng):回答討論;時(shí)間分配:40 分鐘。任務(wù)實(shí)施講解分析 Employee.java:EmployeemainEmployeepublic class Employee private String private String id; private int salary;public Employee() = ;this.id= ; this.sala

25、ry = public Employee(String name, String id, int salary) = name;this.id= id; this.salary = public void setName(String name) = name;public void setId(String id) this.id = id;public void setSalary(int salary) this.salary = salary;public void print() System.out.println(姓名:t + System.out.println(id:t +

26、id);System.out.println(salary:t + salary);public static void main (String args) Employee employee1 = newEmployee(Tom, 90234, Employee employee2 = new Employee(); employee2.setName(Billy);employee2.setId(82356); employee2.setSalary(8000); System.out.println(employee1.print(); System.out.println(emplo

27、yee2.print();三.總結(jié)(5 分鐘)學(xué)生演示、互評(píng):按照任務(wù)要求進(jìn)行演示并互評(píng)。教師點(diǎn)評(píng):根據(jù)作業(yè)布置1、定義子類(lèi),實(shí)現(xiàn)臨時(shí)的職工和合同制的職工薪酬計(jì)算。教學(xué)反思教學(xué)單元教案主題課時(shí)2任務(wù)4面向?qū)ο蟮膯T工薪酬統(tǒng)計(jì)序號(hào)4-2教學(xué)手段多媒體、板書(shū)、實(shí)訓(xùn)室講授法、演示法、案例法理論實(shí)訓(xùn)一體化(其它)能根據(jù)實(shí)際應(yīng)用環(huán)境定義類(lèi)和對(duì)象教學(xué)目標(biāo)知識(shí)目標(biāo)類(lèi)和對(duì)象的概念及其關(guān)系;類(lèi)的定義格式、類(lèi)的域、構(gòu)造方法、一法;方法重載和覆蓋;抽象類(lèi)和接口的使用。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊(duì)合作的能力;接受新知識(shí)、自主學(xué)習(xí)的能力。類(lèi)的定義和使用;方法的定義和使用;構(gòu)造方法;方法的覆蓋和重載;關(guān)鍵字this 的用法;繼

28、承的概念和應(yīng)用;抽象方法和抽象類(lèi)。構(gòu)造方法;方法的覆蓋和重載;繼承的概念和應(yīng)用;組合與繼承;抽象方法和抽象類(lèi)。教學(xué)過(guò)程設(shè)計(jì)備注一.教學(xué)內(nèi)容1、子任務(wù) 2實(shí)現(xiàn)子類(lèi)任務(wù)預(yù)覽:我們實(shí)現(xiàn)了Emplyee分為臨時(shí)的職工和合同制的職工。臨時(shí)的職工的薪水按天數(shù)計(jì)算,合同制的員工工資按月數(shù)計(jì)算。合同制的員工會(huì)有一定的獎(jiǎng)金,而臨時(shí)的職工沒(méi)有。 但是臨時(shí)職工和合同制職工還有很多相同的屬性(姓名、ID 等)。教師活動(dòng):PPT 講解;學(xué)生活動(dòng):聽(tīng)講記錄;時(shí)間分配:5 分鐘。任務(wù)部署:類(lèi)的層次結(jié)構(gòu)Javaclass 父類(lèi) / 定義父類(lèi)class 子類(lèi) extends 父類(lèi) / 用 extends 關(guān)鍵字實(shí)現(xiàn)類(lèi)的繼承構(gòu)造

29、方法的繼承子類(lèi)構(gòu)造函數(shù)的第一行默認(rèn)隱含了一個(gè)“super()”語(yǔ)句。super 關(guān)鍵字調(diào)用和訪問(wèn)父類(lèi)的其它方法和屬性。super.父類(lèi)中的屬性; super.父類(lèi)中的方法();super構(gòu)造方法的首行。阻止類(lèi)的繼承finalfinal如下:final class Student.類(lèi)中的方法也可以申明為 final。這樣的話,子類(lèi)就不能覆蓋這個(gè)方法。(final 類(lèi)中的所有方法自動(dòng)生成為 final 方法)。final class Student.public final String getName() return name;.教師活動(dòng):PPT配:45任務(wù)實(shí)施講解分析 Person.java

30、: public class Person String name;int age;int age;public Person()System.out.println(父類(lèi)構(gòu)造函數(shù));講解分析 Student.java:public class Student extends Personint stuId;public Student()System.out.println(子類(lèi)構(gòu)造函數(shù));public static void main (String args)Student stu = new Student();二.總結(jié)(5學(xué)生演示、互評(píng):按照任務(wù)要求進(jìn)行演示并互評(píng)。教師點(diǎn)評(píng):根據(jù)作業(yè)

31、布置1、定義子類(lèi),實(shí)現(xiàn)臨時(shí)的職工和合同制的職工薪酬計(jì)算。教學(xué)反思教學(xué)單元教案主題課時(shí)2任務(wù)4面向?qū)ο蟮膯T工薪酬統(tǒng)計(jì)序號(hào)4-3教學(xué)手段多媒體、板書(shū)、實(shí)訓(xùn)室講授法、演示法、案例法理論實(shí)訓(xùn)一體化(其它)能根據(jù)實(shí)際應(yīng)用環(huán)境定義類(lèi)和對(duì)象教學(xué)目標(biāo)知識(shí)目標(biāo)類(lèi)和對(duì)象的概念及其關(guān)系;類(lèi)的定義格式、類(lèi)的域、構(gòu)造方法、一法;方法重載和覆蓋;抽象類(lèi)和接口的使用。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊(duì)合作的能力;接受新知識(shí)、自主學(xué)習(xí)的能力。類(lèi)的定義和使用;方法的定義和使用;構(gòu)造方法;方法的覆蓋和重載;關(guān)鍵字this 的用法;繼承的概念和應(yīng)用;抽象方法和抽象類(lèi)。構(gòu)造方法;方法的覆蓋和重載;繼承的概念和應(yīng)用;組合與繼承;抽象方法和抽象類(lèi)

32、。教學(xué)過(guò)程設(shè)計(jì)備注一教學(xué)內(nèi)容1、子任務(wù) 3多態(tài)2PPT 講解;學(xué)生活動(dòng):聽(tīng)講記錄;時(shí)間分配:5任務(wù)部署:方法的重構(gòu)與重載如果子類(lèi)中的某個(gè)方法與其父類(lèi)具有相同的名稱(chēng)和參數(shù)(個(gè)數(shù)和類(lèi)型都相同),則稱(chēng)該子類(lèi)重構(gòu)了該方法(overriding),重構(gòu)也稱(chēng)為覆蓋。這樣父類(lèi)定義的方法在子類(lèi)就“看不見(jiàn)”了,當(dāng)子類(lèi)的這一方法被調(diào)用的時(shí)候,將直接使用子類(lèi)定的方法。如果在同一個(gè)類(lèi)中定義了多個(gè)同名的方法,它們或有不同的形參個(gè)數(shù)或有不同的形參類(lèi)型,則稱(chēng)該方法為被重載(Overloading)。在調(diào)用時(shí),Java 將根據(jù)實(shí)參個(gè)數(shù)或?qū)崊㈩?lèi)型選擇匹配的方法。有關(guān)方法重構(gòu)的規(guī)定的類(lèi)型相同;子類(lèi)不能重構(gòu)父類(lèi)的 final 和

33、private 方法;staticstaticstatic子類(lèi)方法重構(gòu)父類(lèi)方法時(shí),子類(lèi)方法的訪問(wèn)權(quán)限修飾符不能?chē)?yán)于父類(lèi)方法的訪問(wèn)修飾符;子類(lèi)若要引用父類(lèi)中被重構(gòu)的方法,應(yīng)使用“super.方法名”的方式;教師活動(dòng):PPT 講解、提問(wèn)、演示;學(xué)生活動(dòng):回答討論;時(shí)間分配:30 分鐘。任務(wù)實(shí)施講解分析 Animal.java:public abstract class Animal public abstract void bark();講解分析 Cat.java:public class Cat extends Animal public void bark() System.out.print

34、ln(喵喵);講解分析 Dog.java:public class Dog extends Animal public void bark() System.out.println(汪汪);講解分析 TestAnimal.java:public class TestAnimal public static void main (String args)Animal animal = new animal.bark();animal = new animal.bark();教師活動(dòng):講解、演示;學(xué)生活動(dòng):模仿操作;時(shí)間分配:30 分鐘抽象類(lèi)和抽象方法總結(jié)歸納 Animal 類(lèi)的特點(diǎn),從而引申出抽

35、象類(lèi)和抽象方法。抽象類(lèi)和抽象方法Java有通用性和更加的抽象,有時(shí)由于對(duì)象高級(jí)抽象的需要,我們需要類(lèi)只是申明方法的首部,而不需要說(shuō)明其方法的主體,其主體部分由子類(lèi)來(lái)完成。Javaabstract是,由于抽象類(lèi)的抽象性,因此其不能創(chuàng)建任何的對(duì)象,抽象類(lèi)只是用來(lái)被其子類(lèi)繼承。抽象類(lèi)的定義規(guī)則抽象類(lèi)和抽象方法必須由 abstract 關(guān)鍵字來(lái)修飾。new抽象的方法主需要申明,不需要具體的實(shí)現(xiàn)。類(lèi)的所有抽象方法后才能被實(shí)例化,否則這個(gè)子類(lèi)還是抽象類(lèi)。抽象類(lèi)中除了抽象方法外,也可包含具體的數(shù)據(jù)和具體的方法。抽象類(lèi)的定義格式abstract class 類(lèi)名稱(chēng)/定義抽象類(lèi)申明數(shù)據(jù)成員;訪問(wèn)權(quán)限 返回值數(shù)據(jù)

36、類(lèi)型 方法名稱(chēng) (參數(shù).) /普通的方法.訪問(wèn)權(quán)限 abstract/方法AnimalAnimalabstract,barkpublic abstract class Animal public abstract void bark();二.總結(jié)(5學(xué)生演示、互評(píng):按照任務(wù)要求進(jìn)行演示并互評(píng)。教師點(diǎn)評(píng):根據(jù)作業(yè)布置1、定義子類(lèi),實(shí)現(xiàn)臨時(shí)的職工和合同制的職工薪酬計(jì)算。教學(xué)反思教學(xué)單元教案主題課時(shí)2任務(wù)4面向?qū)ο蟮膯T工薪酬統(tǒng)計(jì)序號(hào)4-4教學(xué)手段多媒體、板書(shū)、實(shí)訓(xùn)室講授法、演示法、案例法理論實(shí)訓(xùn)一體化(其它)能根據(jù)實(shí)際應(yīng)用環(huán)境定義類(lèi)和對(duì)象教學(xué)目標(biāo)知識(shí)目標(biāo)類(lèi)和對(duì)象的概念及其關(guān)系;類(lèi)的定義格式、類(lèi)的域、

37、構(gòu)造方法、一法;方法重載和覆蓋;抽象類(lèi)和接口的使用。素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊(duì)合作的能力;接受新知識(shí)、自主學(xué)習(xí)的能力。類(lèi)的定義和使用;方法的定義和使用;構(gòu)造方法;方法的覆蓋和重載;關(guān)鍵字this 的用法;繼承的概念和應(yīng)用;抽象方法和抽象類(lèi)。構(gòu)造方法;方法的覆蓋和重載;繼承的概念和應(yīng)用;組合與繼承;抽象方法和抽象類(lèi)。一教學(xué)內(nèi)容14接口教學(xué)過(guò)程設(shè)計(jì)備注Java錄;時(shí)間分配:5任務(wù)部署:接口的定義格式interface 接口名稱(chēng) /定義接口final 數(shù)據(jù)類(lèi)型 成員名稱(chēng) = 常量;/數(shù)據(jù)成員必須賦初值abstract 返回值數(shù)據(jù)類(lèi)型 方法名稱(chēng) (參數(shù).);接口的使用規(guī)則接口里的數(shù)據(jù)成員必須初始化,且數(shù)

38、據(jù)成員均為常量。接口里的方法必須全部聲明為 abstract,也就是說(shuō),接口不能像抽象類(lèi)一樣保有一般的方法,而必須全部是“抽象方法”。與類(lèi)不同,接口中的所有方法自動(dòng)屬于 public,因此在接口中申明方法的時(shí)候,不必提供關(guān)鍵字 public。接口的實(shí)現(xiàn)接口的聲明僅僅給出了抽象方法,而具體地實(shí)現(xiàn)接口所定義的方法需要某個(gè)類(lèi)為接口中的每個(gè)抽象方法定義具體的操作。在類(lèi)的聲明部分,用implements 關(guān)鍵字來(lái)聲明這個(gè)類(lèi)實(shí)現(xiàn)某個(gè)接口,一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口,在 implements 子句中用逗號(hào)隔開(kāi)。實(shí)現(xiàn)接口的語(yǔ)法格式如下class 類(lèi)名稱(chēng) implements 接口A, 接口B/接口的實(shí)現(xiàn).接口的繼

39、承interface 子接口名稱(chēng) extends 父接口 1, 父接口 2, .教師活動(dòng):PPT配:45任務(wù)實(shí)施講解分析 Person.java: interface CalcAreafinal double PI = 3.1415926; double calcArea(double r);class Circle implements CalcAreapublic double calcArea(double r)return PI * r * r;public class TestInterface public static void main (String args)Circle

40、cir = new Circle(); System.out.println(Area: + cir.calcArea(3);教師活動(dòng):講解、演示;學(xué)生活動(dòng):模仿操作;時(shí)間分配:25三.總結(jié)(5學(xué)生演示、互評(píng):按照任務(wù)要求進(jìn)行演示并互評(píng)。教師點(diǎn)評(píng):根據(jù)作業(yè)布置1、定義子類(lèi),實(shí)現(xiàn)臨時(shí)的職工和合同制的職工薪酬計(jì)算。教學(xué)反思教學(xué)單元教案主題課時(shí)2任務(wù)5異常的處理序號(hào)5教學(xué)手段多媒體、板書(shū)、實(shí)訓(xùn)室講授法、演示法、案例法理論實(shí)訓(xùn)一體化(其它)能力目標(biāo):能夠利用Java 異常處理機(jī)制處理程序中的異常。知識(shí)目標(biāo):熟悉異常類(lèi)的層次結(jié)構(gòu),能夠區(qū)別 Error 類(lèi)和異常Exception 及其教學(xué)目標(biāo)處理;了解J

41、ava的異常處理機(jī)制;掌握在程序中使用try-catch-finally句結(jié)構(gòu)處理異常的方法;掌握異常的聲明和拋出;掌握自定義異常的方法。 素質(zhì)目標(biāo):協(xié)調(diào)能力、團(tuán)隊(duì)合作的能力;接受新知識(shí)、自主學(xué)習(xí)的能力。異常處理語(yǔ)句Java 的異常處理機(jī)制、異常的聲明和拋出及自定義異常的方法教學(xué)過(guò)程設(shè)計(jì)備注一.導(dǎo)入理。 教師活動(dòng):PPT2二.教學(xué)內(nèi)容1、子任務(wù) 1員工編號(hào)異常處理任務(wù)預(yù)覽:設(shè)定員工的ID5PPT動(dòng):聽(tīng)講記錄;時(shí)間分配:3任務(wù)部署:異常的基本概念異常Java 程序可以用代碼來(lái)處理異常并繼續(xù)執(zhí)行程序,而不是讓程序中斷。Javatry / try 語(yǔ)句塊要檢查的程序語(yǔ)句;.catch (異常類(lèi) 對(duì)象

42、名稱(chēng)) / catch 語(yǔ)句塊異常發(fā)生的處理語(yǔ)句;finally/finally一定會(huì)運(yùn)行到的代碼;try 語(yǔ)句塊中若是有異常發(fā)生,則程序運(yùn)行中斷,并拋出異常類(lèi)產(chǎn)生的對(duì)象。catch()catchcatchfinally 語(yǔ)句塊一般是用來(lái)處理一些資源釋放之類(lèi)的事情,無(wú)論是finallyfinally異常類(lèi)的層次Throwablejava.1angExceptionErrorErrorException異常的拋出在程序中拋出異常: throw 異常類(lèi)實(shí)例對(duì)象;throw指定方法拋出異常:方法名稱(chēng) (參數(shù).) throws 異常類(lèi) 1, 異常類(lèi) 2, .如果方法內(nèi)的程序代碼可能會(huì)發(fā)生異常,且方法內(nèi)

43、又沒(méi)有使用任何的代碼塊來(lái)捕捉這些異常時(shí),則必須在聲明方法時(shí)一并指明所有可能發(fā)生的異常,以便讓調(diào)用此方法的程序得以做好準(zhǔn)備來(lái)捕捉異常。自定義異常Java行錯(cuò)誤。如果某個(gè)應(yīng)用程序有特殊的要求,則可能出現(xiàn)系統(tǒng)不能識(shí)別的運(yùn)行錯(cuò)誤,這時(shí),用戶就需要自己創(chuàng)建異常和異常類(lèi),使系統(tǒng)能夠識(shí)別這種錯(cuò)誤并進(jìn)行處理,以增強(qiáng)用戶程序的健壯性和容錯(cuò)性,從而使系統(tǒng)更加穩(wěn)定。Throwable定義自己的異常類(lèi)的格式語(yǔ)法如下class 異常名稱(chēng) extends Exception.教師活動(dòng):PPT 講解、提問(wèn)、演示;學(xué)生活動(dòng):回答討論;時(shí)間分配:45 分鐘。任務(wù)實(shí)施講解分析 Employee.java: package Tes

44、tEmployee;public class Employee String id;String name;public Employee(String id, String name) if (id.length() != 5)throw new IllegalArgumentException(ID 的長(zhǎng)度應(yīng)this.id = id; = name;public String getId() return id;public String getName() return name;public void print() System.out.println(ID: + id + n 姓名

45、: + name);TestEmployee.java package TestEmployee;public class TestEmployee public static void main (String args)Employee employee = new Employee(1002, 張三); employee.print();System.out.println(employee instanceof Employee);25三.總結(jié)(5 分鐘)學(xué)生演示、互評(píng):按照任務(wù)要求進(jìn)行演示并互評(píng)。 教師點(diǎn)評(píng):根據(jù)從鍵盤(pán)接收輸入的 5 個(gè)學(xué)生的成績(jī),計(jì)算平均分。自定義兩個(gè)異常類(lèi)分別處理

46、作業(yè)布置入成績(jī)時(shí)可能出現(xiàn)的情況一個(gè)是 NumException 類(lèi)用來(lái)處理當(dāng)成績(jī)?yōu)樨?fù)數(shù)時(shí)所引發(fā)的異常,其中MaxException 類(lèi)用來(lái)處理當(dāng)成績(jī)超過(guò) 100 分時(shí)所引發(fā)的異常。教學(xué)反思教學(xué)單元教案主題課時(shí)2任務(wù)6圖形化員工信息管理系統(tǒng)序號(hào)6-1教學(xué)手段多媒體、板書(shū)、實(shí)訓(xùn)室講授法、演示法、案例法理論實(shí)訓(xùn)一體化(其它能力目標(biāo):圖形界面設(shè)計(jì);圖形界面編程技巧。知識(shí)目標(biāo):了解 AWT 和 Swing 的區(qū)別和聯(lián)系;掌握容器的概念及其分類(lèi); 掌握容器 JFame、JPanel、JDialog 的使用;掌握組件 JButton、JLabel、JTextFiled、JTextArea 和 JPasswo

47、rdField 的使用;掌握將組件添加到容器中方法。素質(zhì)目標(biāo):頂層容器和中間容器,組件的屬性和常用方法。區(qū)分中間容器與頂層容器,利用容器布局組件。教學(xué)過(guò)程設(shè)計(jì)備注一.導(dǎo)入Java(字符方式而應(yīng)用最為廣泛的還是圖形用戶界面的設(shè)計(jì)(圖形方式)。 討論過(guò)去使Java3二.教學(xué)內(nèi)容1、子任務(wù) 1簡(jiǎn)單的圖形化界面PPT2任務(wù)部署:AWTSwingAWT(AbstractWindowToolkit) 提供了基本AWT(依賴(lài)本地平臺(tái)AWTjava.awtSwingGUIJava何與平臺(tái)有關(guān)的本地代碼。SwingSwing 組SwingAWT 組件更強(qiáng)的功能。常用的 Swing 容器類(lèi)和 Swing 的常用組

48、件詳細(xì)介紹容器類(lèi)組件是用來(lái)包含其他組件的。JComponentSwing的超類(lèi)。SwingAWTWindow。SwingJFrame、JPanel、JAplpletSwingJButton、JTextField、JTextArea、JLabel教師活動(dòng):PPT 講解、提問(wèn)、演示;學(xué)生活動(dòng):回答討論;時(shí)間分配:45 分鐘。任務(wù)實(shí)施講解分析 TestTableModel.java: package TestJTable;import java.awt.*; importjava.awt.event.*; importjava.util.Vector; import javax.swing.*;im

49、port javax.swing.table.*;public class TestTableModel extends JFrame JButton addBtn = new JButton(添加);finalSalaryTableModeltableData=SalaryTableModel();JTable table = new JTable(tableData);public TestTableModel() super(TestTableModel);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setBound

50、s(100, 100, 300, 300); this.setVisible(true);this.add(new BorderLayout.CENTER);JScrollPane(table),addBtn.addActionListener(new ActionListener() publicvoidactionPerformed(ActionEventevent)tableData.addData(10001, 張三, 3000););this.add(addBtn, BorderLayout.SOUTH);public static void main (String args) n

51、ew TestTableModel();class SalaryTableModel extends AbstractTableModelprivateVectoridData=Vector();private Vector();VectornameData=newprivateVectorsalaryData=newVector(); private String columnName = ID, Name, Salary; public int getRowCount() return idData.size();public int getColumnCount() return 3;p

52、ublic Object getValueAt(int row, int col) if (col = 0) return idData.elementAt(row);else if (col = 1) return nameData.elementAt(row); else return salaryData.elementAt(row);public String getColumnName(int col) return columnNamecol;public void addData(String id, String name, int salary)idData.addEleme

53、nt(id); nameData.addElement(name); salaryData.addElement(Integer.toString(salary); fireTableDataChanged();講解分析 SimpleTable.java package TestJTable;import java.awt.BorderLayout; import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import javax.swing.*;public class SimpleTable exten

54、ds JFrame private Object data =10001,張三,3000,10002,李四,4000,10003,王五,5000,10004,小明,5000,10005,小張,5000,;private String columnNamesID, Name,Salary; JButton printButton = new JButton(打印);JPanel btnPanel = new JPanel(); public SimpleTable() super(SimpleTable); this.setBounds(100, 100, 300, 300);final JTa

55、ble table = new JTable(data, columnNames);this.add(new BorderLayout.CENTER);JScrollPane(table),printButton.addActionListener(new ActionListener()public void actionPerformed(ActionEvent event)try table.print();catch (java.awt.print.PrinterException e) System.out.println(e.getMessage(););btnPanel.add(

56、printButton); this.add(btnPanel, BorderLayout.SOUTH); this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);public static void main (String args) new SimpleTable();25三.總結(jié)(5學(xué)生演示、互評(píng):按照任務(wù)要求進(jìn)行演示并互評(píng)。 教師點(diǎn)評(píng):根據(jù)作業(yè)布置1、設(shè)計(jì)用戶登錄界面并加入圖片進(jìn)行適當(dāng)?shù)男揎棧O(shè)置相關(guān)內(nèi)容的字體、顏色,使得界面顯示美觀大方。教學(xué)反思教學(xué)單元教案主題課時(shí)2任務(wù)6圖形化員工信息管理

57、系統(tǒng)序號(hào)6-2教學(xué)手段多媒體、板書(shū)、實(shí)訓(xùn)室教學(xué)目標(biāo)一.教學(xué)內(nèi)容講授法、演示法、案例法理論實(shí)訓(xùn)一體化(其它能力目標(biāo):圖形界面設(shè)計(jì);圖形界面編程技巧。知識(shí)目標(biāo):了解 AWT 和 Swing 的區(qū)別和聯(lián)系;掌握容器的概念及其分類(lèi); 掌握容器 JFame、JPanel、JDialog 的使用;掌握組件 JButton、JLabel、JTextFiled、JTextArea 和 JPasswordField 的使用;掌握將組件添加到容器中方法。素質(zhì)目標(biāo):頂層容器和中間容器,組件的屬性和常用方法。區(qū)分中間容器與頂層容器,利用容器布局組件。教學(xué)過(guò)程設(shè)計(jì)備注1、子任務(wù) 1簡(jiǎn)單的圖形化界面SwingSwingP

58、PT 講解;學(xué)生活動(dòng):聽(tīng)講記錄;時(shí)間分配: 分鐘。任務(wù)部署實(shí)現(xiàn)簡(jiǎn)單的圖形化界面:講解分析 TestTableModel.java: package TestJTable;import java.awt.*; importjava.awt.event.*; importjava.util.Vector; import javax.swing.*;import javax.swing.table.*;public class TestTableModel extends JFrame JButton addBtn = new JButton(添加);finalSalaryTableModeltab

59、leData=SalaryTableModel();JTable table = new JTable(tableData);public TestTableModel() super(TestTableModel);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setBounds(100, 100, 300, 300); this.setVisible(true);this.add(new BorderLayout.CENTER);JScrollPane(table),addBtn.addActionListener(ne

60、w ActionListener() publicvoidactionPerformed(ActionEventevent)tableData.addData(10001, 張三, 3000););this.add(addBtn, BorderLayout.SOUTH);public static void main (String args) new TestTableModel();class SalaryTableModel extends AbstractTableModelprivateVectoridData=Vector();private Vector();Vectorname

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論