?? java.txt
字號:
第一章 Java語言概述
終于要開始《Java編程基礎》這門課了,從學生的眼中可以看到一種期待,但我覺得學生們都有一種誤解,覺得這門課學好了就是學好Java了,對二年的J2EE學習會產生決定性的影響。可是實際上,這門課就像它的名字一樣,只是一個基礎,它的目的就是能讓大家掌握Java的基本語法,能夠使用Java語言來實現面向對象而已,從對J2EE學習的影響性來說,我覺得這門課的地位還不如《ASP網絡編程》。
當然我并不是想說Java基礎不重要,只是沒有重要到需要放棄畢業設計來聽這門課(是的,有幾個學生已經準備這么干了)。
翻了一下這本書的目錄,發現它可以分為兩個階段——第一階段:使用Java語法來實現面向對象,面向對象的基本概念在C++課程里面已經介紹了,我想這部分的進行會相對容易,當然了,需要給學生們指出Java和C++在實現面向對象上的區別;第二階段:使用Java進行圖形編程,簡單說,用Java來實現VB那一套東西,不知道學生們用慣了VB的可視化編程,能不能適應手工生成界面。
就這些內容可能有些單薄吧,我在想,中心還專門為Java增加了3節理論課,這樣算下來會有14節課來介紹Java。嗯……可以用增加的理論課來介紹設計模式(Design Pattern)!這應該是個好主意,能讓學生們學到更專業的開發知識,不過對于他們來說會不會太難呢?隨著課程進行看吧,反正我也不準備把23種設計模式都講一遍。
我制定的Java授課計劃
好了,開始上課了,課前大鵬問我Java難不難,引用一句古文“人之為學有難易乎,為之,則難者亦易矣”。
從頭講起,Java的歷史、發明者……這些東西我最討厭,一筆代過。開始介紹Java的幾個基本特點:
簡單:沒有的指針操作;
健壯性:無須手工管理內存;
可移植性:地球人都知道Java是跨平臺的。
就說這么多吧,關于Java高性能這部分實在不想多講,搞過Java開發的人都知道Java也許不是世界上最好的語言,但絕對是運行速度最慢的語言。
重點要說一下Java虛擬機(JVM),它是保證Java語言能跨平臺運行的關鍵。想象聯合國開大會的例子,來自中國,美國,法國,德國的一大群發言人準備說話了,為了保證其他人也能聽得懂,需要一個翻譯團,對翻譯團中每個團員的要求就是至少懂得英語和另一門語言。現在中國的發言人說話了,懂英語和漢語的翻譯會首先將中文翻譯成英文,然后不同語種的翻譯再根據英文翻譯成各自的文字。如果聯合國增加了一個成員“土撥國”,他們講“土撥語”,那很簡單,增加一名會說“土撥語”和英語的翻譯就可以了。
這也就是Java虛擬機的運行模式,我們都知道寫好源代碼以后要進行編譯,傳統語言(VB, VC)都會直接將源代碼編譯成能在某固定操作系統下運行的EXE程序(我們都知道windows程序不能在Dos下運行),而Java則是將源代碼編譯成我們稱之為“字節碼”的中間文件(我們例子中的英語),OK,就到此為止了。顯然這個中間文件是無法直接執行的,現在Java虛擬機登場了,我們執行一個中間文件的流程是:Java虛擬機將中間文件讀入,翻譯成能在本操作系統下運行的文件,然后執行之。假如現在我們新增一個操作系統,名為“土撥系統2005”(Turbo System 2005),如果想讓我們的Java在上面跑起來,只需要sun公司開發一個在“土撥系統2005”下運行的Java虛擬機就可以了(Java Virtual Machine for Turbo System 2005)。
講到這兒發現一些學生已面露迷茫之色,趕快講些容易的,從剛才的描述可知,我們開發Java程序需要先編寫源代碼(*.java文件),然后將源代碼編譯成中間文件(*.class文件),最后通過Java虛擬機執行,對應這個過程,我們需要三種武器:編輯器、編譯器和Java運行環境。
編輯器的目的是讓我們方便的開發源代碼,好的編輯器支持語法高亮顯示,輸入“.”出現成員列表等功能,當前企業開發中最常用的編輯器應該是Borland公司的 JBuilder,最新版本2005版;還有現在最熱門的開源項目( 搜索互聯網,了解開源項目) Eclipse,最新版本3.0;不過作為入門,我讓學生們先用 JCreator 3.5,注意,它的3.1版本在顯示中文時有問題。
編譯器包含在JDK(Java Develop Kits)中,它將源代碼轉換成中間文件,在sun公司的官方網站上,可以找到JDK1.4.2版和JDK1.5版,其中1.5版是最新的,里面還附帶了一個叫NetBeans的編輯器,但是速度很慢,我推薦學生下載JDK1.4.2版,如果英文基礎好的話,還可以同時下載JavaDoc,里面有java的幫助,有點像MSDN,只不過是純英文的。
Java運行環境JRE(Java Runtime Environment)中最重要的組成部分就是Java虛擬機,它也已經包含在JDK中了,然而,如果我們想確保Java程序能在別人的機器上運行,對方至少應該安裝一個JRE。
最后講講配置問題,我建議學生先安裝JDK,再安裝編輯器,這樣可以省去很多配置的麻煩。從書上得知要運行Java程序還需要配置三個系統參數:Path,ClassPath和Java_Hone,它們指明了JDK的安裝為之;實際上,除非你想在DOS環境下手工編譯程序,否則你根本不需要它們,因為編輯器是會自己尋找JDK安裝位置的,像JBuilder甚至還自帶了一個JDK。
呼~~長舒一口氣,休息一下吧,口干舌燥了。
第二節課我先介紹了一下當今Java比較流行的三個分支,這些名詞你肯定聽過:J2SE,J2EE和J2ME。
1. J2SE (Java 2 Platform,Standard Edition)
指Java 1.2版以上的標準開發包
開發J2SE程序需要的編譯器為JDK,編輯器有記事本,JCreator, JBuilder (Borland), Eclipse (OpenSource), NetBeans(SUN), Visual Age For Java(IBM)等
如果要運行J2SE程序,需要安裝JRE (Java Runtime Environment)
2. J2EE (Java 2 Platform,Enterprise Edition)
Java2企業版由Jsp + Servlet + JavaBean + EJB組成
運行企業版程序需要J2EE容器,比如WebLogic, WebSphere等
3. J2ME (Java 2 Platform,Micro Edition)
專門運行在移動設備和無限設備上的Java,手機游戲很多用此開發
好了,介紹部分就這么多吧,我要開始演示Hello World了,學生都很奇怪,為什么Java的源文件名要和類名完全一致,哎,記住就行了,管它那么多。大家對main函數的聲明叫苦不迭,那么長阿。其實我們仔細分析一下,會發現里面沒有一個多余的單詞:
public static void main(String args[]) { …… }
public將main聲明成公用,當然了,因為main函數是程序的起點,由Java虛擬機自動調用,如果是私有,不就訪問不到了嘛;下一個是static,將函數聲明稱靜態,由C++的知識我們知道,只有靜態函數可以被直接訪問,這也是為了讓Java虛擬機能夠方便的開始我們的程序;void說明main函數沒有返回值,而括號里面的數組表示了命令行參數,在我們還沒有圖形界面之前,我們幾乎只能靠這種方式來接收用戶的輸入。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -