JAVA語(yǔ)言與面向?qū)ο蟮某绦蛟O(shè)計(jì).ppt_第1頁(yè)
JAVA語(yǔ)言與面向?qū)ο蟮某绦蛟O(shè)計(jì).ppt_第2頁(yè)
JAVA語(yǔ)言與面向?qū)ο蟮某绦蛟O(shè)計(jì).ppt_第3頁(yè)
JAVA語(yǔ)言與面向?qū)ο蟮某绦蛟O(shè)計(jì).ppt_第4頁(yè)
JAVA語(yǔ)言與面向?qū)ο蟮某绦蛟O(shè)計(jì).ppt_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1,JAVA 程序設(shè)計(jì),2,課程簡(jiǎn)介,Sun公司這樣形容自己的Java語(yǔ)言:它是一種簡(jiǎn)單、面向?qū)ο?、分布式、解釋型、穩(wěn)定、安全、結(jié)構(gòu)中立、易移植、高性能、多線程的動(dòng)態(tài)語(yǔ)言。,Java 語(yǔ)言是當(dāng)今流行的網(wǎng)絡(luò)編程語(yǔ)言,它的面向?qū)ο?、跨平臺(tái)、分布應(yīng)用等特點(diǎn)給編程人員帶來(lái)了一種嶄新的計(jì)算概念,使WWW 從最初的單純提供靜態(tài)信息發(fā)展到現(xiàn)在的提供各種各樣的動(dòng)態(tài)服務(wù),產(chǎn)生了巨大的變化。Java 不僅能夠編寫小應(yīng)用程序?qū)崿F(xiàn)嵌入網(wǎng)頁(yè)的聲音和動(dòng)畫功能,而且還能夠應(yīng)用于獨(dú)立的大中型應(yīng)用程序,其強(qiáng)大的網(wǎng)絡(luò)功能能夠把整個(gè)Internet 作為一個(gè)統(tǒng)一的運(yùn)行平臺(tái),極大地拓展了傳統(tǒng)單機(jī)或Client/Server 模式應(yīng)用

2、程序的外延和內(nèi)涵。,微軟總裁Bill Gates認(rèn)為“Java是長(zhǎng)期以來(lái)最卓越的程序設(shè)計(jì)語(yǔ)言”。,3,4,圖 語(yǔ)言的發(fā)展使鴻溝變窄,5,課程目標(biāo),了解面向?qū)ο蟪绦蛟O(shè)計(jì)的思想,以及軟件開(kāi)發(fā)流程。 學(xué)習(xí)Java語(yǔ)言的基本概念和編程方法,基本掌握J(rèn)ava類庫(kù)的使用。 能夠利用所學(xué)的方法開(kāi)發(fā)簡(jiǎn)單的小型應(yīng)用程序。,6,共80課時(shí) 56+24 一周的課程設(shè)計(jì),課時(shí)安排,考試,考試課 5學(xué)分 課程成績(jī)=平時(shí)成績(jī)+期末考試成績(jī),7,北京大學(xué)信息技術(shù)系列教材,8,目錄,第1章 Java語(yǔ)言與面向?qū)ο蟮某绦蛟O(shè)計(jì) 第2章 簡(jiǎn)單的Java程序 第3章 數(shù)據(jù)運(yùn)算、流控制和數(shù)組 第4章 類、包和接口 第5章 深入理解Ja

3、va語(yǔ)言 第6章 異常處理 第7章 工具類及常用算法 第8章 Java的多線程 第9章 流、文件及基于文本的應(yīng)用 第10章 圖形用戶界面 第11章 網(wǎng)絡(luò)、多媒體和數(shù)據(jù)庫(kù)編程,9,第1章 JAVA語(yǔ)言與面向?qū)ο蟮某绦蛟O(shè)計(jì),本章主要內(nèi)容,Java簡(jiǎn)介,10,1.1 JAVA語(yǔ)言簡(jiǎn)介,Java的歷史,Java語(yǔ)言之父-James Gosling JAVA是SUN公司于上世紀(jì)90年代開(kāi)發(fā)的。 JAVA最初為用于家用電器而開(kāi)發(fā)。 1991 年,SUN MicroSystem 公司的 Jame Gosling,Bill Joe 等人,為在電視機(jī)、控制烤面包箱等家用消費(fèi)類電子產(chǎn)品上進(jìn)行交互式操作而開(kāi)發(fā)了一個(gè)

