Java程序設計基礎教程(慕課版)(第2版) 教案全套 朱麗萍 第1-12單元 Java基礎知識- 綜合實訓_第1頁
Java程序設計基礎教程(慕課版)(第2版) 教案全套 朱麗萍 第1-12單元 Java基礎知識- 綜合實訓_第2頁
Java程序設計基礎教程(慕課版)(第2版) 教案全套 朱麗萍 第1-12單元 Java基礎知識- 綜合實訓_第3頁
Java程序設計基礎教程(慕課版)(第2版) 教案全套 朱麗萍 第1-12單元 Java基礎知識- 綜合實訓_第4頁
Java程序設計基礎教程(慕課版)(第2版) 教案全套 朱麗萍 第1-12單元 Java基礎知識- 綜合實訓_第5頁
已閱讀5頁,還剩49頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGE1PAGE第1單元Java基礎知識課程名稱Java程序設計基礎教程(慕課版)項目名稱Java基礎知識任務名稱Java基礎知識課時4項目性質□演示性□驗證性□設計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用Eclipse編寫Java程序的能力2.具備創建一個Java項目的能力知識目標:1.了解Java的誕生、發展、特點2.掌握Java開發環境搭建的方法3.掌握Java開發工具的使用素質目標:1.培養學生信息搜集能力2.培養學生團結合作、互幫互助的能力;教學內容1.任務描述2.任務展示與實現(1)利用Eclipse編寫Java代碼并驗證其效果(2)創建一個Java項目(3)學生動手操作3.教師講解本任務涉及的知識點4.任務小結教學重點1.Java的語言特點2.Java開發工具的使用教學難點Java開發工具的使用教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設計基礎教程(慕課版)》董勇傅雷揚人民郵電出版社作業設計使用Eclipse編寫HelloWorld程序。2.創建一個Java項目教學過程教學內容與過程(教學內容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】分別從Java的誕生、Java的發展、Java開發工具包、Java運行環境、Java虛擬機、Java開發工具等知識點進行初步的了解。【目的】使學生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。一、什么是Java?從Java的誕生、Java的發展歷史等方面展開,介紹Java的特點,了解Java的發展概況及其特點。掌握Java是基于對象和事件驅動的客戶端腳本語言這一核心概念。二、Java開發環境如何搭建?Java的開發基于JDK,這是整個Java的核心,包括了JRE、Java工具和Java基礎類庫。JRE是運行Java程序所必需的環境的集合,包含JVM標準實現及Java核心類庫。JVM是整個Java實現跨平臺核心的部分,能夠運行以Java語言寫作的軟件程序。Java開發環境的搭建就是JDK的安裝過程。三、如何使用Java開發工具?Java的開發工具有很多,常用的有Eclipse、NetBeans、IntelliJIDEA和MyEclipse。其中Eclipse和NetBeans是免費的,IntelliJIDEA和MyEclipse是收費的。案例:1.Eclipse的安裝及使用2.創建一個項目,在項目中創建一個Java類“HelloWorld.java”,在類中編寫代碼,使得程序在運行時在控制臺打印輸出內容:“HelloWorld,thisismyfirstprogram!”。packagecom.lw;publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println("HelloWorld,thisismyfirstprogram!"); }}1.使用Eclipse創建Java項目和編寫Java類,實現一個Java程序。2.創建一個簡單的Java項目,能夠自主創建一個獨立的項目。通過學習,學生能夠掌握Java的發展歷程和語言特點,Java開發環境的搭建以及使用編輯器創建Java項目的方法。本節課主要運用案例教學法,通過對Java概念的深入理解,掌握Java的基本特點,深入探討Java編程的方法,通過實例的方法加強對JDK、JRE和JVM的關系的理解和JDK的安裝及Java開發環境的環境變量的配置的學習,達到能夠獨立熟練運用Java來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質量為評價標準,形成任務驅動,小組協作,質量與速度并存的課堂評價方式,促進學生的自主、創新學習的方式。第2單元基本數據類型及運算符課程名稱Java程序設計基礎教程(慕課版)項目名稱基本數據類型及運算符任務名稱基本數據類型及運算符課時6項目性質□演示性□驗證性□設計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備進行數據類型轉換的能力2.具備運用運算符計算的能力知識目標:1.掌握8種基本數據類型及其拆裝箱2.掌握Java中的常用操作符3.掌握Java中表達式的各種運算符的執行順序和結合性素質目標:1.培養學生信息搜集能力2.培養學生團結合作、互幫互助的能力;教學內容1.任務描述2.任務展示與實現(1)將十進制的整型IP地址轉換成long類型值(2)將long類型轉換成IP(3)學生動手操作3.教師講解本任務涉及的知識點4.任務小結教學重點1.Java的基本數據類型2.Java的運算符教學難點運算符的優先級問題教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設計基礎教程(慕課版)》董勇傅雷揚人民郵電出版社作業設計將long類型的整數轉換成一個十進制形式的IP地址教學過程教學內容與過程(教學內容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】對整型、浮點型、布爾型和字符型等基本數據類型,數據類型、類和接口等復合數據類型,算術運算符、關系運算符、邏輯運算符、條件運算符、位運算符和賦值運算符六種運算類型及其優先級等知識點進行初步的了解。【目的】使學生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。一、Java的基本數據類型因數據的類型不同,其表示的數據范圍、精度和所占的存儲空間都不相同。在Java最初設計的時候就明確了它要支持的兩種數據類型:基本數據類型和對象。基本數據類型:整型、浮點型、布爾型和字符型。復合數據類型:數據類型、類和接口。基本數據類型有8種:boolean、byte、char、short、int、long、float和double,其中以boolean、int、char和double最為常用。二、Java的運算符Java中的運算符共36種,依照運算類型可以分為6大類,包含算術運算符、關系運算符、邏輯運算符、條件運算符、位運算符和賦值運算符。Java語言的運算符不僅具有不同的優先級,還要受運算符結合性的制約。Java中的運算符的結合性分為兩種,即左結合性(自左向右)和右結合性(自右向左)。三、如何使用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.在程序開發中可能會碰到將IP地址轉換成long類型的整數,或者將十進制整數轉換成IP地址的情況,此時,需要將一個地址轉換成一個long類型整數,或者將long類型的整數轉換成一個十進制形式的IP地址。通過學習,學生能夠掌握Java的數據類型和運算符基本概念,運算符的優先級以及運算規則。本節課主要運用案例教學法,通過對Java的數據類型和運算符的深入理解,掌握Java的運算符的優先級,通過實例的方法加強對Java數據類型和運算符的理解,達到能夠獨立熟練運用Java的數據類型和運算符來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質量為評價標準,形成任務驅動,小組協作,質量與速度并存的課堂評價方式,促進學生的自主、創新學習的方式。第3單元控制執行流程課程名稱Java程序設計基礎教程(慕課版)項目名稱控制執行流程任務名稱控制執行流程課時4項目性質□演示性□驗證性□設計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用if條件分支語句解決問題的能力2.具備使用for循環語句解決問題的能力3.具備使用while循環語句解決問題的能力知識目標:1.了解什么是流程控制語句2.掌握分支結構的語法結構和用法3.掌握循環語句的用法4.掌握break語句與continue語句的用法素質目標:1.培養學生知識掌握和技能運用能力2.培養學生團結合作、互幫互助的能力;教學內容1.任務描述2.任務展示與實現(1)分別是利用for語句、while語句實現循環(2)利用if嵌套語句和switch多層分支語句實現復雜分支(3)利用循環語句中break和continue語句實現求3的倍數(4)學生動手操作3.教師講解本任務涉及的知識點4.任務小結教學重點1.if…else條件分支語句2.dowhile循環語句與while循環語句在使用上的不同教學難點1.嵌套語句2.循環語句中的Continue和break語句的使用教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設計基礎教程(慕課版)》董勇傅雷揚人民郵電出版社作業設計編寫一個排序的程序,可以讓一個混亂的數組變成一個有序的數組。教學過程教學內容與過程(教學內容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】分別介紹Java流程控制語句的選擇結構和循環結構,分支結構也叫選擇結構,語句包括if-else語句和switch語句,都是根據一定的條件去執行一條語句或語句組;循環語句指在循環語句中指定語句重復執行的次數,也可以指定重復執行的條件。【目的】使學生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。一、講解什么是控制執行結構二、選擇結構語句的語法結構if選擇語句:if(boolean-expression){ statement;//執行語句內容}else{ statement;//執行語句內容}switch選擇語句:switch(selector){ caseselector:statement;break; caseselector:statement;break; caseselector:statement;break; caseselector:statement;break; ... default:statement;}三、循環結構語句的語法結構for循環語句:for(init;boolean-expression;step){ statement;}do-while循環語句:do{ statement;}while(boolean-expression);while循環語句:while(boolean-expression){ statement;//循環體}四、break語句和continue語句在循環語句中的用法。案例:常量和變量的具體應用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("程序運行跳出標志!跳出循環!");

break;

}

System.out.println("第"+i+"次循環。");

}

intcount=0;

while(5>count){//在5以內循環

count++;//自增1

if(count%3==0){//如果count是3的倍數,進行下一次循環

continue;

}

System.out.println("第"+count+"次循環!");

} }}冒泡排序冒泡的原則是,每一次循環結束之后都能將亂序中的最大數放到亂序數列的最右邊。(1)用for循環對數組進行循環。(2)從左往右依次比較相鄰的兩個數,將較大者放到較小者的右邊,保證最右邊的數字大于左邊的所有數字。(3)繼續執行,依次將之后的較大數字放到較小數字的右邊,直到所有的數字都比自己左邊的數字大、比右邊的數字小。通過學習,學生能夠掌握Java流程控制語句中的選擇結構和循環結構語句在程序編寫中的具體用法。本節課主要運用案例教學法,通過對Java流程語句的深入理解,掌握Java選擇結構和循環結構的基本特點,深入探討Java的選擇結構和循環結構的使用方法,通過實例的方法加強對Java的選擇結構和循環結構的理解,達到能夠獨立熟練運用Java的選擇結構和循環結構流程語句來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質量為評價標準,形成任務驅動,小組協作,質量與速度并存的課堂評價方式,促進學生的自主、創新學習的方式。第4單元字符串課程名稱Java程序設計基礎教程(慕課版)項目名稱字符串任務名稱字符串課時6項目性質□演示性□驗證性□設計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用字符串常用API解決問題的能力2.具備使用StringBuffer類操作字符串的能力3.具備使用數組常用API解決問題的能力知識目標:1.掌握String類及其常用API2.掌握StringBuffer類的應用3.掌握常用的JavaAPI素質目標:1.培養學生知識掌握和技能運用能力2.培養學生團結合作、互幫互助的能力;教學內容1.任務描述2.任務展示與實現(1)Random類隨機產生一個隨機數。(2)Scanner類接收用戶的輸入。(3)System類實現系統退出。3.教師講解本任務涉及的知識點4.任務小結教學重點1.字符串的分割、比較等操作2.數組的拷貝、隨機數的生成教學難點1.StringBuilder與StringBuffer的比較2.Random類與Math類生成隨機數教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設計基礎教程(慕課版)》董勇傅雷揚人民郵電出版社作業設計編寫一個猜數字游戲教學過程教學內容與過程(教學內容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】本章主要講解String類和常用的JavaAPI。首先講解String類及常用的String操作方法,并講解了不同類型的操作方法;然后講解StringBuffer和StringBuilder;最后講解JavaAPI中常用的幾個工具類,System、Random和Scanner類,同時簡單講解了Math類,【目的】使學生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解String類及常用的String操作方法Java核心的類庫中定義了String類用于字符串的常用操作。String類的常用方法很多,但可以總體歸為4類:字符串查詢操作、字符串修改操作、字符串分割操作以及字符串比較操作。講解StringBuffer和StringBuilderStringBuffer和StringBuilder的直接父類都是AbstractStringBuilder。它們唯一的區別就是,StringBuffer的每個方法上都多了一個synchronized關鍵字。StringBuffer是線程安全的,而StringBuilder則不是。在編寫程序的時候如果判定不需要考慮多線程環境,那么首選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("將字符串全部轉換成大寫-"+str.toUpperCase()+"-");

System.out.println("將字符串全部轉換成小寫-"+str.toLowerCase()+"-");

System.out.println("去除字符串前后的空格-"+str.trim()+"-");

System.out.println("拼接BVNS字符串-"+str.concat("BVNS")+"-"); }}2.數組拷貝publicclassArrayCopyDemo{ publicstaticvoidmain(String[]args){

String[]fromArr={"abc","bcd","cde","efg","fgh"};//源數組

String[]toArr1={"123","456"};//目標數組1

String[]toArr2=newString[9];//目標數組2

//從源數組中的第0個元素向目標數組2中復制3個元素,從索引位置1開始

System.arraycopy(fromArr,0,toArr2,1,3);

for(Stringstr:toArr2){

System.out.print(str+"");//打印輸出數組內的元素

}

System.out.println("\n*************************************");

//從源數組中的第0個元素向目標數組1中復制3個元素,從索引位置1開始

System.arraycopy(fromArr,0,toArr1,1,3);

for(Stringstr:toArr1){

System.out.print(str+"");//打印輸出數組內的元素

}

System.out.println("\n*************************************"); }}參考移動的活動,我們可以將其簡化成一個動手任務:猜數字游戲。系統隨機生成一個1~100的隨機數,玩家鍵入自己猜測的數字,如果猜中了,則提示玩家贏了,游戲結束,否則提示用戶猜測的數字是大了或者小了,讓玩家繼續猜,玩家有十次猜測機會。通過學習,學生能夠掌握String類和常用的JavaAPI在程序編寫中的具體用法。本節課主要運用案例教學法,通過對字符串深入理解,掌握String、StringBuffer、StringBuilder類的基本特點,深入探討String、StringBuffer、StringBuilder類的使用方法,通過實例的方法加強對String類和常用的JavaAPI的理解,達到能夠獨立熟練運用String類和常用的JavaAPI來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質量為評價標準,形成任務驅動,小組協作,質量與速度并存的課堂評價方式,促進學生的自主、創新學習的方式。第5單元面向對象課程名稱Java程序設計基礎教程(慕課版)項目名稱面向對象任務名稱面向對象課時6項目性質□演示性□驗證性□設計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用對象的封裝、繼承和多態解決問題的能力2.具備使用掌握抽象類和接口解決問題的能力3.具備使用掌握重寫和重載解決問題的能力知識目標:1.了解面向對象、類的概念和使用2.掌握封裝、繼承、多態的應用素質目標:1.培養學生知識掌握和技能運用能力2.培養學生團結合作、互幫互助的能力;教學內容1.任務描述2.任務展示與實現(1)定義1個抽象類(2)定義3個接口(3)定義1個對象,繼承抽象類并實現接口3.教師講解本任務涉及的知識點4.任務小結教學重點1.封裝、繼承、多態的應用教學難點1.接口的使用2.重寫與重載的區別教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設計基礎教程(慕課版)》董勇傅雷揚人民郵電出版社作業設計抽象MapReduce框架

