丁云正
摘要:該文就Java語言的簡單、易學(xué)且純面向?qū)ο蟮奶攸c(diǎn)入手,提出了Java語言的教學(xué)方法,并且通過該方法增強(qiáng)學(xué)生的面向?qū)ο蟮木幊趟枷氲耐緩健?/p>
關(guān)鍵詞:Java 語言;學(xué)習(xí)方法;編程思想
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)34-8206-02
Sun公司在1995年開發(fā)出Java語言。它是一種能跨平臺(tái)的純面向?qū)ο蟮木幊陶Z言。Java名字的由來據(jù)說是Sun公司的研發(fā)人員在印尼爪哇島度假喝咖啡時(shí)產(chǎn)生的靈感。如今,Java語言同Visual C++語言一樣是很多高校計(jì)算機(jī)專業(yè)學(xué)生必學(xué)的一門編程語言。經(jīng)過多年的教學(xué)實(shí)踐,筆者認(rèn)為正如當(dāng)年的BASIC語言引領(lǐng)眾多人學(xué)習(xí)計(jì)算機(jī)軟件開發(fā)那樣,Java語言也能讓現(xiàn)在的大學(xué)生盡快掌握面向?qū)ο缶幊痰乃枷?,從而深入學(xué)習(xí)其它面向?qū)ο缶幊痰恼Z言。
1 Java語言相對(duì)比較容易學(xué)習(xí)和使用
相比與另一門面向?qū)ο缶幊痰恼Z言VC++,Java語言是比較容易學(xué)習(xí)和使用的。這也能解釋為什么Java語言將成為一門流行的編程語言。
1) 語法簡單、功能強(qiáng)大及易于調(diào)試
Java語言的優(yōu)勢(shì)是其取消了VC++中一些比較難學(xué)、難理解的內(nèi)容[1-2]。比如,在Java語言中沒有指針和結(jié)構(gòu)體的概念;程序員不用自己手動(dòng)釋放內(nèi)存空間,這也就避免了因?yàn)閮?nèi)存沖突導(dǎo)致程序崩潰的現(xiàn)象。還有就是程序員利用Java的純面向?qū)ο筇匦约捌涮峁┑呢S富的類庫,可以像搭積木那樣編寫出功能強(qiáng)大的程序。
2) 易學(xué)易用的API文檔[3]
正如微軟公司提供的MSDN一樣,Sun公司也提供了詳細(xì)的API文檔,且這些文檔的結(jié)構(gòu)清晰、簡單。由于MSDN包括了許多編程的原則和方法,許多VC++的初學(xué)者認(rèn)為它很難學(xué)習(xí)和使用。相反,許多的Java初學(xué)者發(fā)現(xiàn)API文檔相當(dāng)簡單、方便使用。并且,利用API文檔很容易理解類庫里面類與類之間的關(guān)系。
3) 程序框架由程序員自己建立
為了節(jié)省開發(fā)時(shí)間,VC++利用應(yīng)用程序向?qū)椭绦騿T建立程序框架。然而,正是由于這些應(yīng)用程序向?qū)沟贸鯇W(xué)者不能很好地掌握程序的框架,并增加調(diào)試程序的難度。這將成為他們學(xué)習(xí)VC++的一個(gè)重大障礙,并影響他們對(duì)VC++的學(xué)習(xí)興趣。相反,Java語言的框架是由程序員自己創(chuàng)建的,這看似有些難,但這能讓初學(xué)者完全掌握程序的整體結(jié)構(gòu)。
另外,雖然類向?qū)芗涌斐绦虻拈_發(fā)進(jìn)度,對(duì)于初學(xué)這來說,一行接一行地輸入某個(gè)類代碼比用類向?qū)?chuàng)建代碼更容易理解和接受。
2 Java語言的學(xué)習(xí)方法
對(duì)于很多初學(xué)者來說,Java語言有著天然易學(xué)的優(yōu)勢(shì),但這僅是一個(gè)基本條件。為了讓學(xué)生利用Java語言更好地學(xué)習(xí)面向?qū)ο缶幊痰乃枷?,筆者總結(jié)出以下方法。
1) 有個(gè)良好的學(xué)習(xí)開端
很多初學(xué)者僅僅知道Java語言是Sun公司開發(fā)的編程語言,并不知道其它的相關(guān)技術(shù),更談不上Java語言未來的發(fā)展趨勢(shì)。教師在一開始就應(yīng)該向?qū)W生介紹Java語言在各個(gè)領(lǐng)域的應(yīng)用極其將來的發(fā)展方向。比如,J2EE和J2ME當(dāng)前的應(yīng)用領(lǐng)域和今后的發(fā)展趨勢(shì)。這樣能激勵(lì)學(xué)生學(xué)習(xí)Java語言的熱情和興趣。
2) 選擇開發(fā)工具
對(duì)于初學(xué)這來說,使用純文本編輯器輸入Java源程序,并在命令行方式下編譯和運(yùn)行,能讓他們掌握相關(guān)的環(huán)境變量及程序運(yùn)行的相關(guān)步驟。相反,如果一開始就讓初學(xué)者使用JBuilder或Elipse之類的集成開發(fā)環(huán)境,會(huì)讓他們?cè)陂_發(fā)工具的使用上花費(fèi)太多的精力,從而分散他們學(xué)習(xí)Java語言的注意力,甚至,他們根本就不知道Java程序本來的運(yùn)行步驟。另外,Visual J++更不值得初學(xué)者使用,因?yàn)樗鼤?huì)影響學(xué)生理解面向?qū)ο缶幊痰母拍睢?/p>
3) 初步了解GUI編程
很多初學(xué)者在一開始就想知道GUI界面是怎么來的。這對(duì)于VC++來說很容易實(shí)現(xiàn),但初學(xué)者并不知道它的實(shí)現(xiàn)原理。教師可以在一開始時(shí)介紹幾個(gè)簡單的GUI界面程序和普通的GUI編程方法,這樣能消除學(xué)生對(duì)Java語言的陌生感及增強(qiáng)學(xué)好Java語言的信心。
4) 重點(diǎn)講解面向?qū)ο缶幊痰乃枷?/p>
Java是一門純面向?qū)ο缶幊陶Z言。在一學(xué)完Java語言的基本語法后,教師就應(yīng)該通過一些簡單的例程重點(diǎn)介紹面向?qū)ο缶幊痰姆椒ê退枷?。另外,因?yàn)槊嫦驅(qū)ο蟮木幊趟枷肱c現(xiàn)實(shí)生活中的很多現(xiàn)象相似,所以可以采樣類比的方法講解相關(guān)的概念。比如,繼承的概念可以與人類社會(huì)的繼承類比,蛋糕和模具可以類比于對(duì)象和類。同時(shí),要讓學(xué)生懂得理解面向?qū)ο缶幊趟枷胧菍W(xué)好Java語言的基礎(chǔ)。
5) 教會(huì)學(xué)生如何使用API文檔
對(duì)于初學(xué)這來說,API文檔就象學(xué)習(xí)外語時(shí)使用的詞典。所以,教師要花一定的時(shí)間教會(huì)學(xué)生如何去下載和參考API文檔。當(dāng)學(xué)生學(xué)會(huì)了如何去使用API文檔后,他們會(huì)通過API文檔里面的類的關(guān)系理解面向?qū)ο缶幊痰南嚓P(guān)內(nèi)容。這將為他們掃除閱讀Java程序時(shí)遇到的障礙。同時(shí),為他們進(jìn)一步學(xué)習(xí)Java語言打下扎實(shí)的基礎(chǔ)。作為教師,我們可以在程序里面使用java.lang包里面的Math類提供的常量“π”來計(jì)算圓的面積和周長。以此為例,讓學(xué)生感受API的使用方法。
6) 編寫GUI程序
為了滿足初學(xué)者編寫自己具有自己特點(diǎn)的GUI程序,教師可以引導(dǎo)學(xué)生如何結(jié)合API提供的類設(shè)計(jì)自己的界面。比如,可以啟發(fā)學(xué)生如何用自己喜歡的圖標(biāo)代替Java的標(biāo)志(一杯冒熱氣的咖啡)。以此激發(fā)學(xué)生學(xué)習(xí)Java的熱情和興趣。
3 教學(xué)過程中需注意的幾個(gè)問題
經(jīng)過多年的教學(xué)實(shí)踐,筆者認(rèn)為在講授Java語言的過程中需要注意以下幾個(gè)問題:
1) 在講解語法時(shí)最好通過程序讓學(xué)生理解語法的內(nèi)容,而不應(yīng)該是機(jī)械地記憶語法。比如以下的程序
4 總結(jié)
增強(qiáng)學(xué)生面向?qū)ο缶幊趟枷胧怯?jì)算機(jī)軟件教學(xué)過程中的一項(xiàng)基礎(chǔ)工作。如果在教學(xué)過程中能恰到好處地利用Java語言,這個(gè)問題將會(huì)得到很好的解決。這也能幫助學(xué)生順利地完成今后相關(guān)的學(xué)習(xí)任務(wù)。
參考文獻(xiàn):
[1] Harvey M.deitel and Paul J.Deitel, Java How to program, 3E[M]. Prentice-Hall, N.J., 1999.
[2] Bruce Eckel, Thinking in Java [M]. 4th ed .Prentice Hall, N.J., 2007.
[3] Sun Microsystems, JavaTM Platform Standard Edition 6 API document[S].endprint