Java語言程序設(shè)計(Java語言概述)課件_第1頁
Java語言程序設(shè)計(Java語言概述)課件_第2頁
Java語言程序設(shè)計(Java語言概述)課件_第3頁
Java語言程序設(shè)計(Java語言概述)課件_第4頁
Java語言程序設(shè)計(Java語言概述)課件_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Java語言程序設(shè)計呂鳳翥 馬 皓1第1頁,共47頁。課程提綱Java語言概述Java語言語法基礎(chǔ)面向?qū)ο蟮奶卣鰽pplet及其應(yīng)用圖形用戶界面設(shè)計異常線程集合操作Java輸入/輸出網(wǎng)絡(luò)編程2第2頁,共47頁。參考資料Java語言程序設(shè)計,呂鳳翥、馬皓編著,清華大學出版社Java編程思想,第2版,候捷譯,計算機科學叢書,機械工業(yè)出版社The Java Tutorial, a practical guide for programmers, /docs/books/tutorialThinking in Java, 2nd edition, Revision 11, 2000, Bruce Ec

2、kel, Thinking in Java, 3rd Edition Revision 4.0, Bruce EckelThe Java Language Specification, 2nd Edition, James Gosling, Bill Joy, Guy Steele, Gilad Bracha3第3頁,共47頁。第一章 Java語言概述Java的發(fā)展什么是Java?Java程序介紹Java程序運行環(huán)境4第4頁,共47頁。Java的發(fā)展早期的歷史1991年,Sun Microsystems公司建立“the Green Project”(Secretly),13個成員,目的開發(fā)消費

3、電子類產(chǎn)品市場(嵌入式設(shè)備),初始選擇C+語言1992年夏天,*7設(shè)備,運行在一種全新的、對立于處理器的語言“Oak”,潛在的市場有線電視Green TeamFirstPerson Team(70人),電視機頂盒/video-on-demand,市場不成熟 ? ? ?James Gosling, Bill Joy, and Eric Schmidt “why not the Internet? 在Mosaic瀏覽器的基礎(chǔ)上開發(fā)“WebRunner”,“Hollywood-meets-Silicon-Valley”的兩個演示(3D動態(tài)分子、線排序)5第5頁,共47頁。Java的發(fā)展早期的歷史Ja

4、va面世1995年3月,“1.0a” 7/8份二進制拷貝,“1.0a2”源代碼公布在Internet下載數(shù)量和反饋郵件劇增On May 23, 1995, John Gage, director of the Science Office for Sun Microsystems, and Marc Andreessen, cofounder and executive vice president at NetscapeTM, stepped onto a stage and announced to the SunWorld audience that JavaTM technology

5、was real, it was official, and it was going to be incorporated into Netscape NavigatorTM, the worlds portal to the Internet. 6第6頁,共47頁。Java的發(fā)展歷史記錄 - WhoJames Gosling: Green Team original, FirstPerson employee, original member Java Products Group, lead engineer and keyarchitect of Java technologyBill

6、 Joy: Cofounder and vice president, Sun Microsystems, Inc., principal designer of the University of California, Berkeley, version of the UNIX operating systemEric Schmidt: Former Sun Microsystems chief technical officer, Former Novell chairman and CEO, Chairman of the Board and CEO, Google Inc.7第7頁,

7、共47頁。Java的發(fā)展歷史記錄* 7: A new SPARC based, handheld wireless PDA, with a 5 color LCD with touchscreen input8第8頁,共47頁。Java的發(fā)展的主頁9第9頁,共47頁。Java的發(fā)展五年回顧(19962000)1995年May 23, Java technology launched 1996年Jan 23, JDK 1.0 software releaseMay 29, first JavaOne developer conference (JavaBeans, Java Media APIs

8、, servlets, etc)July 10, 50,000 people attend Sun Java Day in TokyoAug 16, Sun/Addison-Wesley (The Java Tutorial and the first Java Language Specification)Sep, 83,000 Web pages have incorporated Java technologyOct 25, Sun announces first Just-In-Time (JIT) compiler for Java platformOct 29, Java Card

9、 API announcedDec 9, JDK 1.1 beta software released10第10頁,共47頁。Java的發(fā)展五年回顧(19962000)1997年Feb 18, JDK 1.1 release shipsMar 4, Java Web Server beta and Java Servlet Developers Kit software releasedMar 10, Java Naming and Directory Interface (JNDI) API introducedMar 11, More than 220,000 downloads of J