教學過程教學內容與過程(教學內容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】本章主要講解面向對象的知識。首先介紹了Java中包和訪問修飾符的概念,之后介紹了類的概念。接著介紹了封裝、繼承和多態的概念。封裝包含兩個層面,屬性的封裝和方法的封裝(類也是一種形式的封裝),屬性的封裝是讓屬性隱藏起來,只能通過特定方式獲取和修改,方法的封裝則是將方法的實現隱藏起來,將方法名稱暴露出去。一個對象可以是多種類型就是多態。本章還介紹了重寫和重載,重寫是覆蓋父類或實現接口中某個方法的方法體,但是方法簽名不變,重寫使用@Override注解注釋;重載是指可以定義多個重名方法,但這些重名方法的方法簽名是不同的,也就是說,傳入的參數類型或者個數是不相同的。【目的】使學生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解面向對象和類的概念包是Java提供的用于解決命名沖突的一種機制,其采用了屬性目錄的存儲方式,有效地解決了命名沖突的問題。在Java中有4種訪問修飾符:public、protected、private和default。類就是對對象的抽象,用于描述一組對象共同的屬性和行為。在Java中,類可以定義成員變量和成員方法,這些屬性就是用于描述對象的屬性,也就是對象的特征,方法則用于描述對象的行為。講解封裝、繼承、多態在面向對象編程中,封裝又叫隱藏實現。在面向對象中,如果對象有相同的屬性和行為,那么就歸為一類,當這種歸類還可以延伸時,則繼續分類,直到細化至需要的層級。這種層級關系就是繼承。在軟件工程中,接口泛指提供別人調用的方法或者函數,在Java中它是一個對行為的抽象的類。Java語言支持兩種形式的多態:運行時多態和編譯時多態。運行時多態是指Java中一種動態性的多態,通過覆蓋基類中相同方法簽名的形式來實現。編譯時多態是指Java中一種靜態性的多態,通過重載函數的形式來實現。重載可以實現本類內的方法多態性,重寫可以實現子類或實現類的多態性。案例:類的聲明//定義狼狗類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();

//編譯時多態

owd.print(12);

owd.print("1234");

owd.print("字符串1","字符串2"); }}Java有一個很重要的應用領域——大數據。對于大規模數據集的并行計算,其核心的編程模型就是MapReduce,本項目通過實現MapReduce中的部分功能,旨在讓學生更好地理解Java的基礎知識以及面向對象的思想,同時了解MapReduce的核心結構。基于面向對象的思想,編寫類和接口,抽象出MapReduce框架中的核心內容。通過學習,學生能夠掌握Java中包、訪問修飾符、類的概念,封裝、繼承和多態的概念的具體用法。本節課主要運用案例教學法,通過對面向對象深入理解,掌握封裝、繼承和多態的基本特點,深入探討封裝、繼承和多態的使用方法,通過實例的方法加強重載和重寫的理解,達到能夠獨立熟練運用封裝、繼承和多態來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質量為評價標準,形成任務驅動,小組協作,質量與速度并存的課堂評價方式,促進學生的自主、創新學習的方式。第6單元集合和數組課程名稱Java程序設計基礎教程(慕課版)項目名稱集合和數組任務名稱集合和數組課時8項目性質□演示性□驗證性□設計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用集合框架解決問題的能力2.具備使用數組解決問題的能力知識目標:了解Collection,Map集合,List鏈表,Set集合的概念和使用掌握集合遍歷的應用掌握數組的初始化與應用素質目標:1.培養學生知識掌握和技能運用能力2.培養學生團結合作、互幫互助的能力;教學內容1.任務描述2.任務展示與實現(1)通過操作鏈表實現鏈表的插入與刪除(2)通過Map保存玩家的牌(3)通過循環控制語句實現程序3.教師講解本任務涉及的知識點4.任務小結教學重點鏈表的操作與應用Iterator接口與增強型for循環教學難點1.HashMap及TreeMap的使用2.數組排序方法教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設計基礎教程(慕課版)》董勇傅雷揚人民郵電出版社作業設計編寫洗牌發牌程序編寫代碼實現數組排序

