




已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Java程序設計, Java程序設計,第一章: 緒論,1.1 Java語言的歷史-1,Java 是什么嗎?,Just another valueless acronym,Java 是一個地名嗎?,1.1 Java語言的歷史-2,1991年4月,Sun公司的James Gosling(詹姆斯高斯林)領導了一個代號為Green的項目 ,其目的是為家用消費電子產(chǎn)品開發(fā)一個分布式代碼系統(tǒng)。 編程語言:基于C+,開發(fā)一種新的語言Oak。,Java創(chuàng)始人 James Gosling博士,1.1 Java語言的歷史-3,Java由來: 項目組骨干人員在咖啡館品嘗著美味的Java(爪哇島特產(chǎn))咖啡。,Java成名:項目組編寫了能夠運行Java程序的HotJava網(wǎng)絡瀏覽器,結果Java一夜成名,迅速流行,甚至被譽為Internet上的世界語。,1.2 什么是 Java -1,JavaTM 技術是: 1、程序設計語言 2、計算平臺 (開發(fā)環(huán)境、應用程序環(huán)境 ),1.2 什么是 Java -2,一、Java是一種高級程序設計語言,并具有如下特點: 簡單性、面向對象、分布式、解釋型、健壯性 安全性、可移植性、高性能、多線程、動態(tài)性,Java 虛擬機 (JVM) 垃圾收集 代碼安全性,1.2 什么是 Java -3,Java程序先被編譯,然后被解釋執(zhí)行。通過編譯器,可以把Java程序編譯成一種中間代碼字節(jié)碼(Byte-code)。字節(jié)碼是可以被Java解釋器解釋的獨立于平臺的代碼,是運行在Java虛擬機(Java VM)上的機器代碼指令。通過解釋器,每條Java字節(jié)指令被分析,然后在計算機上運行。,1.2 什么是 Java -4,Java字節(jié)碼使得“一次編寫,到處運行”成為可能??梢栽谌魏斡蠮ava編譯器的平臺上把Java程序編譯成字節(jié)碼。這個字節(jié)碼可以運行在任何Java VM上。例如,同一個Java程序可以運行在WindowsNT、Solaris和Macintosh上,甚至這個JVM可以是個硬件、一塊芯片。,1.2 什么是 Java -5,JavaTM 虛擬機(JVM)規(guī)范 : Java虛擬機(JVM)是可運行Java字節(jié)碼的假想計算機。只要根據(jù)JVM規(guī)格描述將解釋器移植到特定的計算機上,就能保證經(jīng)過編譯的任何Java代碼能夠在該系統(tǒng)上運行。 Java虛擬機(JVM)規(guī)范是一種用于計算設備的規(guī)范,可用不同的方式(軟件或硬件)加以實現(xiàn)。Java虛擬機包括一套字節(jié)碼指令集、一組寄存器、一個棧、一個垃圾回收堆和一個存儲方法域。編譯虛擬機的指令集與編譯微處理器的指令集非常類似。,1.2 什么是 Java -6,JavaTM 內存垃圾自動回收(Garbage Collector) JavaTM 程序設計語言使程序員不必負責釋放內存,因為它提供了一個后臺系統(tǒng)級線程,用于記錄每一個內存分配操作并保留對每個內存指針的引用計數(shù)。在 Java 虛擬機運行時的空閑周期內,垃圾收集線程查看是否有引用數(shù)已降到 0 的內存指針。如果有,則清除(解除分配)垃圾收集線程所標記的內存。 垃圾收集在 Java 應用程序的生命期內自動發(fā)生,因此不必手動解除對內存的分配。,1.2 什么是 Java -7,JavaTM 不存在不可信任代碼 安全機制 Java 程序設計語言代碼在計算機上實際運行之前已經(jīng)過幾遍測試。字節(jié)碼檢驗器對程序代碼進行四遍測試。它確保代碼遵守 JVM 規(guī)范且不違反系統(tǒng)完整性。如果檢驗器完成所有四遍測試并且未返回錯誤信息,則可以確信下列情況屬實: 1、類遵守 JVM 規(guī)范的類文件格式。 2、沒有違反存取限制。 3、代碼不導致操作數(shù)堆棧溢出或下溢。 4、所有操作碼的參數(shù)類型正確。 5、沒有發(fā)生非法數(shù)據(jù)轉換,例如將整型轉換為指針。 6、對象字段存取合法。,1.2 什么是 Java -8,1.2 什么是 Java -9,二、平臺是程序運行的硬件或軟件環(huán)境。 Java平臺由兩部分組成: Java虛擬機(Java VM) (應用程序環(huán)境) Java應用程序界面(Java API) (開發(fā)環(huán)境) Java VM,它是Java平臺的基礎,可以移植到各種基于硬件的平臺上。( Java操作系統(tǒng)或Java芯片) Java API是軟件組件的集合,它們提供了很多有用的功能,如圖形用戶界面(GUI)。Java API被分組為相關組件的庫(包)。,1.2 什么是 Java -10,作為一種獨立于平臺的環(huán)境,Java比本地代碼慢一些。然而,聰明的編譯器、很好地調制過的解釋器和即時字節(jié)碼編譯器(JIT - just in time compiler)可以在不犧牲可移植性的條件下使Java的表現(xiàn)接近本地代碼。,1.3 Java 的應用領域,Java 已經(jīng)漸漸地滲透到各領域 1。你可以編寫 Java Application 程序,完成其他語言能完成的所有應用程序,而且是跨平臺的,可應用于各行各業(yè); 2。你可以編寫 Java Applet 程序,可以嵌入在瀏覽器中直接運行; 3。你可以編寫 Java Servlet / JSP 程序,將其掛在 Apache 、tomcat或其它網(wǎng)頁服務器上; 4。你可以編寫 EJB/ Java Beans,將其掛在Websphere、Weblogic、IAS或其他應用服務器上; 5。你可以編寫Java MIDlet 程序,在手機上執(zhí)行;,1.4 Java 的安裝-1,Java的安裝:( ) JDK(java development kit): jdk-1_6_0_008-win.exe JRE(java runtime environment): jre-1_6_0_008-win.exe 環(huán)境變量的設置:可通過autoexec.bat文件設置: SET PATH=c:j2sdk1.6bin;. ; %PATH% SET CLASSPATH= c:j2sdk1.6lib;. ; %CLASSPATH% (其中,JDK安裝在c:j2sdk1.6),1.4 Java 的安裝-2,開發(fā)工具: 一、文字模式(console mode)的開發(fā)工具: Sun 的 Java 2 Software Developmnet Kit( Java 2 SDK ),最新版JavaTM SE 6 ( v1.6.0 ,The number 6 is used to reflect the evolving level of maturity, stability, scalability and security of Java SE. )。其中提供24個工具,都放在bin子目錄中,常用的有javac、 java 、appletviewer等。編輯器可使用記事本。 *關于版本號的說明:v 1.1.8 前兩個數(shù)字代表功能的變更,第三個(以及以后的數(shù)字),代表錯誤修訂版。 * J2SE (標準版) J2EE(企業(yè)版)J2ME(微型版),1.4 Java 的安裝-3,二、GUI模式的開發(fā)工具(graphics user interface mode): IDE(Integrated Development Environment,集成開發(fā)環(huán)境):將程序的編輯、編譯、 執(zhí)行、調試等功能整合在一起。如Jcreator2, Freejava2等。 RAD(Rapid Application Development,快速應用程序開發(fā)):除具備IDE功能外,可通過可視(Visual)處理的方法擺設組件(component),所見既所得,并調整其屬性(property),使編寫程序(特別是用戶接口部分)就像搭積木一樣簡便。 如 Jbuilder: Borland公司產(chǎn)品; Eclipse:一種開源的、可擴展IDE,是免費的,我們要使用的集成開發(fā)環(huán)境是Eclipse 。,1.5一個Java程序的開發(fā)過程,1.5.1 一個Java應用程序-1,第一個“Hello World”應用程序 按照以下步驟,可以創(chuàng)建一個Java應用程序。 /用C語言實現(xiàn) # include Main() println(“Hello World”); /用C+語言實現(xiàn) #include void main() cout“Hello Worldn”;,1.5.1 一個Java應用程序,/用Java語言實現(xiàn) 1.建立一個名為HelloWorld.java的文件: public class HelloWorld public static void main(String args) System.out.println(“Hello World”); 2.編譯源文件 用Java編譯器編譯這個源文件。( javac HelloWorld.java) 如果編譯成功,編譯器產(chǎn)生一個與Java源文件(HelloWorld.java)在同一個目錄(文件夾)的名為HelloWorld.class的文件。這個class文件包含Java字節(jié)碼,是可以被Java運行系統(tǒng)解釋的獨立于平臺的代碼。 3.運行應用程序 (java HelloWorld ),1.5.2 一個簡單的Java小應用程序(Java Applet),import java.applet.*; import java.awt.*; public class Boy extends Applet public void paint(Graphics g) g.setColor(Color.red); g.drawString(“我一邊喝著咖啡,一邊學Java呢“,5,30); g.setColor(Color.blue); g.drawString(“我學得很認真“,10,50); ,編譯 c:1000javac Boy.java 運行 Java Applet由瀏覽器來運行,因此我們必須編寫一個超文本文件 (含有applet標記的web頁)通知瀏覽器來運行這個Java Applet。以下是一個簡單的html文件:Boy.html 如果瀏覽器不支持Java Applet程序(比如Win XP 自帶的IE),你也可以使用SDK提供的appletviewer來調試小程序,如,在DOS命令行執(zhí)行: c:1000appletviewer Boy.html,總結:,1、一個java源文件是由若干個類組成的。 一個java應用程序必須有一個類含有main方法,這個類稱為應用程序的主類。Main方法是程序開始執(zhí)行的位置。 2、帶public的類稱為公共類,一個源文件中只能有一個類是public的。 3、源文件的命名規(guī)則: 源文件只有一個類,用類名做源文件名; 如有多個類,有一個public類,用該類名做源文件名, 沒有public類,用任意類名做源文件名。 類名第一個字母大寫,后面小寫,源文件擴展名為.java 當有多個類時,運行java命令后的類名必須是包含了main方法的那個類的名字,即主類名字,如例2。 4、一個java小應用程序也是由若干個類組成的,一個小程序不再需要main方法,但必須有且只有一個類擴展了Applet類,即它是Applet類的子類。把該類叫小程序的主類,主類必須是public的。,復習思考題: (1)試分析Java的跨平臺機制? (2)如何設置Java中的環(huán)境變量?,1.6 Java的反編譯-1,控制臺下的: JAD的使用 圖形用戶界面的: FrontEnd的使用 *使用混淆器加密你的Java程序。,1.7 Java的文檔注釋方法-1,在“/*”和“*/”之間的內容都是文檔注釋。當程序員編完程序以后,可以通過JDK提供的javadoc命令(javacdoc 文件名.java),生成所編程序的API文檔。該API文檔以HTML文件的形式出現(xiàn),與Java幫助文檔的風格與形式完全一致。例如下面的DocTest.java文件: /* 這是一個文檔注釋的例子,主要介紹下面這個類 *author walkman *version 1.1.48 2008/09/1 */ public class DocTest /* 變量注釋,下面這個變量主要是充當整數(shù)計數(shù) */ public int i; /* 方法注釋,下面這個方法的主要功能是計數(shù) */ public void count( ) ,1.8 Java的學習方法-1,在理解課堂教授內容的基礎上,盡量獨立完成課后習題。對于疑難問題,可采用如下辦法解決: a.參考教材配套書籍或其它相關書籍,上機調試程序,自行解決。問人之前,先問自己 。 b.結成學習小組(3人左右),互助學習; c.通過互聯(lián)網(wǎng)的技術社區(qū)或BBS,向高手請教; CSDN論壇 / d.通過參與開發(fā)開源軟件項目,閱讀源代碼,邊開發(fā) 邊學習。(成為高手) e.通過robocode ,機器人坦克大戰(zhàn),邊娛樂邊學習。,官方網(wǎng)站: /,1.8 Java的學習方法-2,向上延伸,向下延伸,向旁延伸 當你發(fā)現(xiàn)你已經(jīng)可以掌握此程序語言基本知識之后,你可以選擇: 1、向上延伸:學習對象導向分析設計、UML、Design Patterns、以及軟件工程。培養(yǎng)自己具有做大型項目的能力。 2、向下深入:深入了解內部底層的機制,例如JVM,操作系統(tǒng)(甚至硬件)內部。 3、向旁延伸:學習不同的API,例如:多媒體、數(shù)據(jù)庫、企業(yè)運算等等,擴展自己的編程能力。 另外,數(shù)據(jù)結構、算法等基礎也很重要。,在人月神化中 ,F(xiàn).Brooks 對他自己做的軟件項目描述為:“史前巨獸在柏油坑中做垂死前的掙扎掙扎得越厲害,柏油就會黏的越緊,沒有任何的猛獸力量夠強,技巧夠高,得以逃過終至滅頂?shù)拿\。在過去的十年,大型系統(tǒng)的程序設計工作就陷進了一個像這樣的柏油坑中。” 在 Quality Softwre Management II 中,G.Weinberg 這樣來描述他自己做軟件項目的經(jīng)驗:“你身處湖心當中,劃著一艘小船,船底有幾個漏洞,水慢慢的滲進來。你想要去堵住漏洞,但卻遭到一大群仲夏兇惡蚊子的攻擊。能夠隨時注意到是否有問題的發(fā)生,或更進一步能預先加以防范(修補漏洞),理論上說來還不錯,但是你得一直忙著去干昨日的問題(不停地打蚊子),完全抽不出空來實現(xiàn)分毫的理論?!?Tom DeMarco 人件,管理,不僅僅是技術,更是充滿人文精神的藝術。,1.9 Java的參考書籍,Sun公司編著 Java程序員認證教材SL-110 Sun公司編著 Java程序員認證教材SL-275 機械工業(yè)出版社 Java編程思想 Java 程序設計大學教程 國外計算機經(jīng)典教材 Java2實用教程 Java 夜未眠,1.10 Java認證考試-1,Java認證考試(Java方面,Sun推出七項認證): - Sun Certified Java Associate (SCJA) - Sun Certified Java Programmer (SCJP) - Sun Certified Java Developer (SCJD) - Sun Certified Web Component Developer (SCWCD) - Sun Certified Business Comp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年旬陽縣數(shù)學三上期末檢測試題含解析
- 七年級 生物學緒論1課件
- 理論結合實踐的衛(wèi)生資格考試試題及答案
- 明晰2025年大學語文考試知識框架試題及答案
- 自考行政管理對策研究試題及答案
- 助力行政法學考試試題與答案
- 2025年執(zhí)業(yè)藥師復習計劃試題及答案
- 綜合解析經(jīng)濟法概論試題及答案
- 行政法學現(xiàn)場案例試題及答案
- 行政管理專科語文考核試題及答案
- 大學軍事理論課教程第四章現(xiàn)代戰(zhàn)爭第二節(jié) 新軍事革命
- 專題四“挺膺擔當”主題團課
- 醫(yī)院體檢電子表格
- 國家義務教育質量監(jiān)測初中美術試題
- 農村現(xiàn)代農業(yè)示范基地建設項目風險評估報告
- 呵護心理健康 安心快樂成長 課件(共18張PPT) 小學生主題班會
- 原發(fā)性肝癌英文版培訓課件
- 執(zhí)業(yè)醫(yī)師血尿相關考核試題
- 學生自行離校的協(xié)議書
- 大概念教學:素養(yǎng)導向的單元整體設計
- 工余安健環(huán)培訓
評論
0/150
提交評論