10、DK 1.1 software in just three weeksApr 2, JavaOne conference (10,000 attendees, the worlds largest developer conference), Enterprise JavaBeans technologyAug 5, Java Media and Communication APIs releasedAug 5, More than 100,000 downloads of JavaBeans Development Kit softwareSep 23, Java Developer Con

11、nection program has 100,000+ members11第11頁,共47頁。Java的發(fā)展五年回顧(19962000)1998年Jan 20, JDK 1.1 software release downloads top 2 millionMar 24, JavaOne conference draws 15,000Mar 31, Ericsson, Sony, Siemens, BEA, OpenTV and others license Java technologyJune 3, Visa launches worlds first smart card based

12、on Visas Open Platform and Suns Java Card technologyNov 5, Sun works with Linux Community on Java 2 software port to LinuxDec 8, Java 2 platform ships12第12頁,共47頁。Java的發(fā)展五年回顧(19962000)1999年Jan 13, Major consumer electronics manufacturers support Java technology for digital televisionFeb 24, Java 2 pl

13、atform source code releasedMar 4, XML support for Java platform unveiledMar 27, Java HotSpot performance engine unveiledJune 2, JavaServer Pages technology unveiledJune 15, JavaOne developer conference draws 20,000June 15, Sun announces three editions of Java platform: J2SE, J2EE, J2MEJune 29, J2EE

14、Reference Implementation Alpha shipsAug 25, J2SE version 1.3 beta software releasedAug, The JavaPhone API specification included in an approved GSM standard by the European Telecommunications Standards Institute 13第13頁,共47頁。Java的發(fā)展五年回顧(19962000)1999年Sep 30, J2EE beta software releasedDec 8, J2EE pla

15、tform shipsDec 8, J2SE platform on Linux ships2000年Apr 19, J2EE platform licensed to Art Technology Group, BEA Systems, Compaq, Hitachi, SilverStream, Sybase, .May, Membership in Java Developer Connection program tops 1.5 millionMay 8, Sun to work with Chinese TV industry to define interactive digit

16、al TV spec for China TVMay 8, J2SE v. 1.3 platform releasedMay 17, J2SE v 1.3 platform gains industry support from Apple with Mac OS X14第14頁,共47頁。第一章 Java語言概述Java的發(fā)展什么是Java?Java程序介紹Java程序運行環(huán)境15第15頁,共47頁。什么是Java?Java Technology編程語言(Programming Language)運行平臺(Platform)16第16頁,共47頁。什么是Java?Java編程語言的特點簡單(

17、Simple)面向?qū)ο?Object oriented)解釋性(Interpreted)平臺獨立和可移植(Architecture neutral & Portable)魯棒和安全(Robust & Secure)多線程(Multithreaded)分布式(Distributed)高性能(High performance)動態(tài)(Dynamic)17第17頁,共47頁。Java編程語言的特點簡單(Simple)簡單易學不存在指針、單一繼承、內(nèi)存空間自動回收面向?qū)ο?Object oriented)類和對象數(shù)據(jù)和方法的封裝封裝、繼承、多態(tài)性注重于數(shù)據(jù)和操作數(shù)據(jù)的方法,而不是流解釋性(Interpr

18、eted)Java編譯器生成字節(jié)碼,Java解釋器執(zhí)行字節(jié)碼鏈接過程簡單,僅僅將新的類裝載(load)入運行環(huán)境什么是Java?18第18頁,共47頁。Java編程語言的特點平臺獨立(Architecture neutral)和可移植(Portable)Java編譯器產(chǎn)生的字節(jié)碼(bytecode)可運行在異種網(wǎng)絡(luò)環(huán)境中(不同的硬件系統(tǒng)和不同的操作系統(tǒng))Java程序在不同的平臺中行為一致,不存在數(shù)據(jù)類型的不一致等現(xiàn)象什么是Java?19第19頁,共47頁。Java編程語言的特點魯棒/健壯(Robust)和安全(Secure)取消了指針的不安全性,增強了程序的健壯性內(nèi)存管理簡單,“new”構(gòu)造對

