《面向?qū)ο蟪绦蛟O(shè)計(jì)(實(shí)驗(yàn))》_第1頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)(實(shí)驗(yàn))》_第2頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)(實(shí)驗(yàn))》_第3頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)(實(shí)驗(yàn))》_第4頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)(實(shí)驗(yàn))》_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

課時授課計(jì)劃2016-2017學(xué)年第2學(xué)期第1周授課日期2月21日星期二月日星期月日星期月日星期月日星期班級網(wǎng)絡(luò)15-1基本課題環(huán)境配置及語言基礎(chǔ)(上機(jī)實(shí)驗(yàn))教學(xué)目的與要求:1.了解Java環(huán)境的安裝與配置過程。2.學(xué)習(xí)Java環(huán)境的使用方法。3.了解Java語言程序從編輯、編譯到運(yùn)行并得到運(yùn)行結(jié)果的過程。教學(xué)重點(diǎn):環(huán)境的配置及程序的運(yùn)行過程教學(xué)難點(diǎn):環(huán)境的配置及JAVA的語法結(jié)構(gòu)作業(yè)及參考書:《實(shí)用java程序設(shè)計(jì)教程》教具:實(shí)驗(yàn)用計(jì)算機(jī)等。課堂類型:課堂上機(jī)實(shí)驗(yàn)教學(xué)過程:(請見下頁)上機(jī)實(shí)驗(yàn)指導(dǎo)過程:一、上機(jī)實(shí)驗(yàn)任務(wù)安排:環(huán)境的配置第一個Applet和Application的編譯運(yùn)行過程(約5min)注意:已經(jīng)在先前課堂教學(xué)做了具體安排。二、上機(jī)實(shí)驗(yàn)教學(xué)進(jìn)程設(shè)計(jì):(具體指導(dǎo)過程)1.了解TC環(huán)境的組成。(約30min)JDK\\bin\\包括編譯器、解釋器和一些基本工具。JDK\\demo\\包括一些簡單的示例。JDK\\include\\是Win32子目錄,包括本地方法文件。JDK\\jre\\是Java程序運(yùn)行環(huán)境的根目錄。JDK\\jre\\bin包括平臺運(yùn)行時的工具和類庫的可執(zhí)行文件和動態(tài)鏈接庫文件。JDK\\jre\\lib包括Java運(yùn)行環(huán)境的代碼庫,默認(rèn)安裝文件等。JDK\\lib包括類庫文件。JDK\src.zip源代碼壓縮文件。2.環(huán)境的配置。設(shè)置環(huán)境變量:JAVA_HOME=C:\j2sdk1.4.2(安裝路徑)CLASSPATH=C:\j2sdk1.4.2\lib\dt.jar;C:\j2sdk1.4.2\bin;C:\j2sdk1.4.2\lib\tools.jar;.;PATH=C:\j2sdk1.4.2\bin;3.第一個應(yīng)用程序(約30min)publicclassTest//定義一個test類{publicstaticvoidmain(String[]args)//定義一個main()方法{System.out.println("hello");//屏幕的輸出信息System.out.println("javaworld");}}編譯運(yùn)行:>javacTest.java>javaTest第一個小應(yīng)用程序3.3第一個小應(yīng)用(約30min)importjava.awt.Graphics;importjava.applet.Applet;publicclassFirstAppletextendsApplet{publicvoidpaint(Graphicsg){g.drawString("IloveChina",70,70);g.drawRect(50,50,100,30);}}<HTML><HEAD><TITLE>my</TITLE></HEAD><BODY><appletcode="FirstApplet.class"width=300height=190></applet></BODY></HTML>編譯運(yùn)行:>javacFirstApplet.java>javaFirstApplet三、上機(jī)實(shí)驗(yàn)小結(jié):(約2min)1、jdk的安裝2、環(huán)境變量的設(shè)置3、第一個應(yīng)用程序和小應(yīng)用四、上機(jī)實(shí)驗(yàn)思考題與作業(yè):(約3min)Application和Applet的區(qū)別。

課時授課計(jì)劃2016-2017學(xué)年第2學(xué)期第2周授課日期月日星期月日星期月日星期月日星期月日星期班級基本課題Java基礎(chǔ)語法(上機(jī)實(shí)驗(yàn))教學(xué)目的與要求:1.掌握J(rèn)ava的基本語法格式2.在程序中靈活應(yīng)用Java的各種語句教學(xué)重點(diǎn):Java語句的靈活應(yīng)用教學(xué)難點(diǎn):Java語句的靈活應(yīng)用作業(yè)及參考書:《實(shí)用java程序設(shè)計(jì)教程》教具:實(shí)驗(yàn)用計(jì)算機(jī)等。課堂類型:課堂上機(jī)實(shí)驗(yàn)教學(xué)過程:(請見下頁)上機(jī)實(shí)驗(yàn)指導(dǎo)過程:一、上機(jī)實(shí)驗(yàn)任務(wù)安排:數(shù)組的定義數(shù)組的應(yīng)用(約5min)注意:已經(jīng)在先前課堂教學(xué)做了具體安排。二、上機(jī)實(shí)驗(yàn)教學(xué)進(jìn)程設(shè)計(jì):(具體指導(dǎo)過程)(約90min)表達(dá)式語句:表達(dá)式;空語句:只有分號,沒有內(nèi)容,不執(zhí)行任何操作,目的是增加程序的容錯性復(fù)合語句{[變量聲明或常量聲明];語句序列;}if語句if(布爾表達(dá)式)語句1;[else語句2;]5.switch(表達(dá)式){case常量表達(dá)式1:語句序列1;[break;]case常量表達(dá)式2:語句序列2;[break;][default:語句序列;]}6.do-while語句語法do{語句;}while(布爾表達(dá)式);while語句語法while(布爾表達(dá)式){語句;}8.for語句語法for(表達(dá)式1;表達(dá)式2;表達(dá)式3){語句;}實(shí)驗(yàn)內(nèi)容:將三個整數(shù)按從小到大的順序輸出顯示星期幾對應(yīng)的英文字符串三、上機(jī)實(shí)驗(yàn)小結(jié):(約2min)1、Java的基本語法格式2、在程序中靈活應(yīng)用Java的各種語句四、上機(jī)實(shí)驗(yàn)思考題與作業(yè):(約3min)見實(shí)驗(yàn)內(nèi)容

