版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
..PAGE..word..-.-.可修編.西南財經(jīng)大學天府學院教案任課教師:賈硯池課程名稱:面向?qū)ο蟪绦蛟O(shè)計(Java)任課班級:13級??朴嬎銠C01班、13級??凭W(wǎng)絡(luò)01班、13級??栖浖?1班
授課時間:2021-2021-2學期西南財經(jīng)大學天府學院教務(wù)處制教案編號:1章節(jié)JavaSE程序設(shè)計與實踐的考核方式和Java簡介授課方式講授+討論+上機教學目的掌握本課程的考核方式、即將要學習的內(nèi)容以及相關(guān)的課堂紀律。了解課程整體目標。了解Java語言。了解Java程序的類型。理解Java虛擬機〔JVM〕。掌握Java程序運行環(huán)境的配置,能夠獨立完成。培養(yǎng)學生實際動手能力(自主安裝JDK以及配置環(huán)境變量)。培養(yǎng)學生自主解決問題的能力。教學重點環(huán)境變量的配置和編譯源文件以及Java程序打包。教學難點環(huán)境變量的配置和編譯源文件以及Java程序打包。時間分配教學過程Min105155101015253060考核方式(講授)考核分為兩局部:第一局部:平時,占60%;其中,考勤:10%;平時作業(yè)或工程:40%,包括2次大型的作業(yè)任務(wù),每次任務(wù)各占15%,2次及以上小型作業(yè)任務(wù),占10%。根據(jù)項完成的程度和質(zhì)量,由教師評分,未交者得零分;平時表現(xiàn)分:10%,包括課堂紀律、上課積極的參與討論、主動答復以下問題及上臺演示和講解程序的編寫、小組作業(yè)時候的團隊協(xié)作能力(由組長評分)。第二局部:期末工程,占40%;一次大型工程,由小組完成。曠課3次取消考試資格,遲到3次算一次曠課。每遲到一次扣1分,曠課一次扣5分,期末全勤可加2分。課堂內(nèi)看視頻、玩游戲,第一次扣5分,第二次扣10分,第三次扣20分,如果超過4次者,直接取消該科的考試資格。課堂紀律(講授)上課不準吃零食、嗑瓜子等。下課后帶走自己桌上的垃圾,讓課桌上保持整潔。下課后關(guān)電腦(主機和顯示器)。上課不準大聲喧嘩、玩手機、pad、睡覺等與學習無關(guān)的事情。教師信息及答疑時間設(shè)定(講授)學習小組的成立以及成員之間討論(討論)自由分組,每個組4-6人,并選定組長,然后為每個組安排好上機位置(小組成員必須坐在一起),以后就固定座位。小組討論:互相認識,加深了解,了解各自的興趣和長項。選取一個同學為小組長。探討學習本課程的方法,并由小組長向教師匯報本次討論的結(jié)果。Java語言簡介Java是一種程序設(shè)計語言,由SunMicrosystem公司于1995年推出;早在1991年,Sun公司的JamesGosling等人開場開發(fā)名為Oak的程序設(shè)計語言,希望用來控制嵌入在有線電視機頂盒和PDA等設(shè)備中的微處理器;1994年,Oak語言正式更名為Java;Java語言憑借其獨有的平安性、可移植性和平臺無關(guān)性,迅速走紅。Java可以做什么?(學生查詢資料)由學生自助通過各種方式查詢資料,然后教師隨機抽取1-3名同學答復。Java虛擬機(講授)Java虛擬機〔JavaVirtualMachine〕是可運行Java字節(jié)碼的虛擬計算機系統(tǒng)。使用Java語言編寫的程序,實際上是運行在JVM之上,而不是運行在操作系統(tǒng)上。它有一個解釋器組件,可以實現(xiàn)Java字節(jié)碼和計算機操作系統(tǒng)之間的通信。開發(fā)Java程序的步驟(講授)創(chuàng)立Java源程序Java源程序可以使用任何文本編輯器創(chuàng)立與編輯,一般用.java作為擴展名,其實就是一個使用Java語言編寫的文本文件;編譯源程序Java編譯器讀取Java源程序并翻譯成Java虛擬機能夠明白的指令集合,并以字節(jié)碼的形式保存在文件中,通常,字節(jié)碼文件以.class作為擴展名;運行class〔字節(jié)碼〕文件Java解釋器讀取字節(jié)碼文件,取出指令并翻譯成計算機能夠執(zhí)行的機器代碼,完成運行過程。編寫第一個Java程序(講授+演示)翻開記事本,新建一個文本文件,將文件名改為Hello.java,在文件中鍵入如下內(nèi)容并保存:classHello{publicstaticvoidmain(String[]args){System.out.println("Helloworld!");}}使用javac編譯器編譯源文件。.class〔字節(jié)碼〕文件。使用java解釋器運行字節(jié)碼文件。分析程序(討論+講授)分組討論,然后由每個組輪流發(fā)言;最后由教師總結(jié)。關(guān)鍵字class用來定義一個類,Hello是類的名稱;在Java程序中,所有的語句都必須放在某個類中;整個類及其所有成員都包含在一對花括號中〔即{和}之間〕,它們標志著類定義塊的開場和完畢。定義類的一般語法:class類名 { …… }程序必須從main函數(shù)開場執(zhí)行;關(guān)鍵字public是訪問修飾符,用來控制類成員的可見X圍及作用域;關(guān)鍵字static允許在不創(chuàng)立類的實例的情況下,調(diào)用main函數(shù);關(guān)鍵字void用來說明main函數(shù)是沒有返回值的;args是字符串數(shù)組,用來從命令行接收參數(shù);String[]是字符串類型的數(shù)組;在Java中,類名稱一般首字母大寫;使用System.out.println()將信息輸出到控制臺上,即打印出來。上機實驗安裝JDK。進展環(huán)境變量的配置。安裝Eclipse。熟悉Eclipse開發(fā)環(huán)境。作業(yè)布置編程輸出以下信息*********************************************歡送進入Java編程世界*********************************************課后預習Java語言根底(Java的根本數(shù)據(jù)類型、操作符、關(guān)鍵字、流程控制)。課后總結(jié)所有的同學都掌握了本門課程的考核方式。通過分組學習,同學之間有問題可以互相幫助,學生學習積極性很高,并且通過小組組長的匯報,一局部學習方法較好的同學的經(jīng)歷,得以在全班同學之間共同分享,效果很好。80%的同學都能夠獨立完成Java開發(fā)環(huán)境的搭建以及配置。由于前面有C語言的學習根底,70%以上同學對Java程序構(gòu)造的理解都不存在問題。整體來說,效果良好。教案編號:2章節(jié)Java語言根底流程控制—分支語句授課方式講授+學生實驗+討論教學目的掌握Java中的變量和數(shù)據(jù)類型。掌握Java中變量的作用域規(guī)那么。掌握數(shù)據(jù)類型轉(zhuǎn)換。掌握Java中的運算符和表達式。掌握選擇構(gòu)造的幾種實現(xiàn)方式;并能夠獨立的應(yīng)用它們來編寫程序。培養(yǎng)學生主動思考問題的能力。培養(yǎng)學生表達能力。培養(yǎng)學生實際動手操作能力。教學重點Java的根本數(shù)據(jù)類型、引用類型以及變量的作用域。分支語句。教學難點引用類型以及變量的作用域。分支語句。時間分配教學過程Min108090作業(yè)點評(學生闡述+教師總結(jié))方式:由出現(xiàn)程序問題的同學講出自己出現(xiàn)的問題以及解決方式,最后由教師總結(jié)。類名不規(guī)X、代碼排版不規(guī)X。public中的p出現(xiàn)大寫情況;static關(guān)鍵字喪失;main出現(xiàn)mian;String中的S未大寫;System中的s出現(xiàn)了小寫。printf以及println,print輸出格式混淆.{}不匹配或者喪失。抽查上周布置的課后作業(yè),抽查2-5個同學來闡述Java的根本數(shù)據(jù)類型、操作符、關(guān)鍵字。(學生闡述+教師講授)標識符命名規(guī)那么變量、函數(shù)、數(shù)組、對象、類和接口等等都需要命名,這些名稱統(tǒng)稱為標識符;Java中對于標識符的命名規(guī)那么作了如下限制:只能由英文字母、數(shù)字、下劃線“_〞和“$〞符號組成。必須以英文字母、“_〞或“$〞開頭,即不能以數(shù)字開頭。除“_〞和“$〞以外,不能包含其它任何特殊字符。不能與關(guān)鍵字沖突。嚴格區(qū)分大小寫。Java中的關(guān)鍵字:abstract、boolean、break、byte、case、catch、char、class、continue、do、double、else、enum、extends、false、find、finally、float、for、implements、import、instanceof、int、interface、long、native、new、null、package、private、protected、public、return、short、static、super、switch、synchronized、this、throw、throws、true、try、void、while數(shù)據(jù)類型變量的作用域和生命周期變量的作用域指變量起作用的X圍,說明變量在什么局部可以被訪問;變量的生命周期是指變量在內(nèi)存中存在的周期,即什么時候分配空間,什么時候銷毀;運算符和表達式算術(shù)運算符關(guān)系運算符邏輯運算符條件運算符賦值運算符選擇構(gòu)造if語句if…else語句if…elseif語句switch…case語句學生實驗(上機+教師指導)輸入一個“男〞或者“女〞,對應(yīng)輸出“M〞和“F〞。寫程序,假設(shè)星期一到星期五,那么打印出“工作快樂〞,假設(shè)星期六、星期天那么輸出“周末更快樂〞。輸入一個分數(shù),輸出對應(yīng)的等級:60以下E60-70D70-80C80-90B90–100A作業(yè)布置輸入三個數(shù)字,最后從小到大輸出排序。課后預習循環(huán)構(gòu)造的幾種語句以及數(shù)組的定義。課后總結(jié)通過學生自己對出現(xiàn)問題的總結(jié)和教師的總結(jié),80%以上的同學對常見問題的解決方法有了一個深刻的認識。通過三個上機程序,加深了對循環(huán)構(gòu)造的認識。但是依然有約20%的同學對if和switch的用法還不能掌握,需加強程序上機的編寫。教案編號:3章節(jié)流程控制—循環(huán)語句數(shù)組授課方式講授+上機教學目的掌握循環(huán)語句的使用。掌握數(shù)組的聲明以及運用。培養(yǎng)學生主動性和積極性。培養(yǎng)學生的邏輯思維能力。教學重點循環(huán)語句。數(shù)組、哈希表。教學難點循環(huán)語句。數(shù)組、哈希表。時間分配教學過程Min1060110作業(yè)點評(學生闡述+教師總結(jié))方式:由3-5個同學來講述上周作業(yè)的實現(xiàn)思路,最后由教師總結(jié)出現(xiàn)的一些問題。類名不規(guī)X運算符的運用局部算法的不科學性抽查上周布置的課后作業(yè),抽查1-3個同學來闡述循環(huán)構(gòu)造的幾種語句以及數(shù)組的聲明。(學生闡述+教師講授)循環(huán)語句Whileinti=0; while(i++<3)System.out.println(i);Do……while語句inti=1; do{System.out.println(i);}while(i++<3);For語句for(inti=1;i<=3;i++)System.out.println(i);流程控制語句break:從switch語句、循環(huán)語句或標號標識的代碼塊中退出。以下while循環(huán)用于把1加到100:inta=1,result=0;one:while(true){result+=a++;if(a==101)breakone;//終止循環(huán)}System.out.println(result);//打印5050continue:跳過本次循環(huán),執(zhí)行下一次循環(huán),或執(zhí)行標號標識的循環(huán)體。以下for循環(huán)用于對1到100之內(nèi)的奇數(shù)求和:intresult=0;for(inta=1;a<=100;a++){if(a%2==0)continue;//如果a是偶數(shù),就跳出本次循環(huán),繼續(xù)執(zhí)行下次循環(huán)elseresult+=a;}System.out.println(result);//打印2500討論:判斷下面程序執(zhí)行了多少次?classTest{publicstaticvoidmain(String[]args){ inti=0; while(i<10){ if(i<10){ i++;continue; } if(i==5){ break; } } System.out.println(i); }}Java中聲明數(shù)組的幾種方式//僅聲明數(shù)組的引用,但沒有分配內(nèi)存空間float[]fAry;//聲明數(shù)組的同時,根據(jù)指定的長度分配內(nèi)存,但數(shù)組中沒有值char[]chAry=newchar[10];//聲明數(shù)組并分配內(nèi)存,同時將其初始化int[]ary1=newint[]{1,2,3,4,5};//與前一種方式一樣,僅僅只是語法相對簡單int[]ary2={1,2,3,4,5};學生實驗(上機)【練習題一】編寫Java程序,計算100~999之間的全部“水仙花數(shù)〞的平均值。所謂“水仙花數(shù)〞是指一個三位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。例如:153=1^3+5^3+3^3,故153是水仙花數(shù)?!揪毩曨}二】編寫一個Java程序,要求在控制臺上打印出九九乘法表,效果應(yīng)如下所示:1*1=1,1*2=2,2*2=4,1*3=3,2*3=6,3*3=9,1*4=4,2*4=8,3*4=12,4*4=16,1*5=5,2*5=10,3*5=15,4*5=20,5*5=25,1*6=6,2*6=12,3*6=18,4*6=24,5*6=30,6*6=36,1*7=7,2*7=14,3*7=21,4*7=28,5*7=35,6*7=42,7*7=49,1*8=8,2*8=16,3*8=24,4*8=32,5*8=40,6*8=48,7*8=56,8*8=64,1*9=9,2*9=18,3*9=27,4*9=36,5*9=45,6*9=54,7*9=63,8*9=72,9*9=81,【練習三】1.打印如以下圖型:*************2.************作業(yè)布置一個小球從100米處落下,每次彈起是原來的一半,問彈起第二十次落下后所經(jīng)過的米數(shù)。課后總結(jié)通過這三周的程序編寫和講解,發(fā)現(xiàn)50%的同學對選擇構(gòu)造和循環(huán)構(gòu)造的熟練程序還不夠,對一些算法的實現(xiàn)還存在很大的問題,邏輯思維能力較弱。因此接下來的1-2周,決定采用大量的例子程序進展上機練習,然后由教師以及學得比擬好的同學進展輔導,為后面的面向?qū)ο缶幊痰囊恍└拍畲蛳赂住=贪妇幪枺?章節(jié)程序上機練習授課方式講授+上機教學目的掌握分支語句、循環(huán)語句、數(shù)組的用法;加深對變量以及數(shù)組聲明等用法的理解和使用。培養(yǎng)學生的邏輯思維能力。培養(yǎng)學生的實際動手能力。培養(yǎng)學生分析問題的能力。教學重點分支語句、循環(huán)語句。教學難點分支語句、循環(huán)語句。時間分配教學過程Min20160作業(yè)點評(學生闡述+教師總結(jié))方式:由3-5個同學來講述上周作業(yè)的實現(xiàn)思路,最后由教師總結(jié)出現(xiàn)的一些問題。類名不規(guī)X運算符的運用局部算法的不科學性上機實驗實現(xiàn)方式:(一)由教師給出程序片段,由學生完成關(guān)鍵局部的填寫,最后讓學生獨立運行程序。(二)讓個別同學來講解整個程序的實現(xiàn)思路,最后由教師總結(jié)。求1000以內(nèi)的素數(shù)〔素數(shù):只能除開1和本身的數(shù)〕某年某月某日,從該年的1月1日開場3天打漁2天曬網(wǎng),求該日是打漁還是曬網(wǎng)〔思路,先求出該天是該年的第幾天〕編寫一個程序?qū)崿F(xiàn)將任意一個十進制數(shù)轉(zhuǎn)換成二進制形式輸出如10輸出形式為0000000000...00000001010一個小球從100米處落下,每次彈起是原來的一半,問彈起第二十次落下后所經(jīng)過的米數(shù)。求任意兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)輸出九九乘法表(兩層for循環(huán)〕求1000以內(nèi)的水仙花數(shù)〔如153=1^3+5^3+3^3〕一個正整數(shù),輸出它的所有質(zhì)數(shù)因子〔如180的質(zhì)數(shù)因子為2、2、3、3、5〕。作業(yè)布置求1!+3!+5!+…+9!的值求1+1/2+1/6+1/12+1/20+….前10項的和課后總結(jié)通過程序片段的方式,80%以上的同學都能夠很好的完成最后的關(guān)鍵局部填寫;這樣的方式對于程序的初學者來說是一個很好的入門方式;在降低難度的同時還促進了學生的主動思考和分析問題的能力。教案編號:5章節(jié)授課方式教學目的教學重點教學難點時間分配教學過程國慶放假作業(yè)布置課后總結(jié)教案編號:6章節(jié)程序上機練習授課方式講授+上機教學目的掌握循環(huán)構(gòu)造、選擇構(gòu)造的用法;加深對變量以及數(shù)組聲明等用法的理解和使用。培養(yǎng)學生的邏輯思維能力。培養(yǎng)學生的實際動手能力。培養(yǎng)學生的團隊意思。教學重點分支語句、循環(huán)語句。教學難點分支語句、循環(huán)語句。時間分配教學過程Min30150作業(yè)點評(學生闡述+教師總結(jié))方式:由3-5個同學來講述上周作業(yè)的實現(xiàn)思路,最后由教師總結(jié)出現(xiàn)的一些問題。上機實驗(上機+指導)實現(xiàn)方式:由學生獨立完成,教師從旁指導。對于復雜的程序由小組討論:如第六個小題。在寫程序的同時也增加了趣味性。萬年歷〔周幾的判斷規(guī)那么是〔年+年/4+年/400-年/100〕%7〕求1!+2!+3!+4!+...+9!的值求1+1/2+2/3+3/5+5/8+前10項的和求Fibonacci數(shù)列:1,1,2,3,5,8,的前40項并輸出編寫一個程序,打印出1233455676789海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個,這只猴子把多的一個扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?桃子的個數(shù)有多少種可能?寫一段程序,定義int型變量代表month月份,并賦給初值,根據(jù)月份判斷出這個月是四季中的哪個季節(jié)?不是一年12個月份的月份,輸出“錯誤月份〞;給一個不多于5位的正整數(shù),要求:一、輸出它是幾位數(shù),二、逆序打印出各位數(shù)字。作業(yè)布置編寫程序,打印出123456789101112131415課后預習面向?qū)ο缶幊痰母拍?。課后總結(jié)通過兩周的課堂編程練習以及教師的指導和講解,80%的同學對Java語言根底、循環(huán)構(gòu)造、選擇構(gòu)造以及數(shù)組的應(yīng)用根本熟練,到達了Java編程的入門級水平(能夠編寫一些簡單的應(yīng)用程序,如:打印圖案,數(shù)字排序,平年與閏年的判斷等);在邏輯思考上也有了一些進步,但是程序的訓練還需進一步的加強。教案編號:7章節(jié)面向?qū)ο箝_發(fā)方法概述授課方式講授+上機教學目的了解什么是面向?qū)ο?。掌握面向?qū)ο蟮母靖拍?類、對象、屬性、封裝、繼承、多態(tài))。掌握如何定義類,如何創(chuàng)立對象。掌握成員運算符的使用。掌握訪問控制權(quán)限:public和private。培養(yǎng)學生抽象客觀世界成主觀世界的能力。培養(yǎng)學生初步的設(shè)計軟件系統(tǒng)的能力。培養(yǎng)學生的團隊意識。教學重點面向?qū)ο蟮暮诵乃枷牒透拍罱虒W難點面向?qū)ο蟮暮诵乃枷牒透拍顣r間分配教學過程Min15151010202010101555作業(yè)點評(學生闡述+教師總結(jié))方式:由1-3個同學來講述上周作業(yè)第六題的實現(xiàn)思路以及展示具體實現(xiàn),最后由教師總結(jié)出現(xiàn)的一些問題。上周課后作業(yè)檢查方式:抽查2-5名同學談?wù)剬γ嫦驅(qū)ο缶幊痰恼J識以及對根本概念的描述。面向?qū)ο蟮木幊趟枷雽ο蟋F(xiàn)實世界中的實體是實際存在的某種物體,用OOP的術(shù)語就稱為對象。在Java中我們通過對象對現(xiàn)實世界中的實體進展一個模擬和映射。對象是面向?qū)ο缶幊痰暮诵木植浚同F(xiàn)實世界一樣,需要具有明確定義的狀態(tài)和行為。對象的特征——屬性屬性——對象具有的各種特征每個對象的每個屬性都擁有特定值對象的特征——方法方法——對象執(zhí)行的操作類人們?yōu)榱烁玫卣J識世界,將現(xiàn)實生活中的事物〔對象〕劃分成類;同一類中的事物總是具有一些共性;類以共同的特性和行為定義實體;類是具有一樣屬性和行為的一組對象的集合。類和對象的區(qū)別類是用來描述實體的“模板〞或“原型〞;對象是實際的實體,每一個對象都是類的一個具體實例;類用來定義對象所有的屬性和方法,同一類的所有對象都擁有一樣的特征和操作;可以將類理解成生產(chǎn)產(chǎn)品的模具,而對象那么是根據(jù)此模具生產(chǎn)的一個個產(chǎn)品。在Java中定義類創(chuàng)立對象的語法和數(shù)組相似,對象也是引用數(shù)據(jù)類型,只能使用new運算符從堆中分配內(nèi)存;創(chuàng)立對象的一般語法: 類名引用名=new類名();使用已經(jīng)定義好的類,創(chuàng)立該類對象的過程稱為“實例化〞。訪問權(quán)限:public和privateC語言中構(gòu)造體的成員可以從任何地方進展訪問,這將給數(shù)據(jù)的平安留下極大的隱患;為了防止從類外部直接訪問類成員而造成的數(shù)據(jù)損壞,Java對類成員的訪問制定了約束;關(guān)鍵字public和private是訪問修飾符,用來說明某個成員是否可以從類外部進展訪問;public修飾的成員可以在任何地方進展訪問,不受任何約束;private修飾的成員只能夠被本類中的其它成員訪問,而不能從類的外部進展訪問。討論:列舉出生活中常見的類以及它們的對象。由每個組一個代表發(fā)言,說出討論結(jié)果。上機實驗(一)練習一請通過代碼封裝,實現(xiàn)如下需求:編寫一個類Book,代表教材:1、具有屬性:名稱〔title〕、頁數(shù)〔pageNum〕、(publisher)2.為各屬性設(shè)置賦值和取值方法3、編寫一個判斷頁數(shù)的方法judgePage〔〕,其中判斷輸入的頁數(shù)不能少于200頁,否那么輸出錯誤信息,并賦予默認值2004、具有方法:detail〔〕,用來在控制臺輸出每本教材的名稱和頁數(shù)編寫測試類BookTest進展測試:為Book對象的屬性賦予初始值,并調(diào)用Book對象的detail方法,看看輸出是否正確?(二)練習二使用JAVA定義學生類Student!要求學生類有XX、性別、年齡、體重等屬性,并且全部屬性都要使用private修飾。提供public的set和get方法來設(shè)置和獲取屬性的值。提供dining()吃飯和walk走路()。編寫測試類Teststudent進展測試:為Student對象的屬性賦予初始值,并調(diào)用Student對象的dining(),walk()方法,看看輸出是否正確?作業(yè)布置教材P42第八題。課后總結(jié)只有40%的同學對面向?qū)ο蟮母靖拍畹睦斫夂驼莆?;余下的大局部同學都屬于一知半解;在這方面還需進一步加強練習。教案編號:8章節(jié)面向?qū)ο箝_發(fā)方法概述—類和對象的Java實現(xiàn)授課方式講授+學生操作教學目的掌握類和對象的根本概念以及核心思想。掌握構(gòu)造方法的寫法以及重載。掌握對象在內(nèi)存中的存放形式。培養(yǎng)學生對客觀事物的抽象能力。培養(yǎng)學生系統(tǒng)分析的能力。培養(yǎng)學生的工程展示能力。教學重點構(gòu)造方法。方法重載。教學難點方法重載。時間分配教學過程Min202020120作業(yè)點評(學生闡述+教師總結(jié))方式:由2-4個同學來講述上周實驗的實現(xiàn)思路以及具體實現(xiàn),最后由教師總結(jié)出現(xiàn)的一些問題。一個Java文件中出現(xiàn)多個class,需文件名的類修飾成public即主類。建立測試類后,創(chuàng)立對象后訪問對象的屬性時未通過對象進展引用而直接訪問屬性。setter方法傳參數(shù)出現(xiàn)問題,如obj.setTitle="天龍八部";char型出現(xiàn)charch="男"!!!類中定義方法〔行為〕出現(xiàn)問題,即停留在C語言;〔〕喪失。setter和getter方法命名不規(guī)X以及方法返回類型和方法體出現(xiàn)問題。構(gòu)造方法正是由于在實例化對象的同時會自動調(diào)用構(gòu)造方法,所以構(gòu)造方法一般用來給數(shù)據(jù)成員分配資源或初始化數(shù)據(jù)成員;構(gòu)造方法的一般形式:訪問權(quán)限類名〔形參列表〕{方法體}因為是由虛擬機來調(diào)用構(gòu)造方法,所以構(gòu)造方法一般應(yīng)定義成public。/*定義ConstructorDemo類,對構(gòu)造方法進展測試*/classConstructorDemo{/*構(gòu)造方法,方法名與類名完全一致無需指定返回值類型,也不能有返回值*/publicConstructorDemo(){System.out.println("這是構(gòu)造方法");}}/*Test類,用來容納main方法一般將包含有main方法的類聲明為public*/publicclassTest{/*main方法,程序入口*/publicstaticvoidmain(String[]args){/*實例化ConstructorDemo類的對象*/ConstructorDemocd=newConstructorDemo();}}方法重載用于定義一組方法,這些方法具有一樣的名稱,并執(zhí)行類似的操作,但是卻使用不同的參數(shù)列表;編譯器會根據(jù)調(diào)用時傳遞的實際參數(shù)自動判斷具體調(diào)用的是哪個重載方法,如:/*abs方法的重載*/intabs(intx){……}floatabs(floatx){……}doubleabs(doublex){……}longabs(longx){……}方法重載的三大原那么方法名一樣參數(shù)不同〔可以有三方面的不同〕數(shù)量不同類型不同順序不同同一作用域溫馨提示:方法重載跟方法的返回值類型沒有任何關(guān)系。也就是說,只有返回值不同的方法不能構(gòu)成重載。/*錯誤的方法重載*/voidfun(intx){……};intfun(intx){……};上機實驗定義一個學生類,具有屬性:XX〔name〕、性別〔sex〕、年齡〔age〕、體重〔weight〕、銀行XX余額〔money〕!給每個屬性提供set以及get方法。為該學生提供學習方法〔learn〕、休息方法(rest)、顯示信息方法〔display〕。在學習方法中,體重減一;在休息方法中,體重加一。為學生類提供方法重載對成員變量進展靈活初始化。要求〔a、無參的構(gòu)造方法;b、只有XX一個參數(shù)的構(gòu)造方法;c、有XX、性別兩個參數(shù)的構(gòu)造方法;d、有XX、性別、年齡三個參數(shù)的構(gòu)造方法;e、有XX、性別、年齡、體重四個參數(shù)的構(gòu)造方法;f、有XX、性別、年齡、體重、銀行XX五個參數(shù)的構(gòu)造方法。在測試類中,實例化學生類,要求:通過6種不同的初始化方法,實現(xiàn)6個對象的創(chuàng)立,并顯示具體學生的相關(guān)信息。定義一個類AbsoluteValue〔求絕對值〕,要求使用方法重載實現(xiàn)不同類型數(shù)值的取絕對值方法:abs。作業(yè)布置P19311、12、13。課后總結(jié)80%以上的同學掌握了windows應(yīng)用程序的安裝、卸載以及軟件的注冊。90%以上的同學掌握了windows的根本快捷操作。教案編號:9章節(jié)Java語言中的修飾符授課方式講授+學生實驗教學目的掌握this、static、package、import它們的含義以及用法。掌握對象數(shù)組的聲明及用法。培養(yǎng)學生實際動手能力。培養(yǎng)學生面向?qū)ο蟮木幊棠芰?。教學重點對象數(shù)組。this、static、package、import。教學難點對象數(shù)組。this、static。時間分配教學過程Min1515151025100作業(yè)點評及檢查(學生闡述+教師總結(jié))由1-2個學生講述上周作業(yè)的實現(xiàn)思路以及展示程序?qū)崿F(xiàn);過程中由教師補充和總結(jié)。對象數(shù)組〔講授〕在Java中不但可以聲明由原始數(shù)據(jù)組成的數(shù)組,還可以聲明由對象組成的數(shù)組;聲明對象數(shù)組的方式如://假設(shè)已經(jīng)定義了一個Student類/*聲明由5個Student對象組成的數(shù)組*/Student[]stdAry=newStudent[5];上述方式類似于C語言中的: structStudent**p=NULL;p=(structStudent**)malloc(5*sizeof(structStudent*));對象數(shù)組==引用數(shù)組this關(guān)鍵字既然所有的對象都共用一樣的成員方法,那么在不同的對象都調(diào)用同一方法時,它是怎么確定要使用哪個對象的數(shù)據(jù)成員呢?每個成員方法都有一個隱含的this引用,它總是指向調(diào)用它的對象;This為調(diào)用成員方法的對象的地址;可以像使用任何引用那樣使用this。靜態(tài)成員變量在成員變量前加static關(guān)鍵字,可以將其聲明為靜態(tài)成員變量;靜態(tài)成員變量只有一份內(nèi)存拷貝,即所有對象共享該成員變量;靜態(tài)成員變量的作用域只在類內(nèi)部,但其生命周期卻貫穿整個程序。包有時候,類和類的名稱可能發(fā)生沖突;Java提供了把類名空間劃分為更容易管理的塊的機制,這就是包;包類似于文件夾;分屬不同包的類名一樣也不會引起沖突;能在包與包之間對于類的訪問權(quán)限提供更有力的約束。使用package關(guān)鍵字打包使用import關(guān)鍵字導入包上機實驗編寫一個學生類,學生類里有標示XX的屬性和標示年齡的屬性,寫一個構(gòu)造方法,在構(gòu)造方法里為屬性賦值時,必須用到this關(guān)鍵字。寫一個輸出函數(shù),輸出學生的XX和其年齡。寫一個測試類,在測試類里定義一個長度為3的學生類的對象數(shù)組,為數(shù)組里的每一個元素實例化一個學生對象,并調(diào)用其輸出函數(shù),程序運行結(jié)果如下:編寫一個學生類,類里有一個標示XX的屬性和一個靜態(tài)的標示總學生個數(shù)的屬性,寫一個構(gòu)造方法,使每創(chuàng)立一個學生對象時學生個數(shù)自加,寫一個輸出結(jié)果的方法,程序運行的結(jié)果如下:隨便寫一個JAVA程序,在程序的最前面寫下面這條語句:packagenewer.java;編繹運行,并到原程序所在目錄下查看生成的包構(gòu)造。編寫下面的程序,編譯后分析報錯的原因publicclassTest{ publicstaticvoidmain(String[]args){ JFramef=newJFrame("我的窗口"); f.setSize(400,300); f.setVisible(true);}}然后在程序的最前面寫上以下語句,再次編繹、運行,并分析這條語句的作用。importjavax.swing.JFrame;作業(yè)布置P216-21710、11、12、13。課后總結(jié)對static的理解還需多加強程序編寫的練習。教案編號:10章節(jié)繼承—根本概念及根本用法授課方式講授+上機教學目的理解什么是繼承。掌握在Java中實現(xiàn)繼承,extends關(guān)鍵字。掌握繼承中的構(gòu)造方法的用法。掌握super關(guān)鍵字的含義及用法。培養(yǎng)學生工程展示能力。培養(yǎng)學生主動思考問題的能力。培養(yǎng)學生實際動手能力。教學重點繼承的根本概念以及Java實現(xiàn)。教學難點繼承的根本概念以及Java實現(xiàn)。時間分配教學過程Min205101510120作業(yè)點評及檢查(學生闡述+教師總結(jié))由1-2個學生講述上周作業(yè)的實現(xiàn)思路以及展示程序?qū)崿F(xiàn);過程中由教師補充和總結(jié)。問題描述:方法重載的不理解〔同類同名不同參〕錯誤重犯率較高;如構(gòu)造函數(shù)無返回類型、構(gòu)造函數(shù)名與類名不一致、類名不規(guī)X、帶有main方法的class名與物理文件名不一致、沒有通過對象調(diào)用方法〔非靜態(tài)方法〕、方法名后不帶〔〕;甚至出現(xiàn)類名后加〔〕現(xiàn)象。只要與類名不一致的方法都視為成員方法,需返回類型。Dog類帶有static的count成員,創(chuàng)立dog1...dog5對象后,最后用for循環(huán)遍歷后,調(diào)用方法后結(jié)果一致?!矐?yīng)在各自對象后調(diào)用方法〕靜態(tài)變量以及靜態(tài)成員可以直接通過類名.出來?;貞浄椒ㄖ剌d應(yīng)遵循三大原那么;適當?shù)刂剌d構(gòu)造方法,可以使初始化對象的方式更為靈活;this引用總是指向調(diào)用成員方法的對象本身;靜態(tài)成員〔包括靜態(tài)成員屬性和靜態(tài)成員方法〕屬于類而不是屬于某個對象,可以在實例化對象之前通過類名訪問;使用package關(guān)鍵字打包;使用import關(guān)鍵字導入包或類。繼承的概念在現(xiàn)實生活中的繼承,可以理解為兒子繼承了父親的財產(chǎn),即財產(chǎn)重用;面向?qū)ο蟪绦蛟O(shè)計中的繼承,那么是代碼重用;繼承是利用現(xiàn)有的類創(chuàng)立新類的過程,現(xiàn)有的類稱作基類〔或父類〕,創(chuàng)立的新類稱作派生類〔子類〕。最高層是最普遍的、最一般的情況,往下每一層都比上一層更具體,并包含有高層的特征,通過這樣的層次構(gòu)造使下層的類能自動享用上層類的特點和性質(zhì);繼承其實就是自動地共享基類中成員屬性和成員方法的機制。在Java中實現(xiàn)繼承在Java中實現(xiàn)繼承需要使用到extends關(guān)鍵字;實現(xiàn)繼承的一般語法是: [訪問修飾符]class派生類名extends基類名{ 成員列表 }如: classStudentextendsPerson {…… }類成員的訪問控制權(quán)限信息隱藏是面向?qū)ο蟪绦蛟O(shè)計的重要特點之一,它可以:防止類的使用者意外損壞數(shù)據(jù);對任何實現(xiàn)細節(jié)所作的修改不會影響到使用該類的其它代碼;使類更易于使用。在Java中實現(xiàn)信息隱藏的是訪問控制權(quán)限機制;訪問控制權(quán)限包括4個訪問修飾符:public、protected、private和缺省;可以使用上述訪問修飾符修飾類的成員。上機實驗[練習一]醫(yī)生有XX〔name〕,編號〔idNumber〕,地址〔address〕等根本信息,都有display〔〕顯示信息的方法。醫(yī)生又分專業(yè)醫(yī)生和非專業(yè)醫(yī)生,非專業(yè)醫(yī)生所具有的信息與上述的一樣。但專業(yè)醫(yī)生出了具有上述的根本信息之外還有特有的信息:專業(yè)〔speciality〕。請根據(jù)他們之間的關(guān)系,創(chuàng)立一個醫(yī)生類〔Doctor〕,包含醫(yī)生的根本信息。再利用繼承創(chuàng)立一個非專業(yè)醫(yī)生類〔NonSpecialist〕和一個專業(yè)醫(yī)生類〔Specialist〕,專業(yè)醫(yī)生類包含一個顯示其專業(yè)的方法publicvoidshowSpwciality()。利用這些類的對象顯示他們各自的信息。/ *提示1.醫(yī)生類構(gòu)造方法中可以參加一條顯示代碼System.out.println〔"這是父類構(gòu)造方法"〕;2.非專業(yè)醫(yī)生類只需繼承醫(yī)生類無需編寫任何屬性,方法。3.專業(yè)醫(yī)生類繼承醫(yī)生類,并添加屬性:專業(yè),構(gòu)造方法需使用super調(diào)用父類構(gòu)造方法,添加獲得專業(yè)信的方法和顯示專業(yè)信息的方法。所有的類都是用構(gòu)造方法初始化對象,在test類中編寫main方法測試。classDoctor{privatename;publicvoiddisplay(){System.out.println("XX"+getName()。。。。);//其他屬性類似XX的處理方式} }〔以下練習都應(yīng)采用上述構(gòu)造函數(shù)/getXXXX()/display()的編碼形式〕【練習題二】定義一個名為Vehicles〔交通工具〕的基類,該類中應(yīng)包含String類型的成員屬性brand〔商標〕和color〔顏色〕,還應(yīng)包含成員方法run〔行駛,在控制臺顯示“我已經(jīng)開動了〞〕和showInfo〔顯示信息,在控制臺顯示商標和顏色〕,并編寫構(gòu)造方法初始化其成員屬性。編寫Car〔小汽車〕類繼承于Vehicles類,增加int型成員屬性seats〔座位〕,還應(yīng)增加成員方法showCar〔在控制臺顯示小汽車的信息〕,并編寫構(gòu)造方法。編寫Truck〔卡車〕類繼承于Vehicles類,增加float型成員屬性load〔載重〕,還應(yīng)增加成員方法showTruck〔在控制臺顯示卡車的信息〕,并編寫構(gòu)造方法。在main方法中測試以上各類。作業(yè)布置P1928、9。預習多態(tài)的根本概念以及具體實現(xiàn)。課后總結(jié)由于對繼承屬于面向?qū)ο蟮娜筇卣髦?,所以本章?jié)的速度放得很慢,但是即使這樣依然有30%的人對繼承的根本概念和實現(xiàn)仍然存在很大的問題。解決方法就是系能能夠通過更多的練習來到達對理論的理解。教案編號:11章節(jié)繼承—多態(tài)授課方式講授+上機教學目的掌握方法覆蓋的根本概念機Java實現(xiàn)。掌握多態(tài),在Java中實現(xiàn)多態(tài)。掌握final關(guān)鍵字的用法。培養(yǎng)學生的表達能力、工程展示能力。培養(yǎng)學生的團隊意識。培養(yǎng)學生的實際動手能力。教學重點方法覆蓋、多態(tài)。教學難點方法覆蓋、多態(tài)。時間分配教學過程Min15102520153070作業(yè)點評及檢查(學生闡述+教師總結(jié))作業(yè)講解及點評:由1-2個學生講述上周作業(yè)的實現(xiàn)思路以及展示程序?qū)崿F(xiàn);過程中由教師補充和總結(jié)。預習檢查:在Java程序中,多態(tài)性帶給我們的好處是什么?方法覆蓋與方法重載有區(qū)別嗎?抽2-4個人來答復上述兩個問題。然后引入此堂課新內(nèi)容。上周回憶(學生闡述+教師總結(jié))繼承是指從一個基類〔父類〕派生出派生類〔子類〕的過程;繼承使用關(guān)鍵字extends;對于類成員,可以使用public、protected、缺省和private這4種訪問權(quán)限修飾符;創(chuàng)立子類實例時,必須先執(zhí)行父類的構(gòu)造方法,然后再執(zhí)行子類的構(gòu)造方法;super關(guān)鍵字有兩種主要用途,都與父類有關(guān)。方法覆蓋在類的繼承體系構(gòu)造中,如果子類中出現(xiàn)了與父類中有同原型的方法,那么認為子類中的方法覆蓋了父類中的方法〔也稱為方法重寫〕;通過子類的實例調(diào)用被覆蓋的方法時,將總是調(diào)用子類中的方法,而父類中的方法將被隱藏。方法覆蓋的Java實現(xiàn)。classParentClass{//定義父類publicvoidfun(){System.out.println("這是父類中的方法。");}}classChildClassextendsParentClass{//子類繼承于父類publicvoidfun(){//子類覆蓋父類中的方法System.out.println("這是子類中的方法。");}}classOverriddenTest{//用于容納main方法publicstaticvoidmain(String[]args){ParentClassparObj=newParentClass();parObj.fun();//父類的實例調(diào)用此方法ChildClasschiObj=newChildClass();chiObj.fun();//子類的實例調(diào)用此方法}}區(qū)分方法覆蓋和方法重載方法覆蓋〔重寫〕和方法重載是兩個極易混淆的概念,必須嚴格區(qū)分;方法覆蓋出現(xiàn)的前提條件之一是必須有繼承發(fā)生的情況下,而且要求父類和子類中的方法必須同原型;方法重載時,繼承并不是必需的,它只要求方法名稱一樣,而參數(shù)列表那么必須不同,換言之,各方法的原型其實是不同的。多態(tài)簡單來說,多態(tài)是具有表現(xiàn)多種形態(tài)的能力的特征屬于同一種類型,使用不同的實例而執(zhí)行不同操作靜態(tài)多態(tài)動態(tài)多態(tài)final關(guān)鍵字在Java中,final關(guān)鍵字有最終的,不可修改的含義;final關(guān)鍵字有三種用途,可以分別應(yīng)用于變量、成員方法和類。如果將某個變量修飾為final,那么該變量就成為常量,一般語法:[訪問權(quán)限]final數(shù)據(jù)類型常量名=值;如:finaldoublePI=3.14159; PI成為常量,其后任何試圖對PI進展賦值的語句都將報錯;常量在聲明時必須初始化代碼閱讀上機實驗定義一個寵物類(Pet),它有兩個方法:叫cry(),吃東西eat(),定義寵物的子類狗(Dog),貓(Cat),覆蓋父類的cry(),eat()方法,里面寫System.out.println("貓吃了魚")這樣的打印語句,另外狗有自己的方法看門guardEntrance(),貓自己獨有的方法捉老鼠huntMice()(1)定義一個Test類,在main中定義兩個Pet變量,pet1,pet2,采用引用轉(zhuǎn)型實例化Dog,Cat,分別調(diào)用Pet的cry(),eat();(2)將Pet引強制轉(zhuǎn)換為具體的Dog,Cat,在調(diào)Dog的guardEntrance〔〕,Cat的huntMice()〔提示:先用instanceof進展類型判斷〕(3)修改Test類,添加喂養(yǎng)寵物feedPet(Petpet)的方法,在feedPet中調(diào)cry(),eat()方法,實例化Test類,再實例化狗Dogdog=newDog(),貓Petcat=newCat(),Test分別調(diào)feedPet()方法分別傳參數(shù)cat,dog,思考這兩種方式的異同,深入理解引入轉(zhuǎn)型和多態(tài)作業(yè)布置預習異常處理,并完成P279課后作業(yè)1、2、3。課后總結(jié)對方法覆蓋和多態(tài)的理解難度較大,約一半的人都停留在記住概念上面,在實際的運用中存在問題,解決方法就是由教師給出作業(yè)的源代碼,先個人看,然后小組討論,最后由小組代表上臺來給大家講解實現(xiàn)的思路。教案編號:12章節(jié)異常處理授課方式講授+討論+上機教學目的掌握異常的概念。具備運用try塊、catch塊和finally塊處理異常的能力。掌握Java中異常類的繼承體系構(gòu)造。運用關(guān)鍵字throw和throws處理異常。掌握自定義異常。培養(yǎng)學生程序的閱讀能力。培養(yǎng)學生自助學習的能力。培養(yǎng)學生實際的動手能力。培養(yǎng)學生團隊意識。教學重點try塊、catch塊和finally塊。教學難點finally語句。時間分配教學過程Min1560105作業(yè)點評及檢查(學生闡述+教師總結(jié))作業(yè)講解及點評:由1-2個學生講述上周作業(yè)的實現(xiàn)思路以及展示程序?qū)崿F(xiàn);過程中由教師補充和總結(jié)。預習檢查:由1-2個人答復上周布置的思考題作業(yè)。由此引出本次課新內(nèi)容。異常什么是異常?程序中出現(xiàn)的錯誤被稱為異常;異??煞譃閮纱箢悾壕幾g時異常和運行時異常;編譯時異常一般是指語法錯誤,可以通過編譯器的提示加以修正,這里我們不予討論;運行時異常包括:運行錯誤:如數(shù)組下標越界,除數(shù)為0等;邏輯錯誤:如年齡超過200歲等。try塊和catch塊try塊:一般用來監(jiān)視有可能產(chǎn)生異常的代碼局部;catch塊:當異常產(chǎn)生后,catch塊捕捉異常,并在其中對異常進展處理?!璽ry{……//監(jiān)視有可能發(fā)生異常的代碼段}catch(異常類型)//捕獲發(fā)生的異常{……//對異常進展處理}……finally塊無論try/catch塊中發(fā)生了什么,finally塊都一定會執(zhí)行;當異常發(fā)生時,程序可能會意外中斷,有些被占用的資源就得不到清理。finally塊可以確保執(zhí)行所有的清理工作;無論是否發(fā)生異常,finally塊都將執(zhí)行;finally塊是可選的,可視具體情況決定是否添加;finally塊必須和try塊一起使用,不能單獨存在。try/catch/finally執(zhí)行流程throw關(guān)鍵字throw語句用于手工拋出異常;執(zhí)行流程將在throw語句后立即停頓,轉(zhuǎn)而尋找與之類型相匹配的catch塊;throw語句的語法是: throw(異常類型的實例)。用戶自定義異常Exception類和其子類都是系統(tǒng)內(nèi)置的異常,這些異常不一定總能捕獲程序中發(fā)生的所有異常;有時候,我們可能要創(chuàng)立用戶自定義的異常類;用戶自定義異常類應(yīng)該是Exception類的子類;類似于:classMyExceptionextendsException { …… }上機實驗1、編寫程序ArrayDivide,在其中同時給出兩個不同大小的整型數(shù)組。利用循環(huán),將第一個數(shù)組包含的整型數(shù)作為被除數(shù),第二個數(shù)組包含的整型數(shù)作為除數(shù)。用第一個數(shù)組中的整型數(shù)除以第二個數(shù)組中相應(yīng)位置的元素??紤]各種可能產(chǎn)生的異常,并設(shè)計程序捕獲和處理這些異常。提示:當?shù)谝粋€數(shù)組的長度大于第二個數(shù)組的長度時,可能產(chǎn)生的ArrayIndex-OutOfBoundsException異常;當被除數(shù)為0時,可能產(chǎn)生ArithmeticException的異常2、編寫程序,實現(xiàn)從命令行輸入三個數(shù)值參數(shù)作為三角形的三條邊,以此構(gòu)造一個三角形。程序應(yīng)該實現(xiàn)如下功能:-->檢查用戶輸入的命令行參數(shù)是否足夠,如果不夠三個參數(shù),那么程序可能產(chǎn)生ArrayIndexOutOfBoundsException異常-->檢查輸入的命令行參數(shù)是否為數(shù)值格式,如果輸入的數(shù)值參數(shù)格式錯誤,那么程序可能產(chǎn)生NumberFormatException異常-->檢查輸入的命令行參數(shù)中是否有負值,如果有負值,那么程序可能產(chǎn)生ArgumentException異常(ArgumentException為自定義異常〕-->檢查輸入的命令行參數(shù)的三個數(shù)值是否能夠構(gòu)造一個三角形,如果不能構(gòu)造一個三角形,那么程序可能產(chǎn)生InvailEdgesException異常〔InvailEdgesException為自定義異?!程崾荆喝切稳我鈨蛇呏捅仨毚笥诘谌?。作業(yè)布置P280-2827、8、9。課后總結(jié)90%的人都理解了異常處理,并且能夠在程序中熟練的運用。但是在對finally塊的掌握程度上還不夠。教案編號:13章節(jié)Java根本語法、流程控制、面向?qū)ο缶幊?、異常處理做一次全面的復習授課方式講授+上機教學目的穩(wěn)固學生對前面章節(jié)內(nèi)容的學習。幫助學生將前面的內(nèi)容串聯(lián)起來,能夠熟練的運用前面的內(nèi)容來完成應(yīng)用程序的編寫。培養(yǎng)學生自主學習的能力。培養(yǎng)學生系統(tǒng)分析問題的能力。培養(yǎng)學生的實際動手能力。教學重點教學難點時間分配教學過程Min251555作業(yè)點評及檢查(學生闡述+教師總結(jié))作業(yè)講解及點評:由1-2個學生講述上周作業(yè)的實現(xiàn)思路以及展示程序?qū)崿F(xiàn);過程中由教師補充和總結(jié)。作業(yè)檢查:由3-5個同學給出作業(yè)的答案以及講解實現(xiàn)思路,教師從旁補充和總結(jié)。上機實驗Java有那些根本數(shù)據(jù)類型,String是不是根本數(shù)據(jù)類型?char型變量中能不能存貯一個中文漢字?為什么?訪問權(quán)限修飾符public,private,protected的區(qū)別,默認不寫是?error和exception有什么區(qū)別?請列舉出常見的異常類。用關(guān)鍵字final分別修飾類、方法、變量時,有何意義?運行時異常與編譯時異常有何異同?什么是方法重載?什么是方法重寫?它們有什么區(qū)別?多態(tài)的幾種形式和各自的特點。JAVA語言如何進展異常處理?關(guān)鍵字:throws,throw,try,catch,finally分別代表什么意義?在try塊中可以拋出異常嗎?如果try{}里有一個return語句,那么緊跟在這個try后的finally{}里的代碼會不會被執(zhí)行,什么時候被執(zhí)行,在return前還是后?請寫出以下程序結(jié)果a)classBase{inti=99;publicvoidamethod(){System.out.println("Base.amethod()");}Base(){amethod();}}publicclassDerivedextendsBase{inti=-1;publicstaticvoidmain(Stringargv[]){Baseb=newDerived();System.out.println(b.i);b.amethod();}publicvoidamethod(){System.out.println("Derived.amethod()");}}b)publicclassAccpTeacher{publicvoidgiveLesson(){System.out.println("知識點講解");}}publicclassAccpDBTeacherextendsAccpTeacher{publicvoidgiveLesson(){System.out.println("啟動SqlServer");}}publicclassTest{publicstaticvoidmain(String[]args){AccpTeachert=newAccpDBTeacher();t.giveLesson();}}c)classBase{publicStringname;publicBase(){name="Base";}publicBase(StringpName){ name=pName;}publicvoidmethod(){ System.out.println(name);}}classChildextendsBase{publicChild(){super("Child1");name="Child2";}}publicclassSample{publicstaticvoidmain(String[]args){Childc=newChild();c.method();}}題目:品嘗飲料語言和環(huán)境實現(xiàn)語言:Java環(huán)境要求:JDK1.4或以上版本及其聯(lián)機幫助文檔要求使用命令行參數(shù)〔飲料類型〕,輸出該飲料類型的味道,如:當命令行參數(shù)為1時,結(jié)果見圖1:圖一如果沒有該種飲料,結(jié)果見如圖2:圖二推薦實現(xiàn)步驟建立一個Java抽象類Drink,應(yīng)當:聲明一個抽象方法taste(),該方法負責輸出飲料的味道;聲明int型常量來代表不同的飲料類型〔咖啡、啤酒、牛奶〕,如:聲明靜態(tài)方法getDrink(intdrinkType),根據(jù)傳入的參數(shù)創(chuàng)立不同的飲料對象,并返回該對象,建議使用switch語句。該方法要求聲明DrinkNotFoundException,當沒有相對應(yīng)的飲料類型時,拋出該異常。建立Drink的具體子類:分別建立Drink的子類:Coffee〔代表咖啡〕,Beer〔代表啤酒〕,Milk〔代表牛奶〕;子類分別要求:Coffee類私有屬性品牌〔brand〕,帶有此屬性參數(shù)的構(gòu)造方法;并提供相應(yīng)的setter和getter方法;Beer類私有屬性顏色〔color〕,帶有此屬性參數(shù)的構(gòu)造方法;并提供相應(yīng)的setter和getter方法;Milk類私有屬性狀態(tài)(state),帶有此屬性參數(shù)的構(gòu)造方法;并提供相應(yīng)的setter和getter方法;實現(xiàn)taste()方法,要求在控制臺打印各自的味道特征。建立異常類DrinkNotFoundException繼承Exception在Drink的方法getDrink(intdrinkType)中聲明引發(fā)DrinkNotFoundException異常,當傳入的參數(shù)沒有相對應(yīng)的飲料類型時,拋出異常。在使用getDrink方法的類中捕捉該異常。建立Test測試類,測試以上內(nèi)容的正確性編寫main方法,通過命令行傳參的方式傳入某種飲料的類型。在main方法中,調(diào)用Drink類的getDrink方法,獲得相應(yīng)的飲料對象。注意捕獲DrinkNotFoundException。然后調(diào)用該飲料對象的taste()方法,輸出該飲料的味道。編譯程序,并運行??记绊氈屑殞忣},把題目要求理解準確;請注意多態(tài)性的運用;請注意代碼的書寫、命名符合規(guī)X,應(yīng)有適當?shù)淖⑨?。作業(yè)布置預習java.lang包。課后總結(jié)通過本次的練習,至少讓80%的同學穩(wěn)固了前面所學的內(nèi)容,并且將前面的內(nèi)容頁進展了一次很好的融合。教案編號:14章節(jié)java.lang包授課方式講授+上機教學目的了解java.lang包。掌握包裝類。掌握String類。培養(yǎng)學生的個人表達能力、工程展示能力。培養(yǎng)學生的團隊意識。培養(yǎng)學生的主動積極性。教學重點String類。教學難點時間分配教學過程Min151553010105作業(yè)點評及檢查(學生闡述+教師總結(jié))作業(yè)講解及點評:由1-2個學生講述上周作業(yè)(品嘗飲料)的實現(xiàn)思路以及展示程序?qū)崿F(xiàn);過程中由教師補充和總結(jié)?;貞?由學生主動起來答復,教師補充)Java有那些根本數(shù)據(jù)類型,String是不是根本數(shù)據(jù)類型?char型變量中能不能存貯一個中文漢字?為什么?訪問權(quán)限修飾符public,private,protected的區(qū)別,默認不寫是?error和exception有什么區(qū)別?請列舉出常見的異常類。用關(guān)鍵字final分別修飾類、方法、變量時,有何意義?運行時異常與編譯時異常有何異同?什么是方法重載?什么是方法重寫?它們有什么區(qū)別?多態(tài)的幾種形式和各自的特點。java.lang包簡介java.lang包是java內(nèi)置的一個根底包,其中包含了一系列程序中經(jīng)常要用到的類;在默認情況下,每個java程序都會自動導入該包,因此無需在程序中顯式地聲明。包裝類使用原始數(shù)據(jù)類型聲明的變量,如:intnum=10;這里的num只是一個變量,而不是對象;在某些必須操作對象的場合,這樣的變量就不能使用了;Java提供一系列包裝類,以便將原始數(shù)據(jù)類型當作對象進展操作;在java.lang包中,對于每個原始數(shù)據(jù)類型都有一個相應(yīng)的包裝類。包裝類的構(gòu)造方法包裝類的valueOf方法包裝類的parseXxx方法Character類中的常用方法Character類常用方法例如String類Java中,字符串是String類的對象;可以通過使用String類提供的方法來完成對字符串的操作;創(chuàng)立一個字符串對象之后,將不能更改構(gòu)成字符串的字符;每當更改了字符串版本時,就創(chuàng)立了一個新的字符串對象,并在其內(nèi)包含所做的修改,原始字符串保持不變。上機實驗練習一:編寫一個Java程序,完成以下功能: 聲明一個名為s的String對象,并使它的內(nèi)容是"CallmeAccp"; 打印整個字符串。 使用length〔〕方法打印字符串的長度 使用charAt〔〕方法打印字符串的第一個字符 使用charAt〔〕方法和length〔〕打印字符串的最后一個字符 使用indexOf〔〕方法和substring〔〕方法打印字符串的第一個單詞。練習二:編寫一個Java程序,用于 測試兩個字符串StringfirstString="Thisis"和StringsecondString="Thisis";是否相等。 將"hisfather"與其中的firstString字符串連接。 用z替換新字符串中的i。練習三:編寫一個ExtractString程序,從字符串"SeizetheDay"中提取單詞"the"和"Day".練習四:使用toCharArray()判斷一個字符串是否為回文。//回文:asdsa練習五:判斷電子 1.必須包含和.而且只能有一個 2.不能以或.開頭以及結(jié)尾 3.必須出現(xiàn)在.之前 indexOf lastIndexOf作業(yè)布置P624-6251-9。課后總結(jié)對于系統(tǒng)包,只需要多寫多練就能夠完全的掌握,從整體上來是說,約85%的人都掌握了這堂課的內(nèi)容。教案編號:15章節(jié)Java常用類授課方式講授+上機教學目的掌握StringBuffer類。熟練運用Math類中的方法。熟練運用Object類中的方法。熟練運用Class類中的方法。培養(yǎng)學生的工程展示能力。培養(yǎng)學生的實際動手能力。培養(yǎng)學生的自主學習能力。教學重點Object、StringBuilder、Math。教學難點Object、StringBuilder、Math。時間分配教學過程Min151010101515105作業(yè)點評及檢查(學生闡述+教師總結(jié))作業(yè)講解及點評:由3-6個學生分別講述上周作業(yè)的實現(xiàn)思路以及展示程序?qū)崿F(xiàn);過程中由教師補充和總結(jié)?;貞汱ang包是我們常用的工具包包裝類以及包裝類的構(gòu)造方法、valueOf〔〕方法、parseXxx〔〕方法;Character類常用靜態(tài)方法:isLetter(charch)、isDigit(charch)、isUpperCase(charch)、isLowerCase(charch)、isWhitespace(charch)String類的常用操作:字符串長度;字符串比擬;字符串搜索;提取字符串;更改字符串大小寫;數(shù)據(jù)格式轉(zhuǎn)化。StringBuffer類StringBuffer類用于表示可以修改的字符串;使用+運算符的字符串將自動創(chuàng)立字符串緩沖對象;以下是StringBuffer類的構(gòu)造方法有4種重載方式,以下是常用的幾個:Math類Math類中提供了一系列根本數(shù)學運算和幾何運算的方法;該類的構(gòu)造方法被修飾為private,因此不能實例化;該類中的所有方法都是靜態(tài)的,可以通過類名直接調(diào)用;該類被修飾為final,因此沒有子類。Object類的常用方法Class類Java應(yīng)用程序?qū)嶋H上都是由一個個對象組成,這些對象分別屬于什么類,是從哪個類繼承而來,這一系列的信息都是由Class類的實例來記錄的;Class類的實例用于記錄對象的類描述信息;如果在程序運行時,需要檢索某個對象的相關(guān)類信息,可以調(diào)用該對象的getClass方法來獲得記錄其描述信息的Class類實例;Class類沒有公共的構(gòu)造方法,無法通過new運算符實例化,只能通過對象的getClass方法,或是通過Class的靜態(tài)方法forName來獲得實例。上機實驗練習一:回文串編寫程序CheckPalindrome,從命令行參數(shù)中讀入一個字符串,檢查該字符串是否為回文串,回文串的特點是順序讀和倒序讀都是一樣。例如,mom、dad和atoyota都是回文串。練習二:猜數(shù)字 編寫程序Guess,隨機地產(chǎn)生一個整數(shù),表示從A到Z的字母。之后,通過命令行參數(shù)讀入一個字母,試圖猜出隨機產(chǎn)生的字母。無論猜得是否正確,都打印出相應(yīng)的信息。另外,如果猜對了,程序退出。作業(yè)布置預習java.util包。課后總結(jié)通過一系列的案例加課后練習,來讓同學掌握課堂上所學的內(nèi)容;整體效果良好。教案編號:16章節(jié)java.util包授課方式講授+上機教學目的了解java.util包。能夠熟練運用如下類進展Java編程〔Date類、Calendar類、Random類〕掌握集合類(List、Map)的使用。能夠熟練使用Collection接口及其實現(xiàn)類(ArrayList類、LinkedList類、Vector類)。掌握HashMap類培養(yǎng)學生的個人表達能力、工程展示能力。培養(yǎng)學生的個人動手能力。培養(yǎng)學生的邏輯思維能力。教學重點List、Map、Vector。教學難點List、Map、Vector。時間分配教學過程Min1545120作業(yè)點評及檢查(學生闡述+教師總結(jié))作業(yè)講解及點評:由2-4個學生分別講述上周作業(yè)的實現(xiàn)思路以及展示程序?qū)崿F(xiàn);過程中由教師補充和總結(jié)。Java.util包java.util包簡介。java.util包是Java內(nèi)置的一個工具包,其中包含一系列常用的工具類;如處理日期和日歷的類以及一些集合類;java.util包不會默認導入,如果要使用到該包中的類,那么必須在程序的開場局部顯式地聲明如下語句: importjava.util.*;Date類Date類對象用來表示時間和日期;該類提供一系列操縱日期和時間各組成局部的方法;Date類最多的用途是獲取系統(tǒng)當前的日期和時間。Calendar類Calendar類也是用來操作日期和時間的類,但它可以以整數(shù)形式檢索類似于年、月、日之類的信息;Calendar類是抽象類,無法實例化,要得到該類對象只能通過調(diào)用getInstance方法來獲得;Calendar對象提供為特定語言或日歷樣式實現(xiàn)日期格式化所需的所有時間字段。Random類Random類專門用來生成隨機數(shù);該類的構(gòu)造方法有2種重載方式。集合集合是將多個元素組成一個單元的對象;類似于數(shù)組,但數(shù)組最大的缺點是:長度受到限制〔一經(jīng)創(chuàng)立,就不可再改變〕,并且只能存放一樣數(shù)據(jù)類型的元素;集合的長度沒有限制,可以存放任意多的元素,而且元素的數(shù)據(jù)類型也可以不同;集合還提供一系列操縱數(shù)據(jù)的方法,如存儲、檢索等等。上機實驗(一).使用Date類求獲取當前日期,分別使用下以下格式打印: 1)按日期的原格式打印. 2)"當前時間是:xxxx年xx月xx日星期X時間" 3)"當前時間是:xxxx年xx月xx日時:分:秒"4)按歐美日期習慣輸出當前日期("月-日-年時:分:秒")(二)使用Date的Date(intyear,intmonth,intdate)構(gòu)造方法,構(gòu)造當前日期,打印輸出.求出當前日期自1970年1月1日起的已經(jīng)有多少天了.(三).使用Calendar類,編寫程序求出你的出生的那一天是星期幾.并求出你出生到今天一共有多少天,打印輸出.(四).使用Calendar類,打印出當前月的日歷表,效果圖如下:(五).利用Random類,隨機生成一個int隨機數(shù),long隨機數(shù),float隨機數(shù),double隨機數(shù),高斯隨機數(shù),并在屏幕上隨機打印.(六).使用Random類模擬搖色子游戲.共5粒色子,分別顯示出5粒色子的點數(shù),和加起來一共是多少點.打印輸出.作業(yè)布置編寫程序,依次應(yīng)用ArrayList和LinkedList實現(xiàn)棧和隊列的功能。提示:〔a〕使用ArrayList和LinkedList模擬棧和隊列?!瞓〕使用push和pop方法模擬進棧和出棧操作。編寫一個程序,讀入一系列名字并將它們存儲在LinkedList和ArrayList中,并實現(xiàn)以下功能:〔a〕允許用戶通過名字進展查找?!瞓〕允許用戶
溫馨提示
- 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īng)用語言學》(1-15章節(jié))筆記
- 抗體偶聯(lián)藥物分段生產(chǎn)試點注冊申報技術(shù)要求
- 2024年三季度宏觀經(jīng)濟分析報告
- 第三單元 表內(nèi)乘法(一)(知識清單)二年級數(shù)學上冊(蘇教版)
- 2024年營養(yǎng)強化劑項目資金籌措計劃書代可行性研究報告
- 強化班子建設(shè)-打造和諧工商
- 冷噴烯鋅涂料中石墨烯材料的測試與判定 掃描電鏡-X射線能譜分析法-編制說明
- Python程序設(shè)計實踐- 習題及答案 ch12 實驗8 字典與集合
- 幼兒園語言領(lǐng)域聽課心得(3篇)
- 生物類實習報告模板匯編(3篇)
- 期中試卷(第1-3單元)(試題)-2024-2025學年三年級上冊數(shù)學滬教版
- 急救小知識科普講座
- 2024年高等教育法學類自考-00262法律文書寫作考試近5年真題附答案
- 北京市人民大學附屬中學2025屆數(shù)學高二上期末統(tǒng)考模擬試題含解析
- 24年追覓在線測評28題及答案
- JTGT F20-2015 公路路面基層施工技術(shù)細則
- 第五章 中國特色社會主義理論體系的形成發(fā)展(一)
- 公園綠化養(yǎng)護服務(wù)投標方案
- BS EN ISO 15848-1-2015 工業(yè)閥-逸散性排放的測量、試驗和鑒定程序(中文)
- 自來水廠操作規(guī)程手冊
- 企業(yè)檔案分類方案及編號辦法(范例)
評論
0/150
提交評論