19、象,對象釋放(automatic garbage collection)可靠的語言: compile-time checking和run-time checking網(wǎng)絡(luò)環(huán)境的應(yīng)用不會產(chǎn)生惡意行為,為Java程序構(gòu)造一個個(Sandbox,具有安全策略的限制),提高了安全性什么是Java?20第20頁,共47頁。Java編程語言的特點多線程(Multithreaded)例: 瀏覽器應(yīng)用中,播聽音樂/拖動頁面/后臺下載頁面線程類: java.lang.Thread/Runnable/ThreadGroup等原語支持: synchronized、wait()、notify()分布式(Distribu

20、ted)支持網(wǎng)絡(luò)應(yīng)用, .*URL類Socket類、ServerSocket類DatagramSocket類、DatagramPacket類什么是Java?21第21頁,共47頁。Java編程語言的特點高性能(High performance)解釋性的語言,沒有C語言快“Just-In-Time” JIT編譯器,在運行時將Java字節(jié)碼轉(zhuǎn)變?yōu)闄C器碼Java HotSpot Compilers動態(tài)(Dynamic)Java語言在執(zhí)行的鏈接(link)階段是動態(tài)的class類僅在需要時被鏈接被鏈接的代碼模塊可以有不同的來源,從本地或從網(wǎng)絡(luò)什么是Java?22第22頁,共47頁。平臺(Platfor

21、m)程序運行的硬件和軟件環(huán)境操作系統(tǒng)平臺Windows 2000、Linux、Solaris、MacOS操作系統(tǒng)與硬件的結(jié)合Java運行平臺(Platform)Java虛擬機(Java Virtual Machine, Java VM)Java解釋器Java開發(fā)工具或可運行applet的Web瀏覽器 Java應(yīng)用編程接口(Java Application Programming Interface, Java API) 什么是Java?23第23頁,共47頁。Java運行平臺(Platform)J2SE Platform (Java 2 Standard Edition)Java Runtim

22、e Environment (JRE) Java虛擬機、庫函數(shù)、運行Java應(yīng)用程序和Applet所必須文件Java 2 SDK (Development Kit)JRE的超集,包含編譯器和調(diào)試器等用于程序開發(fā)的文件Java虛擬機、Java應(yīng)用編程接口和系統(tǒng)平臺的關(guān)系什么是Java?24第24頁,共47頁。Java平臺的發(fā)展Java Development Kit1.0.21.1.1 1.1.6 1.1.7 1.1.81.2.1Java 2 SDK1.2.21.3.0 1.3.11.4.0 1.4.1 1.4.21.5.0Java平臺的三個版本(1999.6): J2SE/J2EE/J2ME/

23、products/archive/index.html什么是Java?25第25頁,共47頁。Java可以做什么?基本: Objects, strings, threads, numbers, input and output, data structures, system properties, date and time等 Applets應(yīng)用網(wǎng)絡(luò)應(yīng)用: 實現(xiàn)基于URL/TCP/UDP的網(wǎng)絡(luò)應(yīng)用國際化應(yīng)用: 實現(xiàn)程序的本地化,并以適當?shù)恼Z言顯示安全應(yīng)用: 電子簽名、公鑰和私鑰管理、訪問控制和用戶證書等軟件構(gòu)件: JavaBeans對象串行化: 實現(xiàn)遠程方法執(zhí)行(Remote Method

24、Invocation,RMI)Java數(shù)據(jù)庫連接(Java Database Connectivity, JDBC): 提供統(tǒng)一的方式訪問關(guān)系型數(shù)據(jù)庫什么是Java?26第26頁,共47頁。為什么選擇Java?簡單易學 (Get started quickly) 寫較少的代碼 (Write less code)寫更好的代碼 (Write better code): garbage collection (防止內(nèi)存泄漏),面向?qū)ο?、JavaBeans構(gòu)件機制、其他API復用代碼,減少bugs開發(fā)程序更快 (Develop programs more quickly) 避免平臺依賴性 (Avoid

25、 platform dependencies with 100% Pure Java)編寫一次,隨處運行 (Write once, run anywhere) machine-independent bytecodes發(fā)布軟件更容易 (Distribute software more easily): 指對軟件的更新,利用動態(tài)加載功能,一處改動,自動更新,不用重新編譯整個程序什么是Java?27第27頁,共47頁。第一章 Java語言概述Java的發(fā)展什么是Java?Java程序介紹Java程序運行環(huán)境28第28頁,共47頁。Java程序的種類Java小應(yīng)用程序(Java Applet)在We

26、b瀏覽器中運行(內(nèi)嵌Java虛擬機)特定標記 Java應(yīng)用程序(Java Application)獨立的Java程序程序入口方法: public static void main(String args) Java Script嵌入在HTML文件中的腳本語言特定標記 Netscape引入javascript29第29頁,共47頁。簡單的Java應(yīng)用程序Java源程序文件擴展名為“.java”Java字節(jié)碼程序文件擴展名為“.class”/* Exam1_1 class實現(xiàn)一個應(yīng)用* 將特定的字符串顯示到標準輸出*/public class Exam1_1 public static void

