




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、JAVAJAVA程序設計程序設計為什么要學習Java 語言2用戶可以使用Java語言開發(fā)和部署基于服務器、臺式機和手持設備上的Internet應用。計算機的未來發(fā)展趨勢受到Internet的深遠影響,Java必是其重要組成部分。 Java 是通用性程序設計語言。 Java 是Internet環(huán)境下的程序設計語言。 Java 不是 JavaScript.Java 語言程序設計3怎樣學好JAVA4第第1 1章章JAVAJAVA語言基礎語言基礎第1章Java語言基礎語言基礎61.1 Java概述概述 1.1.1 Java語言語言 1.1.2 Java的發(fā)展歷史的發(fā)展歷史 1.1.3 Java版本版本
2、 1.1.4 Java語言特征語言特征 1.1.5 Application與與Applet 1.1.6 與與C/C+的比較的比較 1.1.7 類庫與類庫與DOC文檔文檔 1.2 Java 程序結構與運行機制程序結構與運行機制 1.2.1 一個簡單一個簡單 的的Java程序程序 1.2.2 Java運行機制運行機制 1.3 Java開發(fā)環(huán)境開發(fā)環(huán)境 1.3.1 JDK 1.3.2 Eclipse 1.3.3 NetBeans1.4 Java編程參考編程參考1.1 Java概述 70. 0. 高級程序設計語言高級程序設計語言 人們要與計算機交流信息也需要解決一個人們要與計算機交流信息也需要解決一個
3、“語語言言”問題,這就是計算機的程序設計語言。問題,這就是計算機的程序設計語言。 計算機程序設計語言是人們?yōu)榱讼蛴嬎銠C準確計算機程序設計語言是人們?yōu)榱讼蛴嬎銠C準確描述實際情況而設計的,它經(jīng)歷了機器語言、描述實際情況而設計的,它經(jīng)歷了機器語言、匯編語言、高級程序設計語言的發(fā)展歷史。匯編語言、高級程序設計語言的發(fā)展歷史。 目前較為適合人們思維邏輯的語言應該是面向目前較為適合人們思維邏輯的語言應該是面向對象的程序設計語言。對象的程序設計語言。 JavaJava是一種面向對象的程序設計語言。是一種面向對象的程序設計語言。 高級程序設計語言舉例8Image from http:/www.engin.um
4、/CIS/course.des/cis400/ 91.Java語言“write once,run anywhere”Java語言是一種高級編程語言,是SUN公司于1995年推出的類似于C+語言的語言,它與Internet結合,其最大特點是可以在不同的平臺環(huán)境上運行。二十世紀十大科技成果之一Bill gates對Java語言的評價:“Java是長時間以來最為卓越的程序設計語言”。 1.1 Java概述 102. Java的發(fā)展歷史 19901990,Sun MicrosystemsSun Microsystems公司,公司,James James GoslingGoslin
5、g和和Bill JoyBill Joy負責,負責,GreenGreen項目項目- -用于智能消費型電子產(chǎn)品的語言-基于基于 C and C and C+C+的的OakOak SunSun在爭取電視機上的計算機控制器項目中在爭取電視機上的計算機控制器項目中失利,失利,GreenGreen解散解散 19941994,網(wǎng)絡蓬勃發(fā)展,網(wǎng)絡蓬勃發(fā)展,OakOak與與WWWWWW相結合相結合,為,為網(wǎng)頁增加了網(wǎng)頁增加了“動態(tài)的內容動態(tài)的內容” 19951995,JavaJava正式發(fā)布正式發(fā)布 (HotJavaHotJava前身)前身) 19991999,Java1.2 Java1.2 Java2Java
6、2 20042004,Java 5Java 5 20062006,Java 6Java 6 20102010,OracleOracle收購收購SunSun 20112011,Java 7Java 7Dr. James Gosling1.1 Java概述 113. Java版本Java Standard Edition (Java SE)Java Enterprise Edition (Java EE)Java Micro Edition (Java ME) 1.1 Java概述 Java Platform1213Java SE主要用于桌面應用程序開發(fā),是JAVA的基礎。包含Java語言基礎、J
7、DBC數(shù)據(jù)庫操作、I/O輸入輸出、網(wǎng)絡通信、多線程等技術。Java SE 的實現(xiàn): 14Java EE開發(fā)企業(yè)級分布式的網(wǎng)絡程序,如電子商務網(wǎng)站和ERP系統(tǒng),核心為EJB。Java EE的實現(xiàn)當前主流架構 (SSH)15JEE Application Model16Java ME針對消費類的電子設備如掌上電腦、手機、汽車導航系統(tǒng)等。語言精簡、運行環(huán)境高度優(yōu)化。174. Java語言特征 Sun在在JAVA“白皮書白皮書”中指出:中指出: “Java:A simple,object-oriented,distributed,interpreted,robust,secure,architectu
8、re-neutral,portable,high-performance,multi-threaded,and dynamic language”。 JAVA是一種是一種“簡單、面向對象、分布式、解簡單、面向對象、分布式、解釋型、健壯、安全、體系結構中立、可移植、釋型、健壯、安全、體系結構中立、可移植、高性能高性能、多線程、多線程和動態(tài)和動態(tài)”的編程語言的編程語言。/liang/intro8e/JavaCharacteristics.pdf1.1 Java概述 18(1) 簡單性簡單性Java 語法大部分效仿 C+, 但是功能有所提升,并且使用更為簡單
9、。有人比喻 Java 是 “C+-” ,簡單而不簡陋,因為它語法上酷似C+,但是功能更為強大,并且克服了C+的許多弊端。 Java去掉指針,取消多重繼承和運算符重載去掉指針,取消多重繼承和運算符重載。 Java 設立自動內存設立自動內存分配與分配與回收回收機制。機制。19(2) 面向對象面向對象 Java 是純粹的面向對象語言,從最開始就是遵照面向對象方法學設計的,而面向對象(Object-oriented programming ,OOP) 是一種越來越流行的編程實現(xiàn)技術,并逐漸替代傳統(tǒng)的過程編程技術。 JAVA對象有模塊化性質和信息隱藏能力,滿足對象有模塊化性質和信息隱藏能力,滿足面向對象
10、的封裝要求;面向對象的封裝要求; 支持繼承;支持繼承; 通過抽象類與接口通過抽象類與接口支持多態(tài)。支持多態(tài)。20(3) 分布式分布式分布式計算涉及到多臺計算機通過網(wǎng)絡協(xié)同工作。Java設計成使分布式計算易于實施。 Java是面向網(wǎng)絡的語言。通過它提供的類庫可以是面向網(wǎng)絡的語言。通過它提供的類庫可以處理處理TCP/IP協(xié)議協(xié)議,用戶可以通過用戶可以通過URL地址在網(wǎng)絡上地址在網(wǎng)絡上很方便地訪問其它對象很方便地訪問其它對象,Java的網(wǎng)絡編程就猶如的網(wǎng)絡編程就猶如從文件中發(fā)送和接收數(shù)據(jù)般簡單。從文件中發(fā)送和接收數(shù)據(jù)般簡單。21 (4) 魯棒性魯棒性 Java在編譯和運行程序時,都要對可能出現(xiàn)的問題
11、進行檢查,以消除錯誤的產(chǎn)生。通過集成的面向對象的異常處理機制,在編譯時,Java提示出可能出現(xiàn)但未被處理的異常。另外,Java在編譯時還可捕獲類型聲明中的許多常見錯誤,防止動態(tài)運行時出現(xiàn)不匹配問題。它提供自動垃圾收集來進行內存管理,防止程序員在管理內存時容易產(chǎn)生的錯誤。22(5) 安全性安全性 Java 給出了多種安全機制來保護系統(tǒng)免受攻擊性程序的破壞。 Java不支持指針不支持指針,一切對內存的訪問都必須通過一切對內存的訪問都必須通過對象的實例變量來實現(xiàn)。對象的實例變量來實現(xiàn)。 JVM采用的是采用的是“沙箱沙箱”運行模式,即把運行模式,即把java程序的程序的代碼和數(shù)據(jù)都限制在一定內存空間里
12、執(zhí)行,不允代碼和數(shù)據(jù)都限制在一定內存空間里執(zhí)行,不允許程序訪問該內存空間外的內存。許程序訪問該內存空間外的內存。23(6) 體系結構中立體系結構中立(平臺無關性平臺無關性) 編寫一次,到處運行! 只要安裝了Java虛擬機( Java Virtual Machine ,JVM), 編寫的程序就可以在不同的平臺上運行。24(7) 可移植性可移植性 與平臺無關的特性使 Java程序可以方便地被移植到網(wǎng)絡上的不同機器,而不必重新編譯。 Java的類庫中也實現(xiàn)了與不同平臺的接口,使這些類庫可以移植。 Java編譯器是由 Java語言實現(xiàn)的,Java運行時系統(tǒng)由標準 C實現(xiàn),這使得Java 系統(tǒng)本身也具有
13、可移植性。.Source codeCompiler(Pentium).(SPARC)BytecodeInterpreter.(Pentium).(SPARC)25(8) 解釋執(zhí)行解釋執(zhí)行 Java程序被編譯成JVM字節(jié)碼(bytecode)。字節(jié)碼不依賴于機器硬件配置,并可運行于任意安裝了Java解釋器的機器上,其中Java解釋器是Java虛擬機的重要組成部分。 Java解釋器直接對Java字節(jié)碼進行解釋執(zhí)行。 字節(jié)碼本身攜帶了許多編譯時信息,使得連接過程更加簡單。26(9) 高性能高性能 Java的執(zhí)行性能一直飽受非議,其字節(jié)碼的執(zhí)行效率無法與編譯后執(zhí)行語言,如C和C+媲美;但隨著JVM的不
14、斷升級和機器硬件配置的提升,Java程序的整體表現(xiàn)已大為改觀。 和其它解釋執(zhí)行的語言如BASIC不同,Java字節(jié)碼的設計使之能很容易地直接轉換成對應于特定CPU的機器碼,從而得到較高的性能。27(10) 多線程多線程 多線程機制使應用程序能夠并行執(zhí)行,而且同步機制保證了對共享數(shù)據(jù)的正確操作。通過使用多線程,程序設計者可以分別用不同的線程完成特定的行為,而不需要采用全局的事件循環(huán)機制。 多線程編程集成于多線程編程集成于Java環(huán)境中,而很多語言都是環(huán)境中,而很多語言都是需要調用操作系統(tǒng)級別的特定過程才能支持多線需要調用操作系統(tǒng)級別的特定過程才能支持多線程。程。28 (11) 動態(tài)性動態(tài)性 Ja
15、va 的設計使它適合于不斷變化的環(huán)境。在類庫中可以自由地加入新的方法和實例變量而不會影響用戶程序的執(zhí)行。 Java通過接口來支持多重繼承,使之比嚴格的類繼承具有更靈活的方式和擴展性。 295. Java Application與AppletJava程序分兩類: Java Application程序 標準的標準的Java語言程序,與傳統(tǒng)的高級語言功能比較接近;語言程序,與傳統(tǒng)的高級語言功能比較接近; 可以獨立運行的完整的應用程序;可以獨立運行的完整的應用程序; 有自己固定的運行入口點有自己固定的運行入口點 main()。 Java Applet程序 Java所獨有的所獨有的Internet網(wǎng)絡應
16、用程序;網(wǎng)絡應用程序; 被嵌入到被嵌入到HTML中成為主頁的一部分,由中成為主頁的一部分,由Java兼容瀏覽器兼容瀏覽器控制運行,需要安裝插件;控制運行,需要安裝插件; 沒有沒有main()方法,但方法,但有一個從有一個從java.applet.Applet派生的類派生的類。1.1 Java概述 306. Java語言與C/C+的比較 (1)Java(1)Java語言中不允許在類之外定義全局變語言中不允許在類之外定義全局變量,而只能通過在類中定義靜態(tài)變量來實量,而只能通過在類中定義靜態(tài)變量來實現(xiàn);現(xiàn);(2)Java(2)Java語言中沒有語言中沒有gotogoto語句;語句;(3)Java(3
17、)Java語言中沒有指針型變量;語言中沒有指針型變量;(4)(4)內存管理實現(xiàn)了自動化;內存管理實現(xiàn)了自動化;(5)Java(5)Java語言對于不同的數(shù)據(jù)類型定義統(tǒng)一語言對于不同的數(shù)據(jù)類型定義統(tǒng)一的規(guī)格,保證了平臺無關性;的規(guī)格,保證了平臺無關性; 1.1 Java概述 31(6)Java(6)Java語言中不允許像語言中不允許像C C和和C+C+中那樣中那樣任意進行類型轉換;任意進行類型轉換;(7)Java(7)Java語言中無頭文件;語言中無頭文件;(8)Java(8)Java語言中無結構體和聯(lián)合;語言中無結構體和聯(lián)合;(9)Java(9)Java語言中無預處理和宏定義。語言中無預處理和
18、宏定義。JavaJava語言特色:語言特色: 類不支持多重繼承、類不支持多重繼承、Abstract/FinalAbstract/Final類、接口、自動內存回收、多線程類、接口、自動內存回收、多線程327. 類庫與API文檔 Java API是一整套用于實現(xiàn)各種基本功能和其它某些常用功能的Java編程的標準庫,其中提供了各種各樣的類來實現(xiàn)其語言功能。 Java 1.0版:版:9個包,個包,200多個類、接口、異常等;多個類、接口、異常等; Java 1.2版:增加到了版:增加到了16個包,包含有近個包,包含有近500個類。個類。(Java 1.2-1.5都稱為都稱為Java 2) Java 6
19、版:版:202個包,個包,3777個類以及接口、異常等。三萬多個個類以及接口、異常等。三萬多個方法。方法。 JDK6 API中文文檔中文文檔http:/ Java概述 331.2 Java 程序與運行機制1.一個簡單的Java程序 下面是一個最小的Java Application程序的例子,它的功能是在屏幕上顯示“this is a simple program!”。 與下面的C語言程序的運行結果一樣。 main() printf(this is a simple program!n); 34/ Example 2 of Chapter 1/This is a simple instance
20、of java applicationpublic class SimpleApppublic static void main(String args)System.out.println(this is a simple program!);javac SimpleApp.javajava SimpleAppthis s a simple program!例例1.1用用Java語言程序在屏幕上顯示一條語句語言程序在屏幕上顯示一條語句“this s a simple program!” 注釋行主類主方法程序入口應用類結束主方法結束主類35Java Application程序的常用結構pack
21、age語句;語句;/該部分至多只有一句,必須放在源程序的第一句import語句;語句;/*該部分可以有若干import語句或者沒有,必須放在所有的類定義之前*/public class Definition;/公共類定義部分,至多只有一個公共類的定義/java語言規(guī)定該java源程序的文件名必須與該公共類名完全一致class Definition;/類定義部分,可以有0個或者多個類定義interface Definition;/接口定義部分,可以有0個或者多個接口定義36 Java Application程序的結構是:一個程序可以分成若干個文件,一個文件中可以含有若干個類,每個類中包含若干個方
22、法和變量,每個方法中包含若干執(zhí)行語句,還可以包含若干變量。 當源程序被存儲時,如果文件中含有主類,按Java語言的規(guī)定必須以主類名作文件基本名,以java為擴展名。Java字節(jié)碼文件的基本名與源程序文件基本名相同,以class為擴展名。 37程序的運行(JDK下運行,先運行“cmd”進DOS)(1)編譯)編譯C:javac SimpleApp.java編譯源程序為字節(jié)碼文件,以SimpleApp.class文件名存儲。(2)解釋執(zhí)行)解釋執(zhí)行C:java SimpleApp用Java解釋器解釋執(zhí)行該程序的字節(jié)碼文件。 382.Java運行機制 Java程序運行的五個階段: 編輯、編譯、加載、驗
23、證、執(zhí)行編輯、編譯、加載、驗證、執(zhí)行 1.2 Java 程序與運行機制39(1)Java運行時系統(tǒng)運行時系統(tǒng) Java運行時系統(tǒng)(Java Runtime System)是運行Java字節(jié)碼的系統(tǒng),其任務是裝載程序運行時需要的類、安排程序運行中對內存的使用,并且控制字節(jié)碼的執(zhí)行過程。 Java Application:Java解釋器解釋器 Java Applet:Java兼容的兼容的Web瀏覽器瀏覽器 40(2)Java虛擬機虛擬機JavaJava程序執(zhí)行架構程序執(zhí)行架構41 Java虛擬機是SUN公司與其Java合作伙伴一起制定的一項技術規(guī)范。JVM是一個規(guī)范的能運行Java字節(jié)碼的操作平臺
24、,定義有指令集、寄存器組、棧結構、垃圾收集器、存儲區(qū)等五部分邏輯器件,并詳細地規(guī)定了這些組件的規(guī)格。Java虛擬機的實現(xiàn)方案有兩種,既可以用軟件實現(xiàn),也可以用硬件即Java芯片實現(xiàn)。目前的Java系統(tǒng)都是用軟件實現(xiàn)的。 JVM JVM事實上就是可以執(zhí)行事實上就是可以執(zhí)行JavaJava字節(jié)碼的一字節(jié)碼的一臺機器。臺機器。 42高級語言C C語言語言(.c)(.c)機器語言BasicBasic語言語言(.bas)(.bas)JavaJava語言(語言(.java.java)匯編語言機器語言匯編編譯幾種典型語言與幾種典型語言與Java語言執(zhí)行過程的比較語言執(zhí)行過程的比較431. JDK (SUN)
25、2. JBuilder3. JCreator4. Eclipse5. Symantec Caf6. IBM Visual Age for Java, Webshpere7. NetBeans8. Microsoft VJ+ 1.3 Java 開發(fā)環(huán)境441.JDK JDK(Java Developers Kit)是SUN公司開發(fā)的Java編程工具包,可以從SUN公司主頁上免費下載 。 包括編譯器javac、解釋器java、調試器jdb、反匯編器javap、文檔管理器javadoc、Applet預視器appletviewer、類文件打包器jar等。 1.3 Java 開發(fā)環(huán)境45建立JDK環(huán)境:(1 1)獲得)獲得JDKJDK軟件軟件 在Orace公司的網(wǎng)站上( http:/ )可以下載(2 2) 安裝過程安裝過程 JDK7.0安裝過程非常簡單,雙擊jdk-7u5-windows-i586.exe Java開發(fā)工具包JDK目錄 C:Program FilesJavajdk1.7.0_05 Java運行環(huán)境JRS目錄C:Program FilesJavajre7(3 3) 設置開發(fā)環(huán)境設置開發(fā)環(huán)境 開始-控制面板-系統(tǒng)和安全-系統(tǒng)-環(huán)境變量 path用于設置Java編譯、解釋等工具的路徑 Classpath用于設置應用程序類路徑和擴展應用程序類路徑
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB3707T 135-2025 大蔥三系雜交制種技術規(guī)程
- 楚雄州統(tǒng)測數(shù)學試卷
- 海南優(yōu)騰愛科醫(yī)療科技有限公司醫(yī)療器械研發(fā)生產(chǎn)環(huán)評報告表
- 運動解剖學試題冊答案全套
- 協(xié)同推進降碳減污擴綠增長的背景與意義
- 完善基層衛(wèi)生服務網(wǎng)絡建設的策略及實施路徑
- 國內外醫(yī)療機構水污染物排放現(xiàn)狀
- 低空經(jīng)濟發(fā)展趨勢與前景
- 促進醫(yī)療服務的公平性的策略及實施路徑
- 四級人力資源管理師-上半人力(四級)《基礎知識》黑鉆押題4
- 學校桌椅采購投標方案(技術方案)
- 乳腺結節(jié)健康宣教
- GA/T 2012-2023竊照專用器材鑒定技術規(guī)范
- 內部控制及內部審計
- 學前比較教育全套教學課件
- 電工電子技術完整全套教學課件
- 高中歷史:如何上好高一開學第一課(共58張PPT)
- 三年級數(shù)學下冊課件-制作活動日歷-人教版-(共45張PPT)
- 詩歌鑒賞之思鄉(xiāng)懷人詩課件
- 成人高考輔導資料教學課件
- 2022-2023學年廣西壯族河池市小升初考試數(shù)學試卷含答案
評論
0/150
提交評論