4、名為 Oak (一種橡樹的名字)的軟件。,代碼短小、緊湊、 與平臺(tái)無(wú)關(guān),11,Java的歷史,2010年9月 JDK7.0發(fā)布。,12,Java的版本,目前,JAVA有三個(gè)版本: Java Platform, Standard Edition(Java SE:Java平臺(tái)標(biāo)準(zhǔn)版) 用于工作站和小型機(jī),也是我們學(xué)習(xí)JAVA時(shí)的編譯和運(yùn)行環(huán)境。 Java Platform, Enterprise Edition(Java EE:Java平臺(tái)企業(yè)版) ,用于開(kāi)發(fā)大型、計(jì)算密集型工程。 Java Platform, Micro Edition(Java ME:Java平臺(tái)微型版) 用于小型平臺(tái),如手機(jī)

5、,家用電器等。,13,1.1.2 JAVA的特點(diǎn),Java語(yǔ)言簡(jiǎn)單而高效 基本Java系統(tǒng)(編譯器和解釋器)所占空間不到250 KB。 面向?qū)ο?平臺(tái)無(wú)關(guān)性 安全穩(wěn)定 摒棄了指針數(shù)據(jù)類型;數(shù)組下標(biāo)越界檢查機(jī)制;自動(dòng)內(nèi)存管理機(jī)制。 支持多線程 很好地支持網(wǎng)絡(luò)編程(Applet) Java 豐富的類庫(kù)(各種包齊備),14,3可移植性(平臺(tái)無(wú)關(guān)性) 程序的可移植性指的是程序不經(jīng)修改而在不同硬件或軟件平臺(tái)上運(yùn)行的特性??梢浦残栽谝欢ǔ潭壬蠜Q定了程序的可應(yīng)用性。 可移植性分為兩個(gè)層次:源代碼級(jí)可移植性和二進(jìn)制代碼級(jí)可移植性。C和C+只具有一定程度的源代碼級(jí)可移植性,其源程序要想在不同平臺(tái)上運(yùn)行,必須重新

6、編譯。而Java不僅源代碼級(jí)是可移植的,甚至源代碼經(jīng)過(guò)編譯之后形成的二進(jìn)制代碼字節(jié)碼,也同樣是可移植的。,15,Java采用了多種機(jī)制來(lái)保證可移植性,其中最主要的有兩條: 第一,Java既是編譯型又是解釋型的。 Java程序的最終執(zhí)行需經(jīng)過(guò)兩個(gè)步驟:編譯和解釋。Java將源程序編譯成字節(jié)碼二進(jìn)制代碼,這種字節(jié)碼通過(guò)Java解釋器來(lái)解釋執(zhí)行。任何一臺(tái)機(jī)器,只要配備了Java解釋器,就可以運(yùn)行Java字節(jié)碼,而不管這種字節(jié)碼是在何種平臺(tái)上生成的。因此,Java編程人員在進(jìn)行軟件開(kāi)發(fā)時(shí),不必考慮軟件的運(yùn)行平臺(tái)。此外,Java通過(guò)預(yù)先把源程序編譯成字節(jié)碼,避免了傳統(tǒng)解釋型語(yǔ)言的執(zhí)行效率低的性能瓶頸。J

7、ava語(yǔ)言與傳統(tǒng)語(yǔ)言的不同運(yùn)行機(jī)制如圖1.2所示。,16,圖1.2 Java語(yǔ)言與傳統(tǒng)語(yǔ)言的不同運(yùn)行機(jī)制 (a) 傳統(tǒng)語(yǔ)言程序的運(yùn)行機(jī)制;(b) Java語(yǔ)言程序的運(yùn)行機(jī)制,17,由Java源程序編譯生成的字節(jié)碼不是直接在操作系統(tǒng)平臺(tái)上運(yùn)行,而是在一個(gè)稱為Java虛擬機(jī)(JVM)的平臺(tái)上運(yùn)行。利用JVM把Java字節(jié)碼跟具體的軟硬件平臺(tái)分隔開(kāi),就能保證在任何機(jī)器上編譯的Java字節(jié)碼文件都能在該機(jī)上運(yùn)行。,Java虛擬機(jī)(Java Virtual Machine, JVM),虛擬機(jī)也叫運(yùn)行時(shí)系統(tǒng)。 Java代碼編譯后生成的.class文件不是二進(jìn)制可執(zhí)行代碼,而是字節(jié)碼,它是經(jīng)過(guò)高度優(yōu)化的一系