27、main(String args) System.out.println(“This is a Java Application Program.); 30第30頁,共47頁。定義類文件關(guān)鍵詞public 修飾符關(guān)鍵字class表示要定義一個類(模板),包含數(shù)據(jù)變量和方法關(guān)鍵字import表示引入程序外部定義的類/* Exam1_1 class實現(xiàn)一個應(yīng)用* 將特定的字符串顯示到標準輸出*/ import java.lang.System;public class HelloWorld1 public static void main(String args) System.out.print

28、ln(“This is a Java Application Program.”); 簡單的Java應(yīng)用程序31第31頁,共47頁。定義類文件類名稱與Java源程序名一致class MyClass . . . 所保存的文件為: MyClass.java注意: 大小寫敏感簡單的Java應(yīng)用程序32第32頁,共47頁。注解方式(Comments)/* */文檔注解/* */ 程序內(nèi)的任意位置/對本行注解/* * Exam1_1 class實現(xiàn)一個應(yīng)用 * 將特定的字符串顯示到標注輸出 */ public class Exam1_1 public static void main(String ar

29、gs) System.out.println(“This is a Java Application Program.); 簡單的JAVA應(yīng)用程序33第33頁,共47頁。主方法(main Method)每個Java應(yīng)用程序必須有且只能有的一個方法,程序執(zhí)行的入口格式固定/* * Exam1_1 class實現(xiàn)一個應(yīng)用 * 將特定的字符串顯示到標注輸出 */public class Exam1_1 public static void main(String args) System.out.println(“This is a Java Application Program.); 簡單的Ja

30、va應(yīng)用程序34第34頁,共47頁。類和變量的引用類(java.lang.System),System類的一個變量out變量out是PrintStream類的一個實例,PrintStream類實現(xiàn)標準輸出流引用實例out的方法println()變量和方法的引用通過“.”實現(xiàn)public class Exam1_1 public static void main(String args) System.out.println(“This is a Java Application Program.); 所有的Java類默認都引入java.lang.*簡單的Java應(yīng)用程序35第35頁,共47頁。

31、書寫規(guī)范花括號對“”類,方法語句分號“;”結(jié)尾對齊和縮進區(qū)分大小寫/* * Exam1_1 class實現(xiàn)一個應(yīng)用 * 將特定的字符串顯示到標準輸出 */public class Exam1_1 public static void main(String args) System.out.println(“This is a Java Application Program.); 簡單的Java應(yīng)用程序36第36頁,共47頁。簡單的Java小程序(Applet)引入類和包引入特定的類(Class)import java.applet.Applet;import java.awt.Graphi

32、cs;public class HelloWorld extends Applet public void paint(Graphics g) g.drawString(Hello world!, 50, 25);引入整個包(Package)import java.applet.*;import java.awt.*;37第37頁,共47頁。類的定義 定義一個公共類HelloWorld該類是Applet類的子類,關(guān)鍵詞“extends”import java.applet.Applet;import java.awt.Graphics;public class HelloWorld exten

33、ds Applet public void paint(Graphics g) g.drawString(Hello world!, 50, 25);簡單的Java小程序(Applet)38第38頁,共47頁。方法定義 重寫父類Applet的paint方法參數(shù)g是Graphics類的一個實例,表示當前作畫的上下文引用g的方法drawString(),在坐標(50, 25)處輸出字符串 import java.applet.Applet;import java.awt.Graphics;public class HelloWorld extends Applet public void pain

34、t(Graphics g) g.drawString(Hello world!, 50, 25);簡單的Java小程序(Applet)39第39頁,共47頁。第一章 Java語言概述Java的發(fā)展什么是Java?Java程序介紹Java程序運行環(huán)境40第40頁,共47頁。Java程序運行環(huán)境Java開發(fā)工具(Java Development Kit, JDK), J2SDKJava API工具集基本工具 (javac, java, javadoc, appletviewer, jar, jdb, javah, javap, extcheck) 遠程方法調(diào)用工具 (Remote Method I

35、nvocation, RMI) (rmic, rmiregistry, rmid, serialver) 國際化工具 (native2ascii) 安全工具 (keytool, jarsigner, policytool) Java IDL和RMI-IIOP工具 (tnameserv, idlj, orbd, servertool) Java插件工具 (Plug-in) 41第41頁,共47頁。獲得 J2SDK /products/archive/安裝 j2sdk-1_4_1-windows-i586.exe系統(tǒng)環(huán)境變量設(shè)置路徑設(shè)置 (path)Windows 95/98,autoexec.bat,添加“path c:windows;c:windowscommand;c:j2sdk1.4.1bin”Windows NT/2000,控制面板

溫馨提示

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

最新文檔

評論

0/150

提交評論