教學過程教學內容與過程(教學內容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】本章介紹了集合與數組。在集合中著重介紹Set集合、List集合和Map集合,其中Set是無序不重復的集合,List是可重復的有序鏈表,Map是key值不重復的散列表,這些數據類型封裝了實現算法,讓開發者無須知道算法就可以高效地使用這些數據類型。之后介紹數組,數組是一種快速隨機訪問的數據類型。【目的】使學生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解集合的概念集合框架則是為了表示和操作集合而規定的統一的標準的體系結構。集合框架包含三大部分:對外接口、接口實現和對集合運算的算法。Java提供了Collection的集合框架,在其內定義了很多抽象的數據類型,包括集(Set)、鏈表(List)、數組(Array)、樹(Tree)和散列表(HashTable)等,另外還有比較特殊的映射(Map)。講解集合的遍歷Colleciton的遍歷可以使用iterator()方法獲取一個實現了Iterator接口的可遍歷對象。如果是Map類型,則可以使用Map.Entry對象或者keySet()方法獲取一個Set類型的key集合,或者使用values()方法獲取一個Collection對象然后調用iterator()方法。講解數組的使用數組的存取是以數組中的一個元素為單位進行的,一個數組中擁有的元素的個數是該數組的長度。在Java中,數組也是對象,需要動態地生成,數組一般分為一維數組、二維數組和多維數組。案例:HashMap及TreeMap的使用publicclassTreeMap2HashMapDemo{ publicstaticvoidmain(String[]args){

//創建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);

//根據hashMap構建一個TreeMap

TreeMap<String,String>treeMap=newTreeMap<>(hashMap);

System.out.println("treeMap="+treeMap);

HashMap<String,String>hMap=newHashMap<>(treeMap);

System.out.println("hMap="+hMap); }}編寫一個自動發牌程序,模擬三人斗地主的摸牌場景。首先要給出提示,誰首先開始摸牌,并且摸牌要和現實摸牌一樣,三人循環摸牌,最后還要剩余三張底牌,同時給出地主牌,摸到地主牌的玩家擁有三張底牌,三張底牌三人都可以看到。當三張底牌派發給地主后提示玩家摸牌結束。對于一個給定的數組,如果通過冒泡排序的方式進行實現,那么對一些元素龐大的任務而言,無疑是一個災難,在猜數字的游戲中使用的中分法猜數字的方式能夠快速且準確地縮小數字的所屬范圍。如果使用這種方式來排序,效率也會相應地高很多。通過學習,學生能夠掌握Set集合、List集合、Map集合和數組的具體用法。本節課主要運用案例教學法,通過對集合和數組深入理解,掌握Set集合、List集合、Map集合和數組的基本特點,深入探討Set集合、List集合、Map集合和數組的使用方法,通過實例的方法加強集合的遍歷的理解,達到能夠獨立熟練運用Set集合、List集合、Map集合和數組來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質量為評價標準,形成任務驅動,小組協作,質量與速度并存的課堂評價方式,促進學生的自主、創新學習的方式。第7單元文件及流課程名稱Java程序設計基礎教程(慕課版)項目名稱文件及流任務名稱文件及流課時6項目性質□演示性□驗證性□設計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用File類解決問題的能力2.具備使用輸入輸出流解決問題的能力知識目標:了解File的常用API的概念和使用掌握字節流和字符流的應用素質目標:1.培養學生知識掌握和技能運用能力2.培養學生團結合作、互幫互助的能力;教學內容1.任務描述2.任務展示與實現(1)首先需要讀取控制臺的輸入內容,獲取用戶想要處理的下一個操作內容。(2)根據輸入的指令和輸入內容,進行相應的操作,例如創建文件、刪除文件等。(3)當輸入指定4時,需要讀取文件內容,判斷文件內容是否符合要求,如果內容符合要求,則循環執行文件內容。3.教師講解本任務涉及的知識點4.任務小結教學重點File的常用API字節流和字符流教學難點1.目錄文件遍歷的方法2.字節流和字符流的區別教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設計基礎教程(慕課版)》董勇傅雷揚人民郵電出版社作業設計編寫一個文件管理系統,通過控制臺的輸出內容進行文件操作

教學過程教學內容與過程(教學內容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】本章介紹文件和流。在Java中,文件的管理依靠File類,而文件的讀寫則依靠輸入輸出流來讀取。輸入輸出流是Java中非常重要的內容,其使用范圍比較廣泛,例如項目中配置文件的讀取、xml類型文件的讀取和OFFICE文件的讀取等,都是使用輸入輸出流進行的,Java的Web在實際應用中,也是依靠流的形式進行客戶端的瀏覽器界面與應用服務器的交互。【目的】使學生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解File類的使用文件有其固有屬性,如大小、創建時間、讀寫屬性等,同時還有創建與刪除的操作,這些在Java中都由File類來實現。為了方便開發者處理文件,File類提供了豐富的API供開發者使用。講解輸入輸出流的概念在計算機中,數據的傳輸一般使用的是二進制的數據流,流中的數據是按字節進行的,所有的數據流都可以使用字節流進行讀寫操作。BufferedReader和BufferedWriter這兩個對象可以對流進行按行讀取。講解數組的使用案例:文件的固有屬性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());

} }}編寫一個文件管理系統,通過控制臺的輸出內容進行文件操作:1-創建文件、2-刪除文件、3-復制文件和4-根據輸入文件名稱,讀取文件內容執行對應的指令。當用戶輸入1時,會讀取用戶的下一行輸入,會根據用戶的名稱和后續輸入創建一個文件并將輸入錄入文件;當用戶輸入2,則會檢索當前目錄下的文件,如果文件存在,則刪除該文件,否則,提示文件不存在;當用戶輸入3,則讀取用戶輸入的文件名稱并進行復制,默認是文件名稱加后綴“.copy”標注;當用戶輸入4,會查找當前目錄下的文件,如果文件存在,則執行文件的內容;當用戶輸入“exit”并在后續輸入“Y”則退出當前系統。通過學習,學生能夠掌握File類、字節流、字符流的具體用法。本節課主要運用案例教學法,通過對文件和流深入理解,掌握File類、字節流、字符流的基本特點,深入探討File類、字節流、字符流的使用方法,通過實例的方法加強File類和輸入輸出類的理解,達到能夠獨立熟練運用File類、字節流、字符流來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質量為評價標準,形成任務驅動,小組協作,質量與速度并存的課堂評價方式,促進學生的自主、創新學習的方式。第8單元日期和時間課程名稱Java程序設計基礎教程(慕課版)項目名稱日期和時間任務名稱日期和時間課時4項目性質□演示性□驗證性□設計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用Date類解決問題的能力2.具備使用Calendar類解決問題的能力知識目標:掌握Date類的應用掌握Calendar類的應用素質目標:1.培養學生知識掌握和技能運用能力2.培養學生團結合作、互幫互助的能力;教學內容1.任務描述2.任務展示與實現(1)將字符串類型的數據轉換成Calendar類型,并在計算結束后返回字符串類型的日期。(2)由日期計算星期數3.教師講解本任務涉及的知識點4.任務小結教學重點Date類的應用Calendar類的應用教學難點1.日歷類型的計算教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設計基礎教程(慕課版)》董勇傅雷揚人民郵電出版社作業設計編寫一個產品過期提醒的程序,能夠自動根據促銷要求在適當的時候進行促銷活動

