




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGE1PAGE第1單元Java基礎(chǔ)知識課程名稱Java程序設(shè)計基礎(chǔ)教程(慕課版)項目名稱Java基礎(chǔ)知識任務(wù)名稱Java基礎(chǔ)知識課時4項目性質(zhì)□演示性□驗證性□設(shè)計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用Eclipse編寫Java程序的能力2.具備創(chuàng)建一個Java項目的能力知識目標:1.了解Java的誕生、發(fā)展、特點2.掌握Java開發(fā)環(huán)境搭建的方法3.掌握Java開發(fā)工具的使用素質(zhì)目標:1.培養(yǎng)學生信息搜集能力2.培養(yǎng)學生團結(jié)合作、互幫互助的能力;教學內(nèi)容1.任務(wù)描述2.任務(wù)展示與實現(xiàn)(1)利用Eclipse編寫Java代碼并驗證其效果(2)創(chuàng)建一個Java項目(3)學生動手操作3.教師講解本任務(wù)涉及的知識點4.任務(wù)小結(jié)教學重點1.Java的語言特點2.Java開發(fā)工具的使用教學難點Java開發(fā)工具的使用教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設(shè)計基礎(chǔ)教程(慕課版)》董勇傅雷揚人民郵電出版社作業(yè)設(shè)計使用Eclipse編寫HelloWorld程序。2.創(chuàng)建一個Java項目教學過程教學內(nèi)容與過程(教學內(nèi)容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】分別從Java的誕生、Java的發(fā)展、Java開發(fā)工具包、Java運行環(huán)境、Java虛擬機、Java開發(fā)工具等知識點進行初步的了解?!灸康摹渴箤W生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。一、什么是Java?從Java的誕生、Java的發(fā)展歷史等方面展開,介紹Java的特點,了解Java的發(fā)展概況及其特點。掌握Java是基于對象和事件驅(qū)動的客戶端腳本語言這一核心概念。二、Java開發(fā)環(huán)境如何搭建?Java的開發(fā)基于JDK,這是整個Java的核心,包括了JRE、Java工具和Java基礎(chǔ)類庫。JRE是運行Java程序所必需的環(huán)境的集合,包含JVM標準實現(xiàn)及Java核心類庫。JVM是整個Java實現(xiàn)跨平臺核心的部分,能夠運行以Java語言寫作的軟件程序。Java開發(fā)環(huán)境的搭建就是JDK的安裝過程。三、如何使用Java開發(fā)工具?Java的開發(fā)工具有很多,常用的有Eclipse、NetBeans、IntelliJIDEA和MyEclipse。其中Eclipse和NetBeans是免費的,IntelliJIDEA和MyEclipse是收費的。案例:1.Eclipse的安裝及使用2.創(chuàng)建一個項目,在項目中創(chuàng)建一個Java類“HelloWorld.java”,在類中編寫代碼,使得程序在運行時在控制臺打印輸出內(nèi)容:“HelloWorld,thisismyfirstprogram!”。packagecom.lw;publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println("HelloWorld,thisismyfirstprogram!"); }}1.使用Eclipse創(chuàng)建Java項目和編寫Java類,實現(xiàn)一個Java程序。2.創(chuàng)建一個簡單的Java項目,能夠自主創(chuàng)建一個獨立的項目。通過學習,學生能夠掌握Java的發(fā)展歷程和語言特點,Java開發(fā)環(huán)境的搭建以及使用編輯器創(chuàng)建Java項目的方法。本節(jié)課主要運用案例教學法,通過對Java概念的深入理解,掌握Java的基本特點,深入探討Java編程的方法,通過實例的方法加強對JDK、JRE和JVM的關(guān)系的理解和JDK的安裝及Java開發(fā)環(huán)境的環(huán)境變量的配置的學習,達到能夠獨立熟練運用Java來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質(zhì)量為評價標準,形成任務(wù)驅(qū)動,小組協(xié)作,質(zhì)量與速度并存的課堂評價方式,促進學生的自主、創(chuàng)新學習的方式。第2單元基本數(shù)據(jù)類型及運算符課程名稱Java程序設(shè)計基礎(chǔ)教程(慕課版)項目名稱基本數(shù)據(jù)類型及運算符任務(wù)名稱基本數(shù)據(jù)類型及運算符課時6項目性質(zhì)□演示性□驗證性□設(shè)計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備進行數(shù)據(jù)類型轉(zhuǎn)換的能力2.具備運用運算符計算的能力知識目標:1.掌握8種基本數(shù)據(jù)類型及其拆裝箱2.掌握Java中的常用操作符3.掌握Java中表達式的各種運算符的執(zhí)行順序和結(jié)合性素質(zhì)目標:1.培養(yǎng)學生信息搜集能力2.培養(yǎng)學生團結(jié)合作、互幫互助的能力;教學內(nèi)容1.任務(wù)描述2.任務(wù)展示與實現(xiàn)(1)將十進制的整型IP地址轉(zhuǎn)換成long類型值(2)將long類型轉(zhuǎn)換成IP(3)學生動手操作3.教師講解本任務(wù)涉及的知識點4.任務(wù)小結(jié)教學重點1.Java的基本數(shù)據(jù)類型2.Java的運算符教學難點運算符的優(yōu)先級問題教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設(shè)計基礎(chǔ)教程(慕課版)》董勇傅雷揚人民郵電出版社作業(yè)設(shè)計將long類型的整數(shù)轉(zhuǎn)換成一個十進制形式的IP地址教學過程教學內(nèi)容與過程(教學內(nèi)容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】對整型、浮點型、布爾型和字符型等基本數(shù)據(jù)類型,數(shù)據(jù)類型、類和接口等復合數(shù)據(jù)類型,算術(shù)運算符、關(guān)系運算符、邏輯運算符、條件運算符、位運算符和賦值運算符六種運算類型及其優(yōu)先級等知識點進行初步的了解。【目的】使學生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。一、Java的基本數(shù)據(jù)類型因數(shù)據(jù)的類型不同,其表示的數(shù)據(jù)范圍、精度和所占的存儲空間都不相同。在Java最初設(shè)計的時候就明確了它要支持的兩種數(shù)據(jù)類型:基本數(shù)據(jù)類型和對象?;緮?shù)據(jù)類型:整型、浮點型、布爾型和字符型。復合數(shù)據(jù)類型:數(shù)據(jù)類型、類和接口?;緮?shù)據(jù)類型有8種:boolean、byte、char、short、int、long、float和double,其中以boolean、int、char和double最為常用。二、Java的運算符Java中的運算符共36種,依照運算類型可以分為6大類,包含算術(shù)運算符、關(guān)系運算符、邏輯運算符、條件運算符、位運算符和賦值運算符。Java語言的運算符不僅具有不同的優(yōu)先級,還要受運算符結(jié)合性的制約。Java中的運算符的結(jié)合性分為兩種,即左結(jié)合性(自左向右)和右結(jié)合性(自右向左)。三、如何使用Java計算?案例:常量和變量的具體應用publicclassConstantAndVariablesDemo{ publicstaticvoidmain(String[]args){
finalintMALE=1;//定義常量MALE表示男性,常量需要在聲明時賦值
intage;//聲明age,類型是int類型的
intheight=180;//聲明height,類型是int類型的,并賦值為180
//age未定義,所以此處會拋出錯誤//
System.out.println("MALE="+MALE+";age="+age+";height="+height);
age=20;//給age賦值
//打印輸出
System.out.println("MALE="+MALE+";age="+age+";height="+height);
height=177;//變量的重新賦值
System.out.println("MALE="+MALE+";age="+age+";height="+height);//
MALE=0;//常量無法重新賦值 }}2.自增自減運算的具體應用publicclassAutoIncrAndDecrDemo{ publicstaticvoidmain(String[]args){
inta=1;
intb=1;
intc=++a;//前自增
intd=--b;//前自減
System.out.println("a="+a+",b="+b+",c="+c+",d="+d);
c=a++;//后自增
d=b--;//后自減
System.out.println("a="+a+",b="+b+",c="+c+",d="+d); }}1.在程序開發(fā)中可能會碰到將IP地址轉(zhuǎn)換成long類型的整數(shù),或者將十進制整數(shù)轉(zhuǎn)換成IP地址的情況,此時,需要將一個地址轉(zhuǎn)換成一個long類型整數(shù),或者將long類型的整數(shù)轉(zhuǎn)換成一個十進制形式的IP地址。通過學習,學生能夠掌握Java的數(shù)據(jù)類型和運算符基本概念,運算符的優(yōu)先級以及運算規(guī)則。本節(jié)課主要運用案例教學法,通過對Java的數(shù)據(jù)類型和運算符的深入理解,掌握Java的運算符的優(yōu)先級,通過實例的方法加強對Java數(shù)據(jù)類型和運算符的理解,達到能夠獨立熟練運用Java的數(shù)據(jù)類型和運算符來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質(zhì)量為評價標準,形成任務(wù)驅(qū)動,小組協(xié)作,質(zhì)量與速度并存的課堂評價方式,促進學生的自主、創(chuàng)新學習的方式。第3單元控制執(zhí)行流程課程名稱Java程序設(shè)計基礎(chǔ)教程(慕課版)項目名稱控制執(zhí)行流程任務(wù)名稱控制執(zhí)行流程課時4項目性質(zhì)□演示性□驗證性□設(shè)計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用if條件分支語句解決問題的能力2.具備使用for循環(huán)語句解決問題的能力3.具備使用while循環(huán)語句解決問題的能力知識目標:1.了解什么是流程控制語句2.掌握分支結(jié)構(gòu)的語法結(jié)構(gòu)和用法3.掌握循環(huán)語句的用法4.掌握break語句與continue語句的用法素質(zhì)目標:1.培養(yǎng)學生知識掌握和技能運用能力2.培養(yǎng)學生團結(jié)合作、互幫互助的能力;教學內(nèi)容1.任務(wù)描述2.任務(wù)展示與實現(xiàn)(1)分別是利用for語句、while語句實現(xiàn)循環(huán)(2)利用if嵌套語句和switch多層分支語句實現(xiàn)復雜分支(3)利用循環(huán)語句中break和continue語句實現(xiàn)求3的倍數(shù)(4)學生動手操作3.教師講解本任務(wù)涉及的知識點4.任務(wù)小結(jié)教學重點1.if…else條件分支語句2.dowhile循環(huán)語句與while循環(huán)語句在使用上的不同教學難點1.嵌套語句2.循環(huán)語句中的Continue和break語句的使用教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設(shè)計基礎(chǔ)教程(慕課版)》董勇傅雷揚人民郵電出版社作業(yè)設(shè)計編寫一個排序的程序,可以讓一個混亂的數(shù)組變成一個有序的數(shù)組。教學過程教學內(nèi)容與過程(教學內(nèi)容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力?!菊n前說明】分別介紹Java流程控制語句的選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),分支結(jié)構(gòu)也叫選擇結(jié)構(gòu),語句包括if-else語句和switch語句,都是根據(jù)一定的條件去執(zhí)行一條語句或語句組;循環(huán)語句指在循環(huán)語句中指定語句重復執(zhí)行的次數(shù),也可以指定重復執(zhí)行的條件?!灸康摹渴箤W生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。一、講解什么是控制執(zhí)行結(jié)構(gòu)二、選擇結(jié)構(gòu)語句的語法結(jié)構(gòu)if選擇語句:if(boolean-expression){ statement;//執(zhí)行語句內(nèi)容}else{ statement;//執(zhí)行語句內(nèi)容}switch選擇語句:switch(selector){ caseselector:statement;break; caseselector:statement;break; caseselector:statement;break; caseselector:statement;break; ... default:statement;}三、循環(huán)結(jié)構(gòu)語句的語法結(jié)構(gòu)for循環(huán)語句:for(init;boolean-expression;step){ statement;}do-while循環(huán)語句:do{ statement;}while(boolean-expression);while循環(huán)語句:while(boolean-expression){ statement;//循環(huán)體}四、break語句和continue語句在循環(huán)語句中的用法。案例:常量和變量的具體應用publicclassConstantAndVariablesDemo{ publicstaticvoidmain(String[]args){
finalintMALE=1;//定義常量MALE表示男性,常量需要在聲明時賦值
intage;//聲明age,類型是int類型的
intheight=180;//聲明height,類型是int類型的,并賦值為180
//age未定義,所以此處會拋出錯誤//
System.out.println("MALE="+MALE+";age="+age+";height="+height);
age=20;//給age賦值
//打印輸出
System.out.println("MALE="+MALE+";age="+age+";height="+height);
height=177;//變量的重新賦值
System.out.println("MALE="+MALE+";age="+age+";height="+height);//
MALE=0;//常量無法重新賦值 }}2.break和continuepublicclassContinueBreakDemo{ publicstaticvoidmain(String[]args){
for(inti=0;i<10;i++){
if(2==i){
System.out.println("程序運行跳出標志!跳出循環(huán)!");
break;
}
System.out.println("第"+i+"次循環(huán)。");
}
intcount=0;
while(5>count){//在5以內(nèi)循環(huán)
count++;//自增1
if(count%3==0){//如果count是3的倍數(shù),進行下一次循環(huán)
continue;
}
System.out.println("第"+count+"次循環(huán)!");
} }}冒泡排序冒泡的原則是,每一次循環(huán)結(jié)束之后都能將亂序中的最大數(shù)放到亂序數(shù)列的最右邊。(1)用for循環(huán)對數(shù)組進行循環(huán)。(2)從左往右依次比較相鄰的兩個數(shù),將較大者放到較小者的右邊,保證最右邊的數(shù)字大于左邊的所有數(shù)字。(3)繼續(xù)執(zhí)行,依次將之后的較大數(shù)字放到較小數(shù)字的右邊,直到所有的數(shù)字都比自己左邊的數(shù)字大、比右邊的數(shù)字小。通過學習,學生能夠掌握Java流程控制語句中的選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)語句在程序編寫中的具體用法。本節(jié)課主要運用案例教學法,通過對Java流程語句的深入理解,掌握Java選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的基本特點,深入探討Java的選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的使用方法,通過實例的方法加強對Java的選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的理解,達到能夠獨立熟練運用Java的選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)流程語句來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質(zhì)量為評價標準,形成任務(wù)驅(qū)動,小組協(xié)作,質(zhì)量與速度并存的課堂評價方式,促進學生的自主、創(chuàng)新學習的方式。第4單元字符串課程名稱Java程序設(shè)計基礎(chǔ)教程(慕課版)項目名稱字符串任務(wù)名稱字符串課時6項目性質(zhì)□演示性□驗證性□設(shè)計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用字符串常用API解決問題的能力2.具備使用StringBuffer類操作字符串的能力3.具備使用數(shù)組常用API解決問題的能力知識目標:1.掌握String類及其常用API2.掌握StringBuffer類的應用3.掌握常用的JavaAPI素質(zhì)目標:1.培養(yǎng)學生知識掌握和技能運用能力2.培養(yǎng)學生團結(jié)合作、互幫互助的能力;教學內(nèi)容1.任務(wù)描述2.任務(wù)展示與實現(xiàn)(1)Random類隨機產(chǎn)生一個隨機數(shù)。(2)Scanner類接收用戶的輸入。(3)System類實現(xiàn)系統(tǒng)退出。3.教師講解本任務(wù)涉及的知識點4.任務(wù)小結(jié)教學重點1.字符串的分割、比較等操作2.數(shù)組的拷貝、隨機數(shù)的生成教學難點1.StringBuilder與StringBuffer的比較2.Random類與Math類生成隨機數(shù)教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設(shè)計基礎(chǔ)教程(慕課版)》董勇傅雷揚人民郵電出版社作業(yè)設(shè)計編寫一個猜數(shù)字游戲教學過程教學內(nèi)容與過程(教學內(nèi)容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力?!菊n前說明】本章主要講解String類和常用的JavaAPI。首先講解String類及常用的String操作方法,并講解了不同類型的操作方法;然后講解StringBuffer和StringBuilder;最后講解JavaAPI中常用的幾個工具類,System、Random和Scanner類,同時簡單講解了Math類,【目的】使學生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解String類及常用的String操作方法Java核心的類庫中定義了String類用于字符串的常用操作。String類的常用方法很多,但可以總體歸為4類:字符串查詢操作、字符串修改操作、字符串分割操作以及字符串比較操作。講解StringBuffer和StringBuilderStringBuffer和StringBuilder的直接父類都是AbstractStringBuilder。它們唯一的區(qū)別就是,StringBuffer的每個方法上都多了一個synchronized關(guān)鍵字。StringBuffer是線程安全的,而StringBuilder則不是。在編寫程序的時候如果判定不需要考慮多線程環(huán)境,那么首選StringBuilder,因為無須考慮多線程。三、講解JavaAPI中常用的幾個工具類,System、Random和Scanner類,同時簡單講解了Math類案例:字符串的修改操作publicclassStringModifyDemo{ publicstaticvoidmain(String[]args){
Stringstr="7731-5524-jhdF-FfF0";
System.out.println("將F替換成X-"+str.replace("F","X")+"-");
System.out.println("將所有的F替換成X-"+str.replaceAll("F","X")+"-");
System.out.println("將第一個F替換成b-"+str.replaceFirst("F","b")+"-");
System.out.println("將字符串全部轉(zhuǎn)換成大寫-"+str.toUpperCase()+"-");
System.out.println("將字符串全部轉(zhuǎn)換成小寫-"+str.toLowerCase()+"-");
System.out.println("去除字符串前后的空格-"+str.trim()+"-");
System.out.println("拼接BVNS字符串-"+str.concat("BVNS")+"-"); }}2.數(shù)組拷貝publicclassArrayCopyDemo{ publicstaticvoidmain(String[]args){
String[]fromArr={"abc","bcd","cde","efg","fgh"};//源數(shù)組
String[]toArr1={"123","456"};//目標數(shù)組1
String[]toArr2=newString[9];//目標數(shù)組2
//從源數(shù)組中的第0個元素向目標數(shù)組2中復制3個元素,從索引位置1開始
System.arraycopy(fromArr,0,toArr2,1,3);
for(Stringstr:toArr2){
System.out.print(str+"");//打印輸出數(shù)組內(nèi)的元素
}
System.out.println("\n*************************************");
//從源數(shù)組中的第0個元素向目標數(shù)組1中復制3個元素,從索引位置1開始
System.arraycopy(fromArr,0,toArr1,1,3);
for(Stringstr:toArr1){
System.out.print(str+"");//打印輸出數(shù)組內(nèi)的元素
}
System.out.println("\n*************************************"); }}參考移動的活動,我們可以將其簡化成一個動手任務(wù):猜數(shù)字游戲。系統(tǒng)隨機生成一個1~100的隨機數(shù),玩家鍵入自己猜測的數(shù)字,如果猜中了,則提示玩家贏了,游戲結(jié)束,否則提示用戶猜測的數(shù)字是大了或者小了,讓玩家繼續(xù)猜,玩家有十次猜測機會。通過學習,學生能夠掌握String類和常用的JavaAPI在程序編寫中的具體用法。本節(jié)課主要運用案例教學法,通過對字符串深入理解,掌握String、StringBuffer、StringBuilder類的基本特點,深入探討String、StringBuffer、StringBuilder類的使用方法,通過實例的方法加強對String類和常用的JavaAPI的理解,達到能夠獨立熟練運用String類和常用的JavaAPI來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質(zhì)量為評價標準,形成任務(wù)驅(qū)動,小組協(xié)作,質(zhì)量與速度并存的課堂評價方式,促進學生的自主、創(chuàng)新學習的方式。第5單元面向?qū)ο笳n程名稱Java程序設(shè)計基礎(chǔ)教程(慕課版)項目名稱面向?qū)ο笕蝿?wù)名稱面向?qū)ο笳n時6項目性質(zhì)□演示性□驗證性□設(shè)計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用對象的封裝、繼承和多態(tài)解決問題的能力2.具備使用掌握抽象類和接口解決問題的能力3.具備使用掌握重寫和重載解決問題的能力知識目標:1.了解面向?qū)ο?、類的概念和使?.掌握封裝、繼承、多態(tài)的應用素質(zhì)目標:1.培養(yǎng)學生知識掌握和技能運用能力2.培養(yǎng)學生團結(jié)合作、互幫互助的能力;教學內(nèi)容1.任務(wù)描述2.任務(wù)展示與實現(xiàn)(1)定義1個抽象類(2)定義3個接口(3)定義1個對象,繼承抽象類并實現(xiàn)接口3.教師講解本任務(wù)涉及的知識點4.任務(wù)小結(jié)教學重點1.封裝、繼承、多態(tài)的應用教學難點1.接口的使用2.重寫與重載的區(qū)別教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設(shè)計基礎(chǔ)教程(慕課版)》董勇傅雷揚人民郵電出版社作業(yè)設(shè)計抽象MapReduce框架
教學過程教學內(nèi)容與過程(教學內(nèi)容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力?!菊n前說明】本章主要講解面向?qū)ο蟮闹R。首先介紹了Java中包和訪問修飾符的概念,之后介紹了類的概念。接著介紹了封裝、繼承和多態(tài)的概念。封裝包含兩個層面,屬性的封裝和方法的封裝(類也是一種形式的封裝),屬性的封裝是讓屬性隱藏起來,只能通過特定方式獲取和修改,方法的封裝則是將方法的實現(xiàn)隱藏起來,將方法名稱暴露出去。一個對象可以是多種類型就是多態(tài)。本章還介紹了重寫和重載,重寫是覆蓋父類或?qū)崿F(xiàn)接口中某個方法的方法體,但是方法簽名不變,重寫使用@Override注解注釋;重載是指可以定義多個重名方法,但這些重名方法的方法簽名是不同的,也就是說,傳入的參數(shù)類型或者個數(shù)是不相同的?!灸康摹渴箤W生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解面向?qū)ο蠛皖惖母拍畎荍ava提供的用于解決命名沖突的一種機制,其采用了屬性目錄的存儲方式,有效地解決了命名沖突的問題。在Java中有4種訪問修飾符:public、protected、private和default。類就是對對象的抽象,用于描述一組對象共同的屬性和行為。在Java中,類可以定義成員變量和成員方法,這些屬性就是用于描述對象的屬性,也就是對象的特征,方法則用于描述對象的行為。講解封裝、繼承、多態(tài)在面向?qū)ο缶幊讨?,封裝又叫隱藏實現(xiàn)。在面向?qū)ο笾校绻麑ο笥邢嗤膶傩院托袨?,那么就歸為一類,當這種歸類還可以延伸時,則繼續(xù)分類,直到細化至需要的層級。這種層級關(guān)系就是繼承。在軟件工程中,接口泛指提供別人調(diào)用的方法或者函數(shù),在Java中它是一個對行為的抽象的類。Java語言支持兩種形式的多態(tài):運行時多態(tài)和編譯時多態(tài)。運行時多態(tài)是指Java中一種動態(tài)性的多態(tài),通過覆蓋基類中相同方法簽名的形式來實現(xiàn)。編譯時多態(tài)是指Java中一種靜態(tài)性的多態(tài),通過重載函數(shù)的形式來實現(xiàn)。重載可以實現(xiàn)本類內(nèi)的方法多態(tài)性,重寫可以實現(xiàn)子類或?qū)崿F(xiàn)類的多態(tài)性。案例:類的聲明//定義狼狗類publicclassWolfdog{ //狼狗的姓名 Stringname; //狼狗的年齡 intage; //狼狗毛的顏色 Stringcolor; //狼狗叫 publicvoidbark(){
System.out.println("Wolfdognamed"+name+"dress"+color+"isbarkatage"+age+"."); }}2.方法的重載publicclassOverwriteDemo{ voidprint(inti){
System.out.println("打印整型值:"+i); } voidprint(Strings){
System.out.println("打印字符串類型值:"+s); } voidprint(Strings1,Strings2){
System.out.println("打印字符串類型值1:"+s1+";字符串類型值2:"+s2); } publicstaticvoidmain(String[]args){
OverwriteDemoowd=newOverwriteDemo();
//編譯時多態(tài)
owd.print(12);
owd.print("1234");
owd.print("字符串1","字符串2"); }}Java有一個很重要的應用領(lǐng)域——大數(shù)據(jù)。對于大規(guī)模數(shù)據(jù)集的并行計算,其核心的編程模型就是MapReduce,本項目通過實現(xiàn)MapReduce中的部分功能,旨在讓學生更好地理解Java的基礎(chǔ)知識以及面向?qū)ο蟮乃枷耄瑫r了解MapReduce的核心結(jié)構(gòu)?;诿嫦?qū)ο蟮乃枷耄帉戭惡徒涌?,抽象出MapReduce框架中的核心內(nèi)容。通過學習,學生能夠掌握Java中包、訪問修飾符、類的概念,封裝、繼承和多態(tài)的概念的具體用法。本節(jié)課主要運用案例教學法,通過對面向?qū)ο笊钊肜斫?,掌握封裝、繼承和多態(tài)的基本特點,深入探討封裝、繼承和多態(tài)的使用方法,通過實例的方法加強重載和重寫的理解,達到能夠獨立熟練運用封裝、繼承和多態(tài)來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質(zhì)量為評價標準,形成任務(wù)驅(qū)動,小組協(xié)作,質(zhì)量與速度并存的課堂評價方式,促進學生的自主、創(chuàng)新學習的方式。第6單元集合和數(shù)組課程名稱Java程序設(shè)計基礎(chǔ)教程(慕課版)項目名稱集合和數(shù)組任務(wù)名稱集合和數(shù)組課時8項目性質(zhì)□演示性□驗證性□設(shè)計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用集合框架解決問題的能力2.具備使用數(shù)組解決問題的能力知識目標:了解Collection,Map集合,List鏈表,Set集合的概念和使用掌握集合遍歷的應用掌握數(shù)組的初始化與應用素質(zhì)目標:1.培養(yǎng)學生知識掌握和技能運用能力2.培養(yǎng)學生團結(jié)合作、互幫互助的能力;教學內(nèi)容1.任務(wù)描述2.任務(wù)展示與實現(xiàn)(1)通過操作鏈表實現(xiàn)鏈表的插入與刪除(2)通過Map保存玩家的牌(3)通過循環(huán)控制語句實現(xiàn)程序3.教師講解本任務(wù)涉及的知識點4.任務(wù)小結(jié)教學重點鏈表的操作與應用Iterator接口與增強型for循環(huán)教學難點1.HashMap及TreeMap的使用2.數(shù)組排序方法教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設(shè)計基礎(chǔ)教程(慕課版)》董勇傅雷揚人民郵電出版社作業(yè)設(shè)計編寫洗牌發(fā)牌程序編寫代碼實現(xiàn)數(shù)組排序
教學過程教學內(nèi)容與過程(教學內(nèi)容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】本章介紹了集合與數(shù)組。在集合中著重介紹Set集合、List集合和Map集合,其中Set是無序不重復的集合,List是可重復的有序鏈表,Map是key值不重復的散列表,這些數(shù)據(jù)類型封裝了實現(xiàn)算法,讓開發(fā)者無須知道算法就可以高效地使用這些數(shù)據(jù)類型。之后介紹數(shù)組,數(shù)組是一種快速隨機訪問的數(shù)據(jù)類型?!灸康摹渴箤W生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解集合的概念集合框架則是為了表示和操作集合而規(guī)定的統(tǒng)一的標準的體系結(jié)構(gòu)。集合框架包含三大部分:對外接口、接口實現(xiàn)和對集合運算的算法。Java提供了Collection的集合框架,在其內(nèi)定義了很多抽象的數(shù)據(jù)類型,包括集(Set)、鏈表(List)、數(shù)組(Array)、樹(Tree)和散列表(HashTable)等,另外還有比較特殊的映射(Map)。講解集合的遍歷Colleciton的遍歷可以使用iterator()方法獲取一個實現(xiàn)了Iterator接口的可遍歷對象。如果是Map類型,則可以使用Map.Entry對象或者keySet()方法獲取一個Set類型的key集合,或者使用values()方法獲取一個Collection對象然后調(diào)用iterator()方法。講解數(shù)組的使用數(shù)組的存取是以數(shù)組中的一個元素為單位進行的,一個數(shù)組中擁有的元素的個數(shù)是該數(shù)組的長度。在Java中,數(shù)組也是對象,需要動態(tài)地生成,數(shù)組一般分為一維數(shù)組、二維數(shù)組和多維數(shù)組。案例:HashMap及TreeMap的使用publicclassTreeMap2HashMapDemo{ publicstaticvoidmain(String[]args){
//創(chuàng)建HashMap對象
Map<String,String>hashMap=newHashMap<>();
//添加元素
hashMap.put("Java","JavaUser");
hashMap.put("C","Cuser");
hashMap.put("C++","C++user");
hashMap.put("Go","Gouser");
System.out.println("hashMap="+hashMap);
//根據(jù)hashMap構(gòu)建一個TreeMap
TreeMap<String,String>treeMap=newTreeMap<>(hashMap);
System.out.println("treeMap="+treeMap);
HashMap<String,String>hMap=newHashMap<>(treeMap);
System.out.println("hMap="+hMap); }}編寫一個自動發(fā)牌程序,模擬三人斗地主的摸牌場景。首先要給出提示,誰首先開始摸牌,并且摸牌要和現(xiàn)實摸牌一樣,三人循環(huán)摸牌,最后還要剩余三張底牌,同時給出地主牌,摸到地主牌的玩家擁有三張底牌,三張底牌三人都可以看到。當三張底牌派發(fā)給地主后提示玩家摸牌結(jié)束。對于一個給定的數(shù)組,如果通過冒泡排序的方式進行實現(xiàn),那么對一些元素龐大的任務(wù)而言,無疑是一個災難,在猜數(shù)字的游戲中使用的中分法猜數(shù)字的方式能夠快速且準確地縮小數(shù)字的所屬范圍。如果使用這種方式來排序,效率也會相應地高很多。通過學習,學生能夠掌握Set集合、List集合、Map集合和數(shù)組的具體用法。本節(jié)課主要運用案例教學法,通過對集合和數(shù)組深入理解,掌握Set集合、List集合、Map集合和數(shù)組的基本特點,深入探討Set集合、List集合、Map集合和數(shù)組的使用方法,通過實例的方法加強集合的遍歷的理解,達到能夠獨立熟練運用Set集合、List集合、Map集合和數(shù)組來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質(zhì)量為評價標準,形成任務(wù)驅(qū)動,小組協(xié)作,質(zhì)量與速度并存的課堂評價方式,促進學生的自主、創(chuàng)新學習的方式。第7單元文件及流課程名稱Java程序設(shè)計基礎(chǔ)教程(慕課版)項目名稱文件及流任務(wù)名稱文件及流課時6項目性質(zhì)□演示性□驗證性□設(shè)計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用File類解決問題的能力2.具備使用輸入輸出流解決問題的能力知識目標:了解File的常用API的概念和使用掌握字節(jié)流和字符流的應用素質(zhì)目標:1.培養(yǎng)學生知識掌握和技能運用能力2.培養(yǎng)學生團結(jié)合作、互幫互助的能力;教學內(nèi)容1.任務(wù)描述2.任務(wù)展示與實現(xiàn)(1)首先需要讀取控制臺的輸入內(nèi)容,獲取用戶想要處理的下一個操作內(nèi)容。(2)根據(jù)輸入的指令和輸入內(nèi)容,進行相應的操作,例如創(chuàng)建文件、刪除文件等。(3)當輸入指定4時,需要讀取文件內(nèi)容,判斷文件內(nèi)容是否符合要求,如果內(nèi)容符合要求,則循環(huán)執(zhí)行文件內(nèi)容。3.教師講解本任務(wù)涉及的知識點4.任務(wù)小結(jié)教學重點File的常用API字節(jié)流和字符流教學難點1.目錄文件遍歷的方法2.字節(jié)流和字符流的區(qū)別教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設(shè)計基礎(chǔ)教程(慕課版)》董勇傅雷揚人民郵電出版社作業(yè)設(shè)計編寫一個文件管理系統(tǒng),通過控制臺的輸出內(nèi)容進行文件操作
教學過程教學內(nèi)容與過程(教學內(nèi)容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力?!菊n前說明】本章介紹文件和流。在Java中,文件的管理依靠File類,而文件的讀寫則依靠輸入輸出流來讀取。輸入輸出流是Java中非常重要的內(nèi)容,其使用范圍比較廣泛,例如項目中配置文件的讀取、xml類型文件的讀取和OFFICE文件的讀取等,都是使用輸入輸出流進行的,Java的Web在實際應用中,也是依靠流的形式進行客戶端的瀏覽器界面與應用服務(wù)器的交互?!灸康摹渴箤W生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解File類的使用文件有其固有屬性,如大小、創(chuàng)建時間、讀寫屬性等,同時還有創(chuàng)建與刪除的操作,這些在Java中都由File類來實現(xiàn)。為了方便開發(fā)者處理文件,F(xiàn)ile類提供了豐富的API供開發(fā)者使用。講解輸入輸出流的概念在計算機中,數(shù)據(jù)的傳輸一般使用的是二進制的數(shù)據(jù)流,流中的數(shù)據(jù)是按字節(jié)進行的,所有的數(shù)據(jù)流都可以使用字節(jié)流進行讀寫操作。BufferedReader和BufferedWriter這兩個對象可以對流進行按行讀取。講解數(shù)組的使用案例:文件的固有屬性importjava.io.File;publicclassFileInherentAttributeDemo{ publicstaticvoidmain(String[]args){
Filefile=newFile("InherenetAttributeTest.txt");
if(file.exists()){
System.out.println("文件的長度:"+file.length());
System.out.println("文件的絕對路徑:"+file.getAbsolutePath());
System.out.println("文件的相對路徑:"+file.getPath());
System.out.println("文件是否是隱藏文件:"+file.isHidden());
System.out.println("是否是文件類型:"+file.isFile());
System.out.println("是否是文件夾類型:"+file.isDirectory());
} }}編寫一個文件管理系統(tǒng),通過控制臺的輸出內(nèi)容進行文件操作:1-創(chuàng)建文件、2-刪除文件、3-復制文件和4-根據(jù)輸入文件名稱,讀取文件內(nèi)容執(zhí)行對應的指令。當用戶輸入1時,會讀取用戶的下一行輸入,會根據(jù)用戶的名稱和后續(xù)輸入創(chuàng)建一個文件并將輸入錄入文件;當用戶輸入2,則會檢索當前目錄下的文件,如果文件存在,則刪除該文件,否則,提示文件不存在;當用戶輸入3,則讀取用戶輸入的文件名稱并進行復制,默認是文件名稱加后綴“.copy”標注;當用戶輸入4,會查找當前目錄下的文件,如果文件存在,則執(zhí)行文件的內(nèi)容;當用戶輸入“exit”并在后續(xù)輸入“Y”則退出當前系統(tǒng)。通過學習,學生能夠掌握File類、字節(jié)流、字符流的具體用法。本節(jié)課主要運用案例教學法,通過對文件和流深入理解,掌握File類、字節(jié)流、字符流的基本特點,深入探討File類、字節(jié)流、字符流的使用方法,通過實例的方法加強File類和輸入輸出類的理解,達到能夠獨立熟練運用File類、字節(jié)流、字符流來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質(zhì)量為評價標準,形成任務(wù)驅(qū)動,小組協(xié)作,質(zhì)量與速度并存的課堂評價方式,促進學生的自主、創(chuàng)新學習的方式。第8單元日期和時間課程名稱Java程序設(shè)計基礎(chǔ)教程(慕課版)項目名稱日期和時間任務(wù)名稱日期和時間課時4項目性質(zhì)□演示性□驗證性□設(shè)計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用Date類解決問題的能力2.具備使用Calendar類解決問題的能力知識目標:掌握Date類的應用掌握Calendar類的應用素質(zhì)目標:1.培養(yǎng)學生知識掌握和技能運用能力2.培養(yǎng)學生團結(jié)合作、互幫互助的能力;教學內(nèi)容1.任務(wù)描述2.任務(wù)展示與實現(xiàn)(1)將字符串類型的數(shù)據(jù)轉(zhuǎn)換成Calendar類型,并在計算結(jié)束后返回字符串類型的日期。(2)由日期計算星期數(shù)3.教師講解本任務(wù)涉及的知識點4.任務(wù)小結(jié)教學重點Date類的應用Calendar類的應用教學難點1.日歷類型的計算教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設(shè)計基礎(chǔ)教程(慕課版)》董勇傅雷揚人民郵電出版社作業(yè)設(shè)計編寫一個產(chǎn)品過期提醒的程序,能夠自動根據(jù)促銷要求在適當?shù)臅r候進行促銷活動
教學過程教學內(nèi)容與過程(教學內(nèi)容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力?!菊n前說明】本章著重講解了日期類Date和日歷類Calendar。日期類Date一般作為字符串類型的日期與日歷類Calendar的中間對象,日期類Date方便日期的存儲和計算。其中SimpleDateFormat是轉(zhuǎn)換字符串類型的日期和日期類型的操作類,該類支持多重格式的日期,例如2017-03-10和2017-03-1000:00:00類型等,在這兩個常用的格式之外,還有其他類型的格式,如yy-MM-dd、yy/MM/dd等?!灸康摹渴箤W生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解Date類的使用Date類的無參構(gòu)造方法是將當前系統(tǒng)毫秒值傳入進行初始化的,Date類還有一個根據(jù)傳入的毫秒值獲取日期對象的構(gòu)造函數(shù),無參構(gòu)造方法就是將系統(tǒng)當前毫秒值作為毫秒值傳入該構(gòu)造函數(shù)實現(xiàn)的。講解日歷類Calendar的使用Calendar類型是對日期的計算操作,其本身可以由Date類型來設(shè)置需要進行計算的原點時間,同時也能快速地轉(zhuǎn)換成Date類型的對象并輸出。因為編程語言大多以0為初始值,所以Calendar類中的一月份的數(shù)字值實際上是0。由于西方國家認為星期日是一個星期的開始,所以,SUNDAY對應的數(shù)字是1,而MONDAY對應的數(shù)字是2,其他以此類推。案例:當前時間與計算機元年publicclassComputerTimeDemo{publicstaticvoidmain(String[]args)throwsParseException{Dateday=newDate(0);//獲取時間原點longtime=System.currentTimeMillis();//獲取當前時間相較于時間原點的毫秒數(shù)Datedate=newDate(time);//獲取Date類型的對象,時間默認為當前時間//Date類型的該方法已經(jīng)被廢棄,不建議使用,但為了演示方便,暫且使用System.out.println("當前時間:"+date.toLocaleString());System.out.println("計算機時間原點:"+day.toLocaleString());longbetween=date.getTime()-day.getTime();System.out.println("系統(tǒng)當前時間與計算機時間原點的毫秒值;"+between);System.out.println("當前時間與原點時間的差值與系統(tǒng)獲取的當前毫秒值的差值:"+(time-between));}}萬年歷publicclassMonthlyCalendarDemo{//每個星期的星期staticfinalString[]weekDays={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);//獲取從標準輸入中讀取數(shù)據(jù)的Scanner對象intcounter=0;System.out.println("請輸入年份:");intyear=scan.nextInt();System.out.println("請輸入月份:");intmonth=scan.nextInt()-1;//獲取月份//以指定的年份、月份和該月份的第一天作為開始創(chuàng)建對象GregorianCalendargCale=newGregorianCalendar(year,month,1);//獲取當前月份的總天數(shù)inttotalDay=gCale.getActualMaximum(Calendar.DAY_OF_MONTH);intstartWeekDay=gCale.get(Calendar.DAY_OF_WEEK)-1;for(StringweekDay:weekDays){System.out.print(weekDay+"");//三個空格}System.out.println();//換行for(counter=0;counter<startWeekDay;counter++){System.out.print("");//七個空格}for(intday=1;day<totalDay;day++){System.out.printf("%2d",day);counter++;if(counter%7==0){System.out.println();//換行}}}}編寫一個產(chǎn)品過期提醒的程序,能夠自動根據(jù)促銷要求在適當?shù)臅r候進行促銷活動,并在產(chǎn)品過期前10天提醒產(chǎn)品即將過期。產(chǎn)品的過期時間由產(chǎn)品的生產(chǎn)日期及保質(zhì)期來確定。程序需要正確地計算產(chǎn)品的到期日期,并且根據(jù)到期日期來執(zhí)行促銷活動和過期提醒。通過學習,學生能夠掌握Date類和Calendar類的具體用法。本節(jié)課主要運用案例教學法,通過對Date類和Calendar類理解,掌握Date類和Calendar類的基本特點,深入探討Date類和Calendar類的使用方法,通過實例的方法加強Date類和Calendar類的理解,達到能夠獨立熟練運用Date類和Calendar類來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質(zhì)量為評價標準,形成任務(wù)驅(qū)動,小組協(xié)作,質(zhì)量與速度并存的課堂評價方式,促進學生的自主、創(chuàng)新學習的方式。第9單元反射、異常和枚舉課程名稱Java程序設(shè)計基礎(chǔ)教程(慕課版)項目名稱反射、異常和枚舉任務(wù)名稱反射、異常和枚舉課時6項目性質(zhì)□演示性□驗證性□設(shè)計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用反射解決問題的能力2.具備使用異常解決問題的能力3.具備使用枚舉解決問題的能力知識目標:掌握反射的應用掌握異常和枚舉的應用素質(zhì)目標:1.培養(yǎng)學生知識掌握和技能運用能力2.培養(yǎng)學生團結(jié)合作、互幫互助的能力;教學內(nèi)容1.任務(wù)描述2.任務(wù)展示與實現(xiàn)(1)從源對象復制屬性到目標對象屬性中去,需要以目標對象屬性為準,源對象中的多余屬性不做考慮(2)目標對象屬性在源對象中不存在的,不進行復制(3)目標屬性類型與源目標屬性類型不一致的,也默認為屬性不存在,不進行考慮3.教師講解本任務(wù)涉及的知識點4.任務(wù)小結(jié)教學重點反射的應用異常的應用教學難點反射的應用異常捕獲順序教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設(shè)計基礎(chǔ)教程(慕課版)》董勇傅雷揚人民郵電出版社作業(yè)設(shè)計利用反射技術(shù),獲取目標對象的域方法,獲取其setter方法的參數(shù)類型和域字段名稱,獲取源對象中的對應域字段的getter方法,判斷域的類型是否一致,如果一致,則進行值復制
教學過程教學內(nèi)容與過程(教學內(nèi)容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】本章主要介紹了反射、異常和枚舉3個知識點。反射,是通過類名找到類信息并對其進行處理的一種技術(shù),這種技術(shù)的優(yōu)點是可以在運行時去執(zhí)行這些邏輯,簡化了代碼,方便了程序的開發(fā),反射在目前流行的Spring框架中應用廣泛。Spring的對象管理就是通過反射實現(xiàn)的。異常是Java的一大開發(fā)利器,如果說垃圾回收機制讓開發(fā)者真正擺脫了內(nèi)存泄露問題的話,那么異常則是讓開發(fā)者擺脫了通篇閱讀代碼找問題的無奈。Java的異常棧信息會打印出問題出現(xiàn)的代碼所在類和異常拋出的行數(shù),同時也會提示開發(fā)者異常是因何產(chǎn)生的。這種完善的異常提醒機制讓問題的發(fā)現(xiàn)與解決更加高效。枚舉是Java中一個特殊的類型,它具有“小而美”的特點,枚舉的使用,讓代碼的閱讀更加容易;同時,通過使用枚舉也能避免一些因疏忽或者其他原因?qū)е碌男栴}?!灸康摹渴箤W生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解反射的使用反射(Reflection)是Java程序開發(fā)語言的特征之一,它允許Java在運行時添加新的類或是創(chuàng)建指定類的對象,并將屬性值動態(tài)地賦值給對象。講解異常的使用Java的異常處理是面向?qū)ο蟮模簿褪强梢詫惓.斪鲗ο髞硖幚?。當程序運行過程中出現(xiàn)了異常情況時,一個異常就產(chǎn)生了并交給運行時系統(tǒng),運行時系統(tǒng)通過尋找對應的代碼來處理這個異常,從而確保系統(tǒng)不會宕機或?qū)Σ僮飨到y(tǒng)造成損害。講解枚舉的使用枚舉的關(guān)鍵字是enum。該關(guān)鍵字可以將一組具有別名的值的有限集合創(chuàng)建成一種新的類型。案例:Java的String類的反射publicclassSimpleReflDemo{publicstaticvoidmain(String[]args){try{Classc=Class.forName("java.lang.String");Method[]ms=c.getDeclaredMethods();//獲取類中聲明的方法for(Methodm:ms){System.out.println(m);}}catch(ClassNotFoundExceptione){e.printStackTrace();}}}異常的捕獲順序publicclassCatchOrderDemo{publicstaticvoidmain(String[]args){String[]strs=newString[]{"111"};try{Stringstr=strs[3];}catch(ArrayIndexOutOfBoundsExceptione){System.out.println("IndexOutOfBoundsException異常被捕獲!");}catch(Exceptione){System.out.println("Exception異常被捕獲!");}}}在Spring框架中,有一個BeanUtils類,專門用于兩個對象間相同屬性域的值的復制,一般用于業(yè)務(wù)對象和數(shù)據(jù)庫對象的轉(zhuǎn)換,其實現(xiàn)也是借助了反射技術(shù)。利用反射技術(shù),獲取目標對象的域方法,獲取其setter方法的參數(shù)類型和域字段名稱,獲取源對象中的對應域字段的getter方法,判斷域的類型是否一致,如果一致,則進行值復制。通過學習,學生能夠掌握反射、異常和枚舉的具體用法。本節(jié)課主要運用案例教學法,通過對反射、異常和枚舉的理解,掌握反射、異常和枚舉的基本特點,深入探討反射、異常和枚舉的使用方法,通過實例的方法加強反射、異常和枚舉的理解,達到能夠獨立熟練運用反射、異常和枚舉來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質(zhì)量為評價標準,形成任務(wù)驅(qū)動,小組協(xié)作,質(zhì)量與速度并存的課堂評價方式,促進學生的自主、創(chuàng)新學習的方式。第10單元并發(fā)編程課程名稱Java程序設(shè)計基礎(chǔ)教程(慕課版)項目名稱并發(fā)編程任務(wù)名稱并發(fā)編程課時6項目性質(zhì)□演示性□驗證性□設(shè)計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備創(chuàng)建線程的能力2.具備調(diào)度線程的能力3.具備使用多線程解決問題的能力知識目標:了解進程和線程的區(qū)別和聯(lián)系掌握線程的創(chuàng)建和調(diào)度方法掌握多線程的應用素質(zhì)目標:1.培養(yǎng)學生知識掌握和技能運用能力2.培養(yǎng)學生團結(jié)合作、互幫互助的能力;教學內(nèi)容1.任務(wù)描述2.任務(wù)展示與實現(xiàn)(1)需要處理的是文件夾,(2)如果當前文件夾下有子文件夾,則將子文件夾當作另一個任務(wù),加入到處理任務(wù)鏈表中來(3)匯總所有任務(wù)的計算結(jié)果,即指定文件夾的總大小3.教師講解本任務(wù)涉及的知識點4.任務(wù)小結(jié)教學重點線程的創(chuàng)建線程的調(diào)度教學難點繼承Thread類同步與互斥教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設(shè)計基礎(chǔ)教程(慕課版)》董勇傅雷揚人民郵電出版社作業(yè)設(shè)計實現(xiàn)MapReduce的并發(fā)
教學過程教學內(nèi)容與過程(教學內(nèi)容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】本章講解了進程和線程的區(qū)別和聯(lián)系、線程的創(chuàng)建方式、線程的調(diào)度問題,梳理了線程的5種狀態(tài):新建、就緒、阻塞以及運行狀態(tài)和死亡狀態(tài),涉及線程的休眠、同步和死鎖等問題也都做了講解;并講解了線程池技術(shù)和帶有返回值的Callable對象和接收返回值的Future對象,對Future對象的isDone()方法和get()方法做了簡單介紹?!灸康摹渴箤W生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解線程的創(chuàng)建方法線程的創(chuàng)建方式,一種是繼承Thread類,另一種是實現(xiàn)Runnable接口,繼承Thread類后可以直接調(diào)用start()方法啟動線程,而實現(xiàn)Runnable接口則需要使用Thread類進行包裝后方可調(diào)用start()方法。講解線程的調(diào)度方法梳理了線程的5種狀態(tài):新建、就緒、阻塞以及運行狀態(tài)和死亡狀態(tài),涉及線程的休眠、同步和死鎖等問題也都做了講解。講解多線程的使用Java中的線程池技術(shù)是運行場景最多的并發(fā)框架,幾乎所有需要異步或者并發(fā)執(zhí)行任務(wù)的程序都可以使用線程池技術(shù)。合理使用線程池技術(shù)可以降低線程創(chuàng)建和銷毀造成的消耗,提高相應速度和提高線程的可管理性。Callable用法和Runnable類似,只不過調(diào)用的是call()方法,而不是run()方法,該方法有一個泛型返回值類型,可根據(jù)需要指定。案例:Thread實現(xiàn)多線程publicclassThreadDemo{publicstaticvoidmain(String[]args){for(inti=0;i<10;i++){//創(chuàng)建10個MyThread類的對象,并運行MyThreadthread=newMyThread();thread.start();}}}//繼承了Thread類的類classMyThreadextendsThread{@Overridepublicvoidrun(){//重寫父類的run方法for(inti=0;i<3;i++){//循環(huán)打印輸出信息System.out.println(Thread.currentThread().getName()+"-正在執(zhí)行!");}}}計劃任務(wù)線程池publicclassSchedulePoolDemo{publicstaticvoidmain(String[]args){ScheduledExecutorServicees=Executors.newScheduledThreadPool(1);//創(chuàng)建一個計劃任務(wù)線程池,參數(shù)表示線程池的個數(shù)es.scheduleAtFixedRate(newRunnable(){@Overridepublicvoidrun(){System.out.println("每1秒執(zhí)行一次:"+System.currentTimeMillis());}},2,1,TimeUnit.SECONDS);}}并發(fā)執(zhí)行MapReduce框架中的Map任務(wù)和Reduce任務(wù),Reduce任務(wù)必須等所有的Map任務(wù)都執(zhí)行結(jié)束之后才開始,可以使用CountDownLatch實現(xiàn)線程間的同步。通過學習,學生能夠掌握進程和線程的區(qū)別和聯(lián)系、線程的創(chuàng)建方式、線程的調(diào)度問題以及多線程的相關(guān)用法。本節(jié)課主要運用案例教學法,通過對進程和線程的理解,掌握進程和線程的基本特點,深入探討進程和線程的使用方法,通過實例的方法加強進程和線程的理解,達到能夠獨立熟練運用進程和線程來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質(zhì)量為評價標準,形成任務(wù)驅(qū)動,小組協(xié)作,質(zhì)量與速度并存的課堂評價方式,促進學生的自主、創(chuàng)新學習的方式。第11單元網(wǎng)絡(luò)通信協(xié)議課程名稱Java程序設(shè)計基礎(chǔ)教程(慕課版)項目名稱網(wǎng)絡(luò)通信協(xié)議任務(wù)名稱網(wǎng)絡(luò)通信協(xié)議課時4項目性質(zhì)□演示性□驗證性□設(shè)計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用TCP通信解決問題的能力2.具備使用UDP通信解決問題的能力知識目標:掌握TCP通信的應用掌握UDP通信的應用素質(zhì)目標:1.培養(yǎng)學生知識掌握和技能運用能力2.培養(yǎng)學生團結(jié)合作、互幫互助的能力;教學內(nèi)容1.任務(wù)描述2.任務(wù)展示與實現(xiàn)(1)使用一個主線程進行數(shù)據(jù)的發(fā)送功能,另一個線程進行數(shù)據(jù)接收的功能。(2)客戶端需要將自己的監(jiān)聽端口告訴服務(wù)端,同時服務(wù)端能夠存儲這些信息并向客戶端廣播消息3.教師講解本任務(wù)涉及的知識點4.任務(wù)小結(jié)教學重點TCP通信的應用UDP通信的應用教學難點TCP通信的應用UDP通信的應用教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設(shè)計基礎(chǔ)教程(慕課版)》董勇傅雷揚人民郵電出版社作業(yè)設(shè)計模仿編寫一個聊天室,實現(xiàn)聊天室消息的發(fā)送和接收功能,并將接收的數(shù)據(jù)顯示出來
教學過程教學內(nèi)容與過程(教學內(nèi)容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力?!菊n前說明】本章著重講解了Java中有關(guān)網(wǎng)絡(luò)編程的TCP通信和UDP通信。首先對TCP通信和UDP通信的概念進行了講解,同時對通信過程中使用到的IP地址和端口號等名詞進行了知識補充;然后著重講解了Java網(wǎng)絡(luò)編程的重點即TCP通信中的Socket通信,這是Java編程中機器進行通信的基礎(chǔ);最后主要講解了UDP通信中的DatagramPacket和DatgramSocket類,并給出了使用案例,同時,模擬了網(wǎng)上聊天室,實現(xiàn)了一個簡單的聊天室。【目的】使學生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解網(wǎng)絡(luò)通信協(xié)議的概念TCP/IP協(xié)議(TransmissionControlProtocol/InternetProtocol)也叫做傳輸控制/網(wǎng)際協(xié)議,又叫做網(wǎng)絡(luò)通信協(xié)議。TCP/IP協(xié)議是英特網(wǎng)中使用的基本通信協(xié)議。UDP是UserDatagramProtocol的簡稱,全稱是用戶數(shù)據(jù)報協(xié)議,中文名是用戶數(shù)據(jù)報協(xié)議,是OSI(OpenSystemInterconnection,開放式系統(tǒng)互聯(lián))參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)。講解TCP通信當兩個程序想要通信的時候,可以使用Socket類建立套接字連接,呼叫的一方成為客戶機,接收的一方成為服務(wù)器,服務(wù)器使用的套接字是ServerSocket。Socket套接字和ServerSocket套接字使用的IP和端口號必須相同,端口號在服務(wù)器端
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院春節(jié)放假期間安全措施及服務(wù)安排
- 2025年幼兒園教研活動實施計劃
- 教科版(2017秋)六年級科學下冊期末備考真題分類匯編專題07 綜合題(含答案)
- 第二中學2024年初中學業(yè)水平考試第三次適應性測試 科學試題卷
- 市政工程冬季施工安全技術(shù)措施
- 成人教育課程改革與實施措施
- 成人教育教師師徒結(jié)對技能計劃
- 高二第二學期國際交流項目計劃
- 物業(yè)管理透明度提升方案范文
- 幼兒園游戲教學心得體會
- 14J936《變形縫建筑構(gòu)造》
- 人工智能工業(yè)設(shè)計應用領(lǐng)域
- 跨代工作團隊的溝通與管理策略探討
- 職業(yè)生涯規(guī)劃剪輯師
- 2024年貴州銅仁市印江縣城市社區(qū)工作者招聘筆試參考題庫附帶答案詳解
- 冰箱生產(chǎn)工藝流程模型
- 石油開采技術(shù)的數(shù)字化轉(zhuǎn)型與智能化應用
- 什么是冥王星
- 2023年湖北省保險行業(yè)協(xié)會招聘4人考前自測高頻考點模擬試題(共500題)含答案詳解
- 企業(yè)安全防汛知識企業(yè)安全生產(chǎn)培訓
- 好書閱讀分享交流《福爾摩斯探案集》課件
評論
0/150
提交評論