課時授課計(jì)劃2016-2017學(xué)年第2學(xué)期第3周授課日期月日星期月日星期月日星期月日星期月日星期班級基本課題數(shù)組的應(yīng)用(上機(jī)實(shí)驗(yàn))教學(xué)目的與要求:1.掌握數(shù)組定義的語法格式2.掌握數(shù)組的應(yīng)用方法。教學(xué)重點(diǎn):數(shù)組的應(yīng)用教學(xué)難點(diǎn):數(shù)組的綜合應(yīng)用作業(yè)及參考書:《實(shí)用java程序設(shè)計(jì)教程》教具:實(shí)驗(yàn)用計(jì)算機(jī)等。課堂類型:課堂上機(jī)實(shí)驗(yàn)教學(xué)過程:(請見下頁)上機(jī)實(shí)驗(yàn)指導(dǎo)過程:一、上機(jī)實(shí)驗(yàn)任務(wù)安排:數(shù)組的定義數(shù)組的應(yīng)用(約5min)注意:已經(jīng)在先前課堂教學(xué)做了具體安排。二、上機(jī)實(shí)驗(yàn)教學(xué)進(jìn)程設(shè)計(jì):(具體指導(dǎo)過程)(約90min)1、聲明一維數(shù)組變量數(shù)據(jù)類型[]數(shù)組或數(shù)據(jù)類型數(shù)組[]inta[];或int[]a;2、使用new為數(shù)組分配空間數(shù)組=new數(shù)據(jù)類型[長度]a=newint[5];inta[]=newint[5];3、數(shù)組元素的表示數(shù)組[下標(biāo)]注:下標(biāo)從零開始,直到數(shù)組長度-1a[0],a[1],a[2],a[3],a[4]4、數(shù)組元素的運(yùn)算a[i]=a[i-2]+a[i-1];//數(shù)組元素能夠參加運(yùn)算5、數(shù)組長度length數(shù)組.length6、數(shù)組聲明時賦初值charspring[]={'春','眠','不','覺','曉','處','處','聞','啼','鳥'};charspring[]=“夜來風(fēng)雨聲,花落知多少”;inta[]={1,2,3,4,5};相當(dāng)于inta[]=newint[5];for(inti=0;i<a.length;i++)a[i]=i+1;2.聲明和創(chuàng)建二維數(shù)組聲明typearrayName[][];type[][]arrayName;創(chuàng)建arrayName=newtype[arrayLength1][arrayLength2];實(shí)驗(yàn)內(nèi)容:用一維數(shù)組計(jì)算Fibonacci序列值構(gòu)造一個9行9列的乘法表。金額的中文大寫方式求解約瑟夫環(huán)問題三、上機(jī)實(shí)驗(yàn)小結(jié):(約2min)1、數(shù)組的定義2、數(shù)組的應(yīng)用四、上機(jī)實(shí)驗(yàn)思考題與作業(yè):(約3min)見實(shí)驗(yàn)內(nèi)容

課時授課計(jì)劃2016-2017學(xué)年第2學(xué)期第4周授課日期月日星期月日星期月日星期月日星期月日星期班級基本課題字符串的使用(上機(jī)實(shí)驗(yàn))教學(xué)目的與要求:1.掌握字符串的定義和使用。2.靈活應(yīng)用字符串的各種方法教學(xué)重點(diǎn):靈活應(yīng)用字符串的各種方法教學(xué)難點(diǎn):靈活應(yīng)用字符串的各種方法作業(yè)及參考書:《實(shí)用java程序設(shè)計(jì)教程》教具:實(shí)驗(yàn)用計(jì)算機(jī)等。課堂類型:課堂上機(jī)實(shí)驗(yàn)教學(xué)過程:(請見下頁)上機(jī)實(shí)驗(yàn)指導(dǎo)過程:一、上機(jī)實(shí)驗(yàn)任務(wù)安排:字符串的定義字符串方法的應(yīng)用(約5min)注意:已經(jīng)在先前課堂教學(xué)做了具體安排。二、上機(jī)實(shí)驗(yàn)教學(xué)進(jìn)程設(shè)計(jì):(具體指導(dǎo)過程)(約30min)1.String字符串的特點(diǎn)在程序中可以不用new運(yùn)算符,java編譯器也能從String類生成一個對象??梢园炎址麛?shù)組作為參數(shù)生成一個串??梢园炎址囊徊糠肿鳛閰?shù)。JDK1.1后還允許用字符串?dāng)?shù)組的方式來生成字符串對象。當(dāng)給定一個字節(jié)數(shù)組時,String類提供了初始化字符串的構(gòu)造方法。2.String類的構(gòu)造方法String();String(charchars[]);String(charchars[],intstartIndex,intnumChars);String(byteascii[],inthiByte);String(byteascii[],inthiByte,intstartIndex,intnumChars);3.toCharArray()方法:提取整個字符串放入字符數(shù)組arr[]使用此方法前要先建立字符數(shù)組arr[]chararr[]="TheraininNanjing".toCharArray();for(inti=0;i<arr.length;i++)System.out.print(arr[i]);System.out.println();4.取子串的方法publicStringsubString(intbeginIndex);publicStringsubString(intbeginIndex,intendIndex);