教學過程教學內容與過程(教學內容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】本章著重講解了日期類Date和日歷類Calendar。日期類Date一般作為字符串類型的日期與日歷類Calendar的中間對象,日期類Date方便日期的存儲和計算。其中SimpleDateFormat是轉換字符串類型的日期和日期類型的操作類,該類支持多重格式的日期,例如2017-03-10和2017-03-1000:00:00類型等,在這兩個常用的格式之外,還有其他類型的格式,如yy-MM-dd、yy/MM/dd等。【目的】使學生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解Date類的使用Date類的無參構造方法是將當前系統毫秒值傳入進行初始化的,Date類還有一個根據傳入的毫秒值獲取日期對象的構造函數,無參構造方法就是將系統當前毫秒值作為毫秒值傳入該構造函數實現的。講解日歷類Calendar的使用Calendar類型是對日期的計算操作,其本身可以由Date類型來設置需要進行計算的原點時間,同時也能快速地轉換成Date類型的對象并輸出。因為編程語言大多以0為初始值,所以Calendar類中的一月份的數字值實際上是0。由于西方國家認為星期日是一個星期的開始,所以,SUNDAY對應的數字是1,而MONDAY對應的數字是2,其他以此類推。案例:當前時間與計算機元年publicclassComputerTimeDemo{publicstaticvoidmain(String[]args)throwsParseException{Dateday=newDate(0);//獲取時間原點longtime=System.currentTimeMillis();//獲取當前時間相較于時間原點的毫秒數Datedate=newDate(time);//獲取Date類型的對象,時間默認為當前時間//Date類型的該方法已經被廢棄,不建議使用,但為了演示方便,暫且使用System.out.println("當前時間:"+date.toLocaleString());System.out.println("計算機時間原點:"+day.toLocaleString());longbetween=date.getTime()-day.getTime();System.out.println("系統當前時間與計算機時間原點的毫秒值;"+between);System.out.println("當前時間與原點時間的差值與系統獲取的當前毫秒值的差值:"+(time-between));}}萬年歷publicclassMonthlyCalendarDemo{//每個星期的星期staticfinalString[]weekDays={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);//獲取從標準輸入中讀取數據的Scanner對象intcounter=0;System.out.println("請輸入年份:");intyear=scan.nextInt();System.out.println("請輸入月份:");intmonth=scan.nextInt()-1;//獲取月份//以指定的年份、月份和該月份的第一天作為開始創建對象GregorianCalendargCale=newGregorianCalendar(year,month,1);//獲取當前月份的總天數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();//換行}}}}編寫一個產品過期提醒的程序,能夠自動根據促銷要求在適當的時候進行促銷活動,并在產品過期前10天提醒產品即將過期。產品的過期時間由產品的生產日期及保質期來確定。程序需要正確地計算產品的到期日期,并且根據到期日期來執行促銷活動和過期提醒。通過學習,學生能夠掌握Date類和Calendar類的具體用法。本節課主要運用案例教學法,通過對Date類和Calendar類理解,掌握Date類和Calendar類的基本特點,深入探討Date類和Calendar類的使用方法,通過實例的方法加強Date類和Calendar類的理解,達到能夠獨立熟練運用Date類和Calendar類來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質量為評價標準,形成任務驅動,小組協作,質量與速度并存的課堂評價方式,促進學生的自主、創新學習的方式。第9單元反射、異常和枚舉課程名稱Java程序設計基礎教程(慕課版)項目名稱反射、異常和枚舉任務名稱反射、異常和枚舉課時6項目性質□演示性□驗證性□設計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用反射解決問題的能力2.具備使用異常解決問題的能力3.具備使用枚舉解決問題的能力知識目標:掌握反射的應用掌握異常和枚舉的應用素質目標:1.培養學生知識掌握和技能運用能力2.培養學生團結合作、互幫互助的能力;教學內容1.任務描述2.任務展示與實現(1)從源對象復制屬性到目標對象屬性中去,需要以目標對象屬性為準,源對象中的多余屬性不做考慮(2)目標對象屬性在源對象中不存在的,不進行復制(3)目標屬性類型與源目標屬性類型不一致的,也默認為屬性不存在,不進行考慮3.教師講解本任務涉及的知識點4.任務小結教學重點反射的應用異常的應用教學難點反射的應用異常捕獲順序教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設計基礎教程(慕課版)》董勇傅雷揚人民郵電出版社作業設計利用反射技術,獲取目標對象的域方法,獲取其setter方法的參數類型和域字段名稱,獲取源對象中的對應域字段的getter方法,判斷域的類型是否一致,如果一致,則進行值復制

教學過程教學內容與過程(教學內容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】本章主要介紹了反射、異常和枚舉3個知識點。反射,是通過類名找到類信息并對其進行處理的一種技術,這種技術的優點是可以在運行時去執行這些邏輯,簡化了代碼,方便了程序的開發,反射在目前流行的Spring框架中應用廣泛。Spring的對象管理就是通過反射實現的。異常是Java的一大開發利器,如果說垃圾回收機制讓開發者真正擺脫了內存泄露問題的話,那么異常則是讓開發者擺脫了通篇閱讀代碼找問題的無奈。Java的異常棧信息會打印出問題出現的代碼所在類和異常拋出的行數,同時也會提示開發者異常是因何產生的。這種完善的異常提醒機制讓問題的發現與解決更加高效。枚舉是Java中一個特殊的類型,它具有“小而美”的特點,枚舉的使用,讓代碼的閱讀更加容易;同時,通過使用枚舉也能避免一些因疏忽或者其他原因導致的小問題。【目的】使學生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解反射的使用反射(Reflection)是Java程序開發語言的特征之一,它允許Java在運行時添加新的類或是創建指定類的對象,并將屬性值動態地賦值給對象。講解異常的使用Java的異常處理是面向對象的,也就是可以將異常當作對象來處理。當程序運行過程中出現了異常情況時,一個異常就產生了并交給運行時系統,運行時系統通過尋找對應的代碼來處理這個異常,從而確保系統不會宕機或對操作系統造成損害。講解枚舉的使用枚舉的關鍵字是enum。該關鍵字可以將一組具有別名的值的有限集合創建成一種新的類型。案例: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類,專門用于兩個對象間相同屬性域的值的復制,一般用于業務對象和數據庫對象的轉換,其實現也是借助了反射技術。利用反射技術,獲取目標對象的域方法,獲取其setter方法的參數類型和域字段名稱,獲取源對象中的對應域字段的getter方法,判斷域的類型是否一致,如果一致,則進行值復制。通過學習,學生能夠掌握反射、異常和枚舉的具體用法。本節課主要運用案例教學法,通過對反射、異常和枚舉的理解,掌握反射、異常和枚舉的基本特點,深入探討反射、異常和枚舉的使用方法,通過實例的方法加強反射、異常和枚舉的理解,達到能夠獨立熟練運用反射、異常和枚舉來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質量為評價標準,形成任務驅動,小組協作,質量與速度并存的課堂評價方式,促進學生的自主、創新學習的方式。第10單元并發編程課程名稱Java程序設計基礎教程(慕課版)項目名稱并發編程任務名稱并發編程課時6項目性質□演示性□驗證性□設計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備創建線程的能力2.具備調度線程的能力3.具備使用多線程解決問題的能力知識目標:了解進程和線程的區別和聯系掌握線程的創建和調度方法掌握多線程的應用素質目標:1.培養學生知識掌握和技能運用能力2.培養學生團結合作、互幫互助的能力;教學內容1.任務描述2.任務展示與實現(1)需要處理的是文件夾,(2)如果當前文件夾下有子文件夾,則將子文件夾當作另一個任務,加入到處理任務鏈表中來(3)匯總所有任務的計算結果,即指定文件夾的總大小3.教師講解本任務涉及的知識點4.任務小結教學重點線程的創建線程的調度教學難點繼承Thread類同步與互斥教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設計基礎教程(慕課版)》董勇傅雷揚人民郵電出版社作業設計實現MapReduce的并發

教學過程教學內容與過程(教學內容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】本章講解了進程和線程的區別和聯系、線程的創建方式、線程的調度問題,梳理了線程的5種狀態:新建、就緒、阻塞以及運行狀態和死亡狀態,涉及線程的休眠、同步和死鎖等問題也都做了講解;并講解了線程池技術和帶有返回值的Callable對象和接收返回值的Future對象,對Future對象的isDone()方法和get()方法做了簡單介紹。【目的】使學生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解線程的創建方法線程的創建方式,一種是繼承Thread類,另一種是實現Runnable接口,繼承Thread類后可以直接調用start()方法啟動線程,而實現Runnable接口則需要使用Thread類進行包裝后方可調用start()方法。講解線程的調度方法梳理了線程的5種狀態:新建、就緒、阻塞以及運行狀態和死亡狀態,涉及線程的休眠、同步和死鎖等問題也都做了講解。講解多線程的使用Java中的線程池技術是運行場景最多的并發框架,幾乎所有需要異步或者并發執行任務的程序都可以使用線程池技術。合理使用線程池技術可以降低線程創建和銷毀造成的消耗,提高相應速度和提高線程的可管理性。Callable用法和Runnable類似,只不過調用的是call()方法,而不是run()方法,該方法有一個泛型返回值類型,可根據需要指定。案例:Thread實現多線程publicclassThreadDemo{publicstaticvoidmain(String[]args){for(inti=0;i<10;i++){//創建10個MyThread類的對象,并運行MyThreadthread=newMyThread();thread.start();}}}//繼承了Thread類的類classMyThreadextendsThread{@Overridepublicvoidrun(){//重寫父類的run方法for(inti=0;i<3;i++){//循環打印輸出信息System.out.println(Thread.currentThread().getName()+"-正在執行!");}}}計劃任務線程池publicclassSchedulePoolDemo{publicstaticvoidmain(String[]args){ScheduledExecutorServicees=Executors.newScheduledThreadPool(1);//創建一個計劃任務線程池,參數表示線程池的個數es.scheduleAtFixedRate(newRunnable(){@Overridepublicvoidrun(){System.out.println("每1秒執行一次:"+System.currentTimeMillis());}},2,1,TimeUnit.SECONDS);}}并發執行MapReduce框架中的Map任務和Reduce任務,Reduce任務必須等所有的Map任務都執行結束之后才開始,可以使用CountDownLatch實現線程間的同步。通過學習,學生能夠掌握進程和線程的區別和聯系、線程的創建方式、線程的調度問題以及多線程的相關用法。本節課主要運用案例教學法,通過對進程和線程的理解,掌握進程和線程的基本特點,深入探討進程和線程的使用方法,通過實例的方法加強進程和線程的理解,達到能夠獨立熟練運用進程和線程來解決實際問題的能力。教學評價方式以小組為單位,以完成案例的質量為評價標準,形成任務驅動,小組協作,質量與速度并存的課堂評價方式,促進學生的自主、創新學習的方式。第11單元網絡通信協議課程名稱Java程序設計基礎教程(慕課版)項目名稱網絡通信協議任務名稱網絡通信協議課時4項目性質□演示性□驗證性□設計性√綜合性授課班級授課日期授課地點教學目標能力目標:1.具備使用TCP通信解決問題的能力2.具備使用UDP通信解決問題的能力知識目標:掌握TCP通信的應用掌握UDP通信的應用素質目標:1.培養學生知識掌握和技能運用能力2.培養學生團結合作、互幫互助的能力;教學內容1.任務描述2.任務展示與實現(1)使用一個主線程進行數據的發送功能,另一個線程進行數據接收的功能。(2)客戶端需要將自己的監聽端口告訴服務端,同時服務端能夠存儲這些信息并向客戶端廣播消息3.教師講解本任務涉及的知識點4.任務小結教學重點TCP通信的應用UDP通信的應用教學難點TCP通信的應用UDP通信的應用教學準備1.裝有JDK、Eclipse的電腦2.教學課件PPT3.教材:《Java程序設計基礎教程(慕課版)》董勇傅雷揚人民郵電出版社作業設計模仿編寫一個聊天室,實現聊天室消息的發送和接收功能,并將接收的數據顯示出來

教學過程教學內容與過程(教學內容、教學方法、組織形式、教學手段)做好課前“5分鐘”教學管理(多媒體、實訓室),做好上課前的各項準備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計劃、教案等),吸引學生注意力。【課前說明】本章著重講解了Java中有關網絡編程的TCP通信和UDP通信。首先對TCP通信和UDP通信的概念進行了講解,同時對通信過程中使用到的IP地址和端口號等名詞進行了知識補充;然后著重講解了Java網絡編程的重點即TCP通信中的Socket通信,這是Java編程中機器進行通信的基礎;最后主要講解了UDP通信中的DatagramPacket和DatgramSocket類,并給出了使用案例,同時,模擬了網上聊天室,實現了一個簡單的聊天室。【目的】使學生從了解本單元的學習目標、學習重點、考評方式等方面明確學習本單元知識的要求和目標。講解網絡通信協議的概念TCP/IP協議(TransmissionControlProtocol/InternetProtocol)也叫做傳輸控制/網際協議,又叫做網絡通信協議。TCP/IP協議是英特網中使用的基本通信協議。UDP是UserDatagramProtocol的簡稱,全稱是用戶數據報協議,中文名是用戶數據報協議,是OSI(OpenSystemInterconnection,開放式系統互聯)參考模型中一種無連接的傳輸層協議,提供面向事務的簡單不可靠信息傳送服務。講解TCP通信當兩個程序想要通信的時候,可以使用Socket類建立套接字連接,呼叫的一方成為客戶機,接收的一方成為服務器,服務器使用的套接字是ServerSocket。Socket套接字和ServerSocket套接字使用的IP和端口號必須相同,端口號在服務器端

溫馨提示

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

評論

0/150

提交評論