8、列指令序列。最終由JVM解釋執(zhí)行。 不同的操作系統(tǒng)有不同的虛擬機(jī)。它類似一個(gè)小巧而高效的CPU。運(yùn)行在不同操作系統(tǒng)平臺(tái)上,抹平了不同操作系統(tǒng)之間的差異。,18,Java的編譯與執(zhí)行過(guò)程,一次編譯,到處運(yùn)行! 不同的操作系統(tǒng)有不同的虛擬機(jī),19,第二,Java采用的是基于國(guó)際標(biāo)準(zhǔn)IEEE標(biāo)準(zhǔn)的數(shù)據(jù)類型。 Java的數(shù)據(jù)類型在任何機(jī)器上都是一致的,它不支持特定于具體的硬件環(huán)境的數(shù)據(jù)類型,它還規(guī)定同一種數(shù)據(jù)類型在所有實(shí)現(xiàn)中必須占據(jù)相同的空間大小(C+的數(shù)據(jù)類型在不同的硬件環(huán)境或操作系統(tǒng)下占據(jù)的內(nèi)存空間是不同的)。通過(guò)在數(shù)據(jù)類型的空間大小方面采用統(tǒng)一標(biāo)準(zhǔn),Java成功地保證了其程序的平臺(tái)獨(dú)立性。,20

9、,此外,Java的可移植性還體現(xiàn)在Java的運(yùn)行環(huán)境上。Java編譯器是用Java語(yǔ)言本身編寫的,而其他編程語(yǔ)言運(yùn)行的環(huán)境則是用ANSI C編寫的,Java的整個(gè)運(yùn)行環(huán)境體現(xiàn)了一個(gè)定義良好的可移植性接口。Java語(yǔ)言規(guī)范還遵循POSIX標(biāo)準(zhǔn),這也是使Java具有良好可移植性的重要原因。,21,1.1.3 Java 語(yǔ)言與C、C+語(yǔ)言的區(qū)別,Java由C+發(fā)展而來(lái),保留了C+的大部分內(nèi)容,句法更清晰、規(guī)模更小、更容易學(xué)。并從根本上解決了C+的固有缺陷。,1、java 沒(méi)有指針概念,從而徹底解決了因指針操作失誤,造成指針懸空引起的系統(tǒng)崩潰。 2、java不支持多重繼承,避免了C+的很多麻煩,但允許

10、一個(gè)類實(shí)現(xiàn)多個(gè)接口。 3、java自動(dòng)進(jìn)行無(wú)用內(nèi)存回收。 4、java不提供goto語(yǔ)句。 5、java的平臺(tái)無(wú)關(guān)性, 6、java程序的分布式和多線程特點(diǎn)。 7、 java小程序和應(yīng)用程序。 8、數(shù)據(jù)類型長(zhǎng)度固定 9、類型轉(zhuǎn)換(類型相容性檢查) ,22,JAVA語(yǔ)言應(yīng)用前景廣泛,所有面向?qū)ο蟮膽?yīng)用開(kāi)發(fā)。 可視化、可操作化的軟件開(kāi)發(fā)。 動(dòng)態(tài)畫面的設(shè)計(jì) 交互操作的設(shè)計(jì) Internet 的系統(tǒng)管理功能模塊 Intranet上的軟件開(kāi)發(fā) 數(shù)據(jù)庫(kù)應(yīng)用(SQL). 其他應(yīng)用類型的程序。,23,目前移動(dòng)開(kāi)發(fā)的平臺(tái)非常多,蘋果的iPhone OS、Google的Android、微軟的Windows Phone、RIM的BlackBerry、老牌手機(jī)霸主諾基亞的Symbian以及諾基亞和英特爾合力打造的MeeGo等等

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論