用來得到字符串中指定范圍內(nèi)的子串。5.其他方法Stringstr="abc";intn=str.length(); //n獲得str的長度charch=str.charAt(0);//ch獲得str的第1個字符'a'6.可變字符串:StringBuffer類的構(gòu)造方法StringBuffer();StringBuffer(intlength);StringBuffer(Stringstr);實(shí)驗(yàn)內(nèi)容1:實(shí)現(xiàn)一種插入排序算法。(約60min)實(shí)驗(yàn)內(nèi)容2:在排好序的字符串?dāng)?shù)組中查找指定字符串。實(shí)驗(yàn)內(nèi)容3:判斷回文字符串。三、上機(jī)實(shí)驗(yàn)小結(jié):(約2min)1、字符串的定義2、字符串方法的應(yīng)用四、上機(jī)實(shí)驗(yàn)思考題與作業(yè):(約3min)見實(shí)驗(yàn)內(nèi)容

課時授課計(jì)劃2016-2017學(xué)年第2學(xué)期第5周授課日期月日星期月日星期月日星期月日星期月日星期班級基本課題類和對象的定義(上機(jī)實(shí)驗(yàn))教學(xué)目的與要求:1.掌握類的定義及使用方法。2.掌握對象的定義及使用方法。教學(xué)重點(diǎn):類和對象的關(guān)系及使用教學(xué)難點(diǎn):類和對象的關(guān)系及使用作業(yè)及參考書:《實(shí)用java程序設(shè)計(jì)教程》教具:實(shí)驗(yàn)用計(jì)算機(jī)等。課堂類型:課堂上機(jī)實(shí)驗(yàn)教學(xué)過程:(請見下頁)上機(jī)實(shí)驗(yàn)指導(dǎo)過程:一、上機(jī)實(shí)驗(yàn)任務(wù)安排:類和對象的定義及使用數(shù)組的定義及綜合應(yīng)用(約5min)注意:已經(jīng)在先前課堂教學(xué)做了具體安排。二、上機(jī)實(shí)驗(yàn)教學(xué)進(jìn)程設(shè)計(jì):(具體指導(dǎo)過程)(約30min)1.類的定義[修飾符]class類名[extends父類名][implements接口名]{[聲明成員變量];[聲明方法;]}注:在Java中,有許多類都是從Java系統(tǒng)提供的java.lang包中的Object類派生出來的,這樣派生的類一般不在從屬性中指出父類的名字,我們稱為這些類的父類被隱藏。2.類定義的規(guī)則類的成員變量定義必須放在類體中,但又不能包含在某個方法中。類屬性:指出該類的父類(superclass);指出該類提供的接口(interface);指出該類的特性。3.成員變量與局部變量成員變量和局部變量的類型可以是任何一種java類型,可以是基本類型,也可以是引用類型。成員變量在整個類內(nèi)都有效,而局部變量只在定義它的方法內(nèi)有效。成員變量又分為實(shí)例變量和類成員變量。如果局部變量的名字與成員變量的名字相同,則成員變量被隱藏。如果要引用這個開始定義的成員變量就必須使用關(guān)鍵字this。4.對象生成(約30min)對象聲明實(shí)例化初始化5.對象定義格式type對象名=newtype([參數(shù)列表]);6.方法定義格式[修飾符]返回類型方法名([參數(shù)列表]){[局部變量列表;][語句塊;]}7.構(gòu)造方法定義格式public類名([參數(shù)列表]){[語句;]}實(shí)驗(yàn)內(nèi)容求梯形的面積,修改高后重新計(jì)算梯形的面積。計(jì)算圓錐的體積,要求定義兩個類圓和圓錐:(1)計(jì)算圓錐的體積;(2)修改底圓半徑后重新計(jì)算圓錐的體積。三、上機(jī)實(shí)驗(yàn)小結(jié):(約2min)1、類的定義2、對象的定義及使用3、數(shù)組的定義和使用四、上機(jī)實(shí)驗(yàn)思考題與作業(yè):(約3min)見實(shí)驗(yàn)內(nèi)容

課時授課計(jì)劃2016-2017學(xué)年第2學(xué)期第6周授課日期月日星期月日星期月日星期月日星期月日星期班級基本課題類的繼承、多態(tài)(上機(jī)實(shí)驗(yàn))教學(xué)目的與要求:1.掌握類的繼承原則并學(xué)會應(yīng)用。2.掌握類的多態(tài)性。教學(xué)重點(diǎn):繼承特性方法重寫與重載教學(xué)難點(diǎn):繼承和多態(tài)在程序中的應(yīng)用作業(yè)及參考書:《實(shí)用java程序設(shè)計(jì)教程》教具:實(shí)驗(yàn)用計(jì)算機(jī)等。課堂類型:課堂上機(jī)實(shí)驗(yàn)教學(xué)過程:(請見下頁)上機(jī)實(shí)驗(yàn)指導(dǎo)過程:一、上機(jī)實(shí)驗(yàn)任務(wù)安排:類的繼承類的多態(tài)(約5min)注意:已經(jīng)在先前課堂教學(xué)做了具體安排。二、上機(jī)實(shí)驗(yàn)教學(xué)進(jìn)程設(shè)計(jì):(具體指導(dǎo)過程)(約30min)1.繼承原則子類繼承父類的成員變量,包括實(shí)例成員變量和類成員變量。子類繼承父類除構(gòu)造方法以外的成員方法,包括實(shí)例成員方法和類成員方法。子類不能繼承父類的構(gòu)造方法。因?yàn)楦割悩?gòu)造方法創(chuàng)建的是父類對象,子類必須聲明自己的構(gòu)造方法,創(chuàng)建子類自己的對象。子類能夠繼承父類的析構(gòu)方法。子類不能刪除父類成員。子類可以增加自己的成員變量和成員方法。子類可以重定義父類成員。聲明繼承的類[修飾符]class類[extends父類][implements接口列表]例:publicclassStudent1extendsPerson1{Stringspeciality; //專業(yè)}3.類的賦值相容性(1)子類對象即是父類對象,反之不然。Person1p1=newPerson1(“李小明”,21);Student1s1=newStudent1(“王大偉”,19);p1instanceofPerson1//trues1instanceofPerson1//truep1instanceofStudent1//false(2)父類對象能夠被賦值為子類對象:Person1p1=newStudent1();//賦值相容性Student1s1=newPerson1();//賦值不相容性子類對象對父類成員的訪問權(quán)限子類對父類的私有成員(private)沒有訪問權(quán)限;子類對父類的公有成員(public)和保護(hù)成員(protected)具有訪問權(quán)限。子類對父類中缺省權(quán)限成員的訪問分兩種情況,對同一包中父類的缺省權(quán)限成員具有訪問權(quán)限,而對不同包中父類的缺省權(quán)限成員則沒有訪問權(quán)限。5.方法的重載重載(overload)是指同一個類中的多個方法可以同名但參數(shù)列表必須不同。6.方法的覆蓋覆蓋(override)是指子類聲明并實(shí)現(xiàn)父類中的同名方法并且參數(shù)列表也完全相同。編譯時多態(tài)性Person1p1=newPerson1("李小明",21); //對象獲得本類的實(shí)例,對象與其獲得的實(shí)例類型一致Student2s1=newStudent2("王大偉",19);p1.print();//編譯時多態(tài)性,執(zhí)行Person1類的方法s1.print();//編譯時多態(tài)性,執(zhí)行Student2類覆蓋的方法運(yùn)行時多態(tài)性Person1p2=newStudent2(); //p2獲得子類對象,對象與其獲得的實(shí)例類型不一致p2.print(); //運(yùn)行時多態(tài),執(zhí)行Student2類覆蓋的方法實(shí)驗(yàn)內(nèi)容3:編程實(shí)現(xiàn)面的要求:(約60min)定義一個圖形的抽象類,其中包含求面積的抽象方法定義圖形的子類:梯形和圓定義子類的構(gòu)造方法在子類中實(shí)現(xiàn)求面積方法的細(xì)節(jié)三、上機(jī)實(shí)驗(yàn)小結(jié):(約2min)1、字符串的定義2、子類、繼承的概念3、方法重寫與方法重載四、上機(jī)實(shí)驗(yàn)思考題與作業(yè):(約3min)見實(shí)驗(yàn)內(nèi)容

課時授課計(jì)劃2016-2017學(xué)年第2學(xué)期第7周授課日期月日星期月日星期月日星期月日星期月日星期班級基本課題接口的設(shè)計(jì)與應(yīng)用(上機(jī)實(shí)驗(yàn))教學(xué)目的與要求:1.掌握接口的定義。2.接口的應(yīng)用教學(xué)重點(diǎn):接口的定義與應(yīng)用教學(xué)難點(diǎn):學(xué)會定義接口并在程序中熟練應(yīng)用接口作業(yè)及參考書:《實(shí)用java程序設(shè)計(jì)教程》教具:實(shí)驗(yàn)用計(jì)算機(jī)等。課堂類型:課堂上機(jī)實(shí)驗(yàn)教學(xué)過程:(請見下頁)上機(jī)實(shí)驗(yàn)指導(dǎo)過程:一、上機(jī)實(shí)驗(yàn)任務(wù)安排:接口的定義接口的應(yīng)用(約5min)注意:已經(jīng)在先前課堂教學(xué)做了具體安排。二、上機(jī)實(shí)驗(yàn)教學(xué)進(jìn)程設(shè)計(jì):(具體指導(dǎo)過程)(約20min)1.接口單元:用interface來定義,不是用class用接口可以使得處于不同層次甚至不相關(guān)的類具有相同的行為接口中定義的變量全是最終的靜態(tài)變量接口中沒有自身的構(gòu)造方法,而且定義的其他方法全部是抽象方法接口重在對象的交互界面,而不需要了解對象所對應(yīng)的類接口間接實(shí)現(xiàn)了多重繼承,擴(kuò)大了應(yīng)用范圍。2.聲明接口[public]interface接口[extends父接口]{[public][static][final]數(shù)據(jù)類型成員變量=常量值;[public][abstract]返回值類型成員方法[(參數(shù)列表)];}例如,publicinterfacePlane1 //平面圖形接口{publicabstractdoublearea(); //計(jì)算面積}接口聲明中的方法全部都是抽象的,這些方法要靠使用接口的類去實(shí)現(xiàn)[修飾符]class類[extends父類][implements接口列表]例如:publicclassRectangle2implementsPlaneGraphics24.接口的作用接口提供方法聲明與方法實(shí)現(xiàn)相分離的機(jī)制,使多個類之間表現(xiàn)出共同的行為能力。接口中聲明的抽象方法約定了多個類共用的方法聲明,每個實(shí)現(xiàn)接口的類可以根據(jù)自身的實(shí)際情況,給出抽象方法的具體實(shí)現(xiàn),顯然不同的類可以有不同的方法實(shí)現(xiàn)。實(shí)驗(yàn)內(nèi)容:(約70min)圖形接口與實(shí)現(xiàn)圖形接口的類。長方體類繼承長方形類并實(shí)現(xiàn)立體圖形接口。設(shè)計(jì)圓柱體類和圓椎體類三、上機(jī)實(shí)驗(yàn)小結(jié):(約2min)1、接口的定義和使用2、例外處理結(jié)構(gòu)和方法四、上機(jī)實(shí)驗(yàn)思考題與作業(yè):(約3min)見實(shí)驗(yàn)內(nèi)容

課時授課計(jì)劃2016-2017學(xué)年第2學(xué)期第8周授課日期月日星期月日星期月日星期月日星期月日星期班級基本課題異常處理(上機(jī)實(shí)驗(yàn))教學(xué)目的與要求:1.掌握異常處理的機(jī)制。2.掌握try-catch-finally結(jié)構(gòu)的使用。3.能夠靈活應(yīng)用異常處理的方法。教學(xué)重點(diǎn):try-catch-finally結(jié)構(gòu)的使用教學(xué)難點(diǎn):掌握并靈活應(yīng)用異常處理的方法作業(yè)及參考書:《實(shí)用java程序設(shè)計(jì)教程》教具:實(shí)驗(yàn)用計(jì)算機(jī)等。課堂類型:課堂上機(jī)實(shí)驗(yàn)教學(xué)過程:(請見下頁)上機(jī)實(shí)驗(yàn)指導(dǎo)過程:一、上機(jī)實(shí)驗(yàn)任務(wù)安排:異常機(jī)制的原理異常的結(jié)構(gòu)異常的綜合應(yīng)用(約5min)注意:已經(jīng)在先前課堂教學(xué)做了具體安排。二、上機(jī)實(shí)驗(yàn)教學(xué)進(jìn)程設(shè)計(jì):(具體指導(dǎo)過程)1.例外處理機(jī)制(約30min)所有的例外收集起來,放在程序的某一段中處理;設(shè)置調(diào)用棧,裝有所有的例外處理方法的指針;比較例外與處理指針的內(nèi)容;目的:程序在出現(xiàn)任何例外的情況下仍然按計(jì)劃執(zhí)行。2.C語言與java語言的例外處理方式的比較。C語言處理方法:if(布爾表達(dá)式1){語句;}elseif(布爾表達(dá)式2){語句;}elseif(布爾表達(dá)式3){語句;}java的例外處理方法:throw拋出一個例外對象;catch捕獲這個例外對象,并進(jìn)行處理;若找不到例外處理代碼,則由java缺省的例外處理程序來處理。3.try-catch-finally結(jié)構(gòu)try{statements;}catch(Throwable-subclasse){statements;}finally{statements;}4.throw和throws語句的定義(約30min)throws語句:如果在一個方法中生成了一個例外,但是這一方法并不確切地知道該如何對這一異常事件進(jìn)行處理,這時,一個方法就應(yīng)該聲明拋棄例外,使得例外對象可以從調(diào)用棧向后傳播,直到有合適的方法捕獲它為止。定義格式:返回類型方法名([參數(shù)列表])throws例外列表throw語句:拋出例外就是產(chǎn)生例外對象的過程,首先要生成例外對象,例外或者由虛擬機(jī)生成,或者由某些類的實(shí)例生成,也可以在程序中生成。在方法中,拋出例外對象是通過throw語句實(shí)現(xiàn)的。5.例外方法getMessage():獲得細(xì)節(jié)信息;getLocalizedMessage():同上,但所得的消息根據(jù)特定語系調(diào)整過來;toString():返回一個由特定異常類名和錯誤信息組成的字符串;printStackTrace():顯示將異常引至標(biāo)準(zhǔn)錯誤流的方法調(diào)用序列。6.使用例外類的建議對于運(yùn)行時例外,如果不能預(yù)測它何時發(fā)生,程序可以不作處理,而是讓java虛擬機(jī)去處理。在自定義例外類時,如果它所對應(yīng)的例外事件通常是在運(yùn)行時產(chǎn)生的,可以把它定義為運(yùn)行時例外,否則定義為非運(yùn)行時例外。如果在程序中可以預(yù)知運(yùn)行時例外可能發(fā)生的時間和地點(diǎn),則應(yīng)該在程序中進(jìn)行處理,而不是簡單地把它交給Java運(yùn)行時系統(tǒng)。實(shí)驗(yàn)內(nèi)容:為例3.3的Date2類定義一個異常類,當(dāng)set()方法的3個整型參數(shù)不能構(gòu)成一個合法日期值時,拋出異常;Date2類中的其他方法將捕獲并處理該異常。設(shè)計(jì)自己的例外類,并編程實(shí)現(xiàn)。三、上機(jī)實(shí)驗(yàn)小結(jié):(約2min)1、接口的定義和使用2、例外處理結(jié)構(gòu)和方法四、上機(jī)實(shí)驗(yàn)思考題與作業(yè):(約3min)見實(shí)驗(yàn)內(nèi)容

課時授課計(jì)劃2016-2017學(xué)年第2學(xué)期第9周授課日期月日星期月日星期月日星期月日星期月日星期班級基本課題對話框設(shè)計(jì)(上機(jī)實(shí)驗(yàn))教學(xué)目的與要求:1.掌握用戶界面的設(shè)計(jì)2.掌握組件的使用和布局管理的設(shè)計(jì)。3.學(xué)會使用對話框。教學(xué)重點(diǎn):組件和布局管理對話框的設(shè)計(jì)與使用教學(xué)難點(diǎn):學(xué)會設(shè)計(jì)自己的GUI程序作業(yè)及參考書:《實(shí)用java程序設(shè)計(jì)教程》教具:實(shí)驗(yàn)用計(jì)算機(jī)等。課堂類型:課堂上機(jī)實(shí)驗(yàn)教學(xué)過程:(請見下頁)上機(jī)實(shí)驗(yàn)指導(dǎo)過程:一、上機(jī)實(shí)驗(yàn)任務(wù)安排:組件和布局管理的使用。對話框的使用(約5min)注意:已經(jīng)在先前課堂教學(xué)做了具體安排。二、上機(jī)實(shí)驗(yàn)教學(xué)進(jìn)程設(shè)計(jì):(具體指導(dǎo)過程)實(shí)驗(yàn)內(nèi)容:(約30min)練習(xí)1:在文本框中輸入數(shù)據(jù),若輸入數(shù)值型數(shù)據(jù),求平方;否則顯示警告對話框importjava.awt.event.*;importjava.awt.*;importjavax.swing.JOptionPane;classDwindowextendsFrameimplementsActionListener{ TextFieldinputNumber; TextAreashow; Dwindow(Strings){//組件生成和布局設(shè)置 super(s); inputNumber=newTextField(22);inputNumber.addActionListener(this); show=newTextArea(); add(inputNumber,BorderLayout.NORTH); add(show,BorderLayout.CENTER); setBounds(60,60,300,300);setVisible(true); validate(); publicvoidactionPerformed(ActionEvente){//動作執(zhí)行 booleanboo=false; if(e.getSource()==inputNumber){ Strings=inputNumber.getText(); chara[]=s.toCharArray(); for(inti=0;i<a.length;i++){ if(!(Character.isDigit((a[i])))) boo=true; } if(boo==true){JOptionPane.showMessageDialog(this,"您輸入了非法字符","警告對話框",JOptionPane.WARNING_MESSAGE); inputNumber.setText(null); } elseif(boo==false){ intnumber=Integer.parseInt(s); show.append("\n"+number+"平方"+(number*number)); } } }}練習(xí)2:(約30min)在文本框中輸入數(shù)據(jù),在保存前通過確認(rèn)對話框確認(rèn)輸入是否正確若輸入無誤,則保存到文本區(qū)中publicvoidactionPerformed(ActionEvente){ Strings=inputNumber.getText(); intn=JOptionPane.showConfirmDialog(this,"確認(rèn)正確嗎","確認(rèn)對話框",JOptionPane.YES_NO_OPTION); if(n==JOptionPane.YES_OPTION){ show.append("\n"+s); } elseif(n==JOptionPane.NO_OPTION){inputNumber.setText(null); } }練習(xí)3:(約30min)點(diǎn)擊按鈕,彈出顏色對話框,根據(jù)所選的顏色改變按鈕的色彩publicvoidactionPerformed(ActionEvente){ColornewColor=JColorChooser.showDialog(this,"調(diào)色板",button.getBackground());button.setBackground(newColor);}三、上機(jī)實(shí)驗(yàn)小結(jié):(約2min)組件和布局管理的使用。對話框的使用四、上機(jī)實(shí)驗(yàn)思考題與作業(yè):(約3min)見實(shí)驗(yàn)內(nèi)容

課時授課計(jì)劃2016-2017學(xué)年第2學(xué)期第10周授課日期月日星期月日星期月日星期月日星期月日星期班級基本課題線程的使用(上機(jī)實(shí)驗(yàn))教學(xué)目的與要求:1.掌握線程的概念、聲明方法和線程的創(chuàng)建2.掌握線程狀態(tài)轉(zhuǎn)換的方法3.學(xué)會使用多線程完成動畫效果教學(xué)重點(diǎn):線程的概念、聲明方法和線程的創(chuàng)建線程狀態(tài)轉(zhuǎn)換的方法教學(xué)難點(diǎn):學(xué)會使用多線程完成動畫效果作業(yè)及參考書:《實(shí)用java程序設(shè)計(jì)教程》教具:實(shí)驗(yàn)用計(jì)算機(jī)等。課堂類型:課堂上機(jī)實(shí)驗(yàn)教學(xué)過程:(請見下頁)上機(jī)實(shí)驗(yàn)指導(dǎo)過程:一、上機(jī)實(shí)驗(yàn)任務(wù)安排:線程的聲明和創(chuàng)建線程轉(zhuǎn)換方法(約5min)注意:已經(jīng)在先前課堂教學(xué)做了具體安排。二、上機(jī)實(shí)驗(yàn)教學(xué)進(jìn)程設(shè)計(jì):(具體指導(dǎo)過程)實(shí)驗(yàn)內(nèi)容:(約30min)練習(xí)1:建立一個按鈕,按鈕不斷變大classMywinextendsFrameimplementsRunnable{ Buttonb=newButton("ok");intx=5; Threadbird; Mywin(){ bird=newThread(this);//創(chuàng)建一個新的線程,窗口作為目標(biāo)對象 bird.start(); } publicvoidrun(){ while(true){ x=x+1; if(x>100)x=5; b.setBounds(40,40,x,x); try{bird.sleep(200); } catch(InterruptedExceptione){} } }}練習(xí)2:(約30min)滾動字幕publicclassGundongextendsAppletimplementsActionListener,Runnable{ publicvoidstart(){ boo=false; try{ Scrollwords.start(); } catch(Exceptione){} } publicvoidrun(){ while(true){ x=x+5; if(x>600)x=0; repaint(); try{ Scrollwords.sleep(80); } catch(InterruptedExceptione){} if(boo){return;} } } }}練習(xí)3:(約30min)找零class售票員{ int五元錢的個數(shù)=2,二十元錢的個數(shù)=0;Strings=null; publicsynchronizedvoid售票規(guī)則(intmoney){ if(money==5){ 五元錢的個數(shù)=五元錢的個數(shù)+1; s="給您入場券您的錢正好"; Change.text.append("\n"+s); } elseif(money==20){ while(五元錢的個數(shù)<3){ try{wait(); }catch(InterruptedExceptione){} } 五元錢的個數(shù)=五元錢的個數(shù)-3; 二十元錢的個數(shù)=二十元錢的個數(shù)+1; s="給您入場券您給我20,找您15元"; Change.text.append("\n"+s); } notifyAll(); }}三、上機(jī)實(shí)驗(yàn)小結(jié):(約2min)1、線程的聲明和創(chuàng)建2、線程轉(zhuǎn)換方法四、上機(jī)實(shí)驗(yàn)思考題與作業(yè):(約3min)見實(shí)驗(yàn)內(nèi)容

課時授課計(jì)劃2016-2017學(xué)年第2學(xué)期第11周授課日期月日星期月日星期月日星期月日星期月日星期班級基本課題輸入輸出流(上機(jī)實(shí)驗(yàn))教學(xué)目的與要求:1.了解流的概念。2.掌握各種流的方法。教學(xué)重點(diǎn):各種流的方法的應(yīng)用教學(xué)難點(diǎn):各種流的方法的應(yīng)用作業(yè)及參考書:《實(shí)用java程序設(shè)計(jì)教程》教具:實(shí)驗(yàn)用計(jì)算機(jī)等。課堂類型:課堂上機(jī)實(shí)驗(yàn)教學(xué)過程:(請見下頁)上機(jī)實(shí)驗(yàn)指導(dǎo)過程:一、上機(jī)實(shí)驗(yàn)任務(wù)安排:字節(jié)輸入輸出流的應(yīng)用(約5min)字符輸入輸出流的應(yīng)用注意:已經(jīng)在先前課堂教學(xué)做了具體安排。二、上機(jī)實(shí)驗(yàn)教學(xué)進(jìn)程設(shè)計(jì):(具體指導(dǎo)過程)1.FileInputStream構(gòu)造方法:(約45min)publicFileInputStream(\o"java.io中的類"File

file)throwsFileNotFoundException:通過打開一個到實(shí)際文件的連接來創(chuàng)建一個FileInputStream,該文件通過文件系統(tǒng)中的File對象file指定。publicFileInputStream(\o"java.lang中的類"String

name)throwsFileNotFoundException:通過打開一個到實(shí)際文件的連接來創(chuàng)建一個FileInputStream,該文件通過文件系統(tǒng)中的路徑名name指定。2.FileOutputStream構(gòu)造方法:publicFileOutputStream(\o"java.io中的類"File

file)throwsFileNotFoundException:創(chuàng)建一個向指定File對象表示的文件中寫入數(shù)據(jù)的文件輸出流。publicFileOutputStream(\o"java.io中的類"File

file,boolean

append)throwsFileNotFoundException:創(chuàng)建一個向指定File對象表示的文件中寫入數(shù)據(jù)的文件輸出流。append-如果為true,則將字節(jié)寫入文件末尾處,而不是寫入文件開始處publicFileOutputStream(\o"java.lang中的類"String

name)throwsFileNotFoundException:創(chuàng)建一個向具有指定名稱的文件中寫入數(shù)據(jù)的輸出文件流。publicFileOutputStream(\o"java.lang中的類"String

name,boolean

append)throwsFileNotFoundException:創(chuàng)建一個向具有指定name的文件中寫入數(shù)據(jù)的輸出文件流。實(shí)驗(yàn)內(nèi)容:使用字節(jié)流完成將一個文件拷貝到另一個文件中packagech09;importjava.io.*;classFileCopy{ publicstaticvoidmain(Stringargs[])throwsException{ FileInputStreaminput=newFileInputStream("d:/myjava.txt"); FileOutputStreamoutput=newFileOutputStream("d:/java.txt"); intsize=input.available(); System.out.println("可輸入字節(jié)數(shù)為"+size); for(inti=0;i<size;i++){ output.write(input.read()); } input.close(); output.close(); }}4.FileReader構(gòu)造方法有兩種形式:(約45min)FileReader(StringfilePath)FileReader(FilefileObjectName)拋出\o"java.io中的類"FileNotFoundException:如果指定文件不存在,或者它是一個目錄,而不是一個常規(guī)文件,抑或因?yàn)槠渌承┰蚨鵁o法打開進(jìn)行讀取。5.FileWriter構(gòu)造函數(shù)有三種形式:FileWriter(StringfilePath);FileWriter(FilefileObjectName)FileWriter(StringfilePath,booleanappend)FileWriter的創(chuàng)建不依賴于文件是否存在。如果試圖打開一個只讀文件,會引發(fā)一個IOException異常。實(shí)驗(yàn)內(nèi)容:使用字符流完成將一個文件拷貝到另一個文件中packagech09;importjava.io.*;classFileCopy1{ publicstaticvoidmain(Stringargs[])throwsException{ FileReaderfr=newFileReader("d:/java1.txt"); FileWriterfw=newFileWriter("d:/java2.txt"); intch=fr.read(); while(ch!=-1){ fw.write(ch); ch=fr.read(); } fr.close(); fw.close(); }}三、上機(jī)實(shí)驗(yàn)小結(jié):(約2min)1、字節(jié)流的方法及應(yīng)用2、字符流的方法及應(yīng)用四、上機(jī)實(shí)驗(yàn)思考題與作業(yè):(約3min)流的方向問題

課時授課計(jì)劃2016-2017學(xué)年第2學(xué)期第12周授課日期月日星期月日星期月日星期月日星期月日星期班級基本課題文件操作(上機(jī)實(shí)驗(yàn))教學(xué)目的與要求:1.了解文件的概念。2.掌握文件類中的方法。教學(xué)重點(diǎn):文件操作的方法及應(yīng)用教學(xué)難點(diǎn):靈活使用文件操作的相關(guān)方法作業(yè)及參考書:《實(shí)用java程序設(shè)計(jì)教程》教具:實(shí)驗(yàn)用計(jì)算機(jī)等。課堂類型:課堂上機(jī)實(shí)驗(yàn)教學(xué)過程:(請見下頁)上機(jī)實(shí)驗(yàn)指導(dǎo)過程:一、上機(jī)實(shí)驗(yàn)任務(wù)安排:文件操作的方法(約5min)文件操作方法的應(yīng)用注意:已經(jīng)在先前課堂教學(xué)做了具體安排。二、上機(jī)實(shí)驗(yàn)教學(xué)進(jìn)程設(shè)計(jì):(具體指導(dǎo)過程)1.File類常用方法:(約30min)canRead():可讀否?可讀返回true。canWrite():可寫否?可寫返回true。delete():刪除File類對象指向的文件,刪除成功返回true。exists():File對象存在嗎?存在返回true。getAbsolutePath():返回文件的絕對路徑,返回值為String類型。getName():得到文件的名稱,返回值為String。getParent():得到文件的父目錄名稱,返回值String。length():返回文件長度(字節(jié)數(shù)),返回值longisDirectory():是目錄嗎?是,返回true。isFile():是文件嗎?是,返回true。isHidden():是隱含文件嗎?是,返回true。lastModified():得到文件最后一次修改的時間,返回值是long,是從1970年午夜至文件最后一次修改時間為止相隔的毫秒數(shù)。renameTo(FilenewName):重命名文件。成功返回true。如果試圖對文件從一個目錄轉(zhuǎn)到另一個目錄,或使用了一個已經(jīng)存在的文件名則返回false。setReadOnly():是只讀文件嗎?返回boolean類型的值。booleanmkdir()創(chuàng)建一個新目錄booleancreateNewFile()創(chuàng)建一個新的空文件booleandelete()刪除一個空目錄或文件booleanrenameTo(File)目錄或文件改名實(shí)驗(yàn)內(nèi)容:1.創(chuàng)建一個“根目錄”九個子目錄,并在每個子目錄中創(chuàng)建一個空文件。(約60min)packageIO;importjava.io.*;publicclassCreateFile{ publicstaticvoidmain(Stringargs[]){ Fileroot=newFile("d:\\Myjava"); Filedir[]=newFile[9]; Filefile[]=newFile[9]; if(!root.exists()){ root.mkdir(); for(inti=0;i<9;i++){ dir[i]=newFile(root,"Dir"+String.valueOf(i)); dir[i].mkdir(); file[i]=newFile(dir[i],"file"+String.valueOf(i)+".txt"); try{ file[i].createNewFile(); }catch(IOExceptione){ e.printStackTrace(); } } } }}2.刪除上例建立的所有子目錄和文件,留下“根目錄”并改名。packageIO;importjava.io.*;publicclassDeleteFile{ publicstaticvoidmain(Stringargs[]){ Fileroot=newFile("d:\\Myjava"); Filedir[]=newFile[9]; Filefile[]=newFile[9]; for(inti=0;i<9;i++){ dir[i]=newFile(root,"Dir"+String.valueOf(i)); file[i]=newFile(dir[i],"file"+String.valueOf(i)+".txt"); file[i].delete(); dir[i].delete(); } Filer=newFile("d:\\java2"); root.renameTo(r); }}三、上機(jī)實(shí)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論