




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java語(yǔ)言程序設(shè)計(jì)呂鳳翥 馬 皓1第1頁(yè),共47頁(yè)。課程提綱Java語(yǔ)言概述Java語(yǔ)言語(yǔ)法基礎(chǔ)面向?qū)ο蟮奶卣鰽pplet及其應(yīng)用圖形用戶界面設(shè)計(jì)異常線程集合操作Java輸入/輸出網(wǎng)絡(luò)編程2第2頁(yè),共47頁(yè)。參考資料Java語(yǔ)言程序設(shè)計(jì),呂鳳翥、馬皓編著,清華大學(xué)出版社Java編程思想,第2版,候捷譯,計(jì)算機(jī)科學(xué)叢書(shū),機(jī)械工業(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頁(yè),共47頁(yè)。第一章 Java語(yǔ)言概述Java的發(fā)展什么是Java?Java程序介紹Java程序運(yùn)行環(huán)境4第4頁(yè),共47頁(yè)。Java的發(fā)展早期的歷史1991年,Sun Microsystems公司建立“the Green Project”(Secretly),13個(gè)成員,目的開(kāi)發(fā)消費(fèi)
3、電子類產(chǎn)品市場(chǎng)(嵌入式設(shè)備),初始選擇C+語(yǔ)言1992年夏天,*7設(shè)備,運(yùn)行在一種全新的、對(duì)立于處理器的語(yǔ)言“Oak”,潛在的市場(chǎng)有線電視Green TeamFirstPerson Team(70人),電視機(jī)頂盒/video-on-demand,市場(chǎng)不成熟 ? ? ?James Gosling, Bill Joy, and Eric Schmidt “why not the Internet? 在Mosaic瀏覽器的基礎(chǔ)上開(kāi)發(fā)“WebRunner”,“Hollywood-meets-Silicon-Valley”的兩個(gè)演示(3D動(dòng)態(tài)分子、線排序)5第5頁(yè),共47頁(yè)。Java的發(fā)展早期的歷史Ja
4、va面世1995年3月,“1.0a” 7/8份二進(jìn)制拷貝,“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頁(yè),共47頁(yè)。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頁(yè),
7、共47頁(yè)。Java的發(fā)展歷史記錄* 7: A new SPARC based, handheld wireless PDA, with a 5 color LCD with touchscreen input8第8頁(yè),共47頁(yè)。Java的發(fā)展的主頁(yè)9第9頁(yè),共47頁(yè)。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頁(yè),共47頁(yè)。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頁(yè),共47頁(yè)。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頁(yè),共47頁(yè)。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頁(yè),共47頁(yè)。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頁(yè),共47頁(yè)。第一章 Java語(yǔ)言概述Java的發(fā)展什么是Java?Java程序介紹Java程序運(yùn)行環(huán)境15第15頁(yè),共47頁(yè)。什么是Java?Java Technology編程語(yǔ)言(Programming Language)運(yùn)行平臺(tái)(Platform)16第16頁(yè),共47頁(yè)。什么是Java?Java編程語(yǔ)言的特點(diǎn)簡(jiǎn)單(
17、Simple)面向?qū)ο?Object oriented)解釋性(Interpreted)平臺(tái)獨(dú)立和可移植(Architecture neutral & Portable)魯棒和安全(Robust & Secure)多線程(Multithreaded)分布式(Distributed)高性能(High performance)動(dòng)態(tài)(Dynamic)17第17頁(yè),共47頁(yè)。Java編程語(yǔ)言的特點(diǎn)簡(jiǎn)單(Simple)簡(jiǎn)單易學(xué)不存在指針、單一繼承、內(nèi)存空間自動(dòng)回收面向?qū)ο?Object oriented)類和對(duì)象數(shù)據(jù)和方法的封裝封裝、繼承、多態(tài)性注重于數(shù)據(jù)和操作數(shù)據(jù)的方法,而不是流解釋性(Interpr
18、eted)Java編譯器生成字節(jié)碼,Java解釋器執(zhí)行字節(jié)碼鏈接過(guò)程簡(jiǎn)單,僅僅將新的類裝載(load)入運(yùn)行環(huán)境什么是Java?18第18頁(yè),共47頁(yè)。Java編程語(yǔ)言的特點(diǎn)平臺(tái)獨(dú)立(Architecture neutral)和可移植(Portable)Java編譯器產(chǎn)生的字節(jié)碼(bytecode)可運(yùn)行在異種網(wǎng)絡(luò)環(huán)境中(不同的硬件系統(tǒng)和不同的操作系統(tǒng))Java程序在不同的平臺(tái)中行為一致,不存在數(shù)據(jù)類型的不一致等現(xiàn)象什么是Java?19第19頁(yè),共47頁(yè)。Java編程語(yǔ)言的特點(diǎn)魯棒/健壯(Robust)和安全(Secure)取消了指針的不安全性,增強(qiáng)了程序的健壯性內(nèi)存管理簡(jiǎn)單,“new”構(gòu)造對(duì)
19、象,對(duì)象釋放(automatic garbage collection)可靠的語(yǔ)言: compile-time checking和run-time checking網(wǎng)絡(luò)環(huán)境的應(yīng)用不會(huì)產(chǎn)生惡意行為,為Java程序構(gòu)造一個(gè)個(gè)(Sandbox,具有安全策略的限制),提高了安全性什么是Java?20第20頁(yè),共47頁(yè)。Java編程語(yǔ)言的特點(diǎn)多線程(Multithreaded)例: 瀏覽器應(yīng)用中,播聽(tīng)音樂(lè)/拖動(dòng)頁(yè)面/后臺(tái)下載頁(yè)面線程類: java.lang.Thread/Runnable/ThreadGroup等原語(yǔ)支持: synchronized、wait()、notify()分布式(Distribu
20、ted)支持網(wǎng)絡(luò)應(yīng)用, .*URL類Socket類、ServerSocket類DatagramSocket類、DatagramPacket類什么是Java?21第21頁(yè),共47頁(yè)。Java編程語(yǔ)言的特點(diǎn)高性能(High performance)解釋性的語(yǔ)言,沒(méi)有C語(yǔ)言快“Just-In-Time” JIT編譯器,在運(yùn)行時(shí)將Java字節(jié)碼轉(zhuǎn)變?yōu)闄C(jī)器碼Java HotSpot Compilers動(dòng)態(tài)(Dynamic)Java語(yǔ)言在執(zhí)行的鏈接(link)階段是動(dòng)態(tài)的class類僅在需要時(shí)被鏈接被鏈接的代碼模塊可以有不同的來(lái)源,從本地或從網(wǎng)絡(luò)什么是Java?22第22頁(yè),共47頁(yè)。平臺(tái)(Platfor
21、m)程序運(yùn)行的硬件和軟件環(huán)境操作系統(tǒng)平臺(tái)Windows 2000、Linux、Solaris、MacOS操作系統(tǒng)與硬件的結(jié)合Java運(yùn)行平臺(tái)(Platform)Java虛擬機(jī)(Java Virtual Machine, Java VM)Java解釋器Java開(kāi)發(fā)工具或可運(yùn)行applet的Web瀏覽器 Java應(yīng)用編程接口(Java Application Programming Interface, Java API) 什么是Java?23第23頁(yè),共47頁(yè)。Java運(yùn)行平臺(tái)(Platform)J2SE Platform (Java 2 Standard Edition)Java Runtim
22、e Environment (JRE) Java虛擬機(jī)、庫(kù)函數(shù)、運(yùn)行Java應(yīng)用程序和Applet所必須文件Java 2 SDK (Development Kit)JRE的超集,包含編譯器和調(diào)試器等用于程序開(kāi)發(fā)的文件Java虛擬機(jī)、Java應(yīng)用編程接口和系統(tǒng)平臺(tái)的關(guān)系什么是Java?24第24頁(yè),共47頁(yè)。Java平臺(tái)的發(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平臺(tái)的三個(gè)版本(1999.6): J2SE/J2EE/J2ME/
23、products/archive/index.html什么是Java?25第25頁(yè),共47頁(yè)。Java可以做什么?基本: Objects, strings, threads, numbers, input and output, data structures, system properties, date and time等 Applets應(yīng)用網(wǎng)絡(luò)應(yīng)用: 實(shí)現(xiàn)基于URL/TCP/UDP的網(wǎng)絡(luò)應(yīng)用國(guó)際化應(yīng)用: 實(shí)現(xiàn)程序的本地化,并以適當(dāng)?shù)恼Z(yǔ)言顯示安全應(yīng)用: 電子簽名、公鑰和私鑰管理、訪問(wèn)控制和用戶證書(shū)等軟件構(gòu)件: JavaBeans對(duì)象串行化: 實(shí)現(xiàn)遠(yuǎn)程方法執(zhí)行(Remote Method
24、Invocation,RMI)Java數(shù)據(jù)庫(kù)連接(Java Database Connectivity, JDBC): 提供統(tǒng)一的方式訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)什么是Java?26第26頁(yè),共47頁(yè)。為什么選擇Java?簡(jiǎn)單易學(xué) (Get started quickly) 寫(xiě)較少的代碼 (Write less code)寫(xiě)更好的代碼 (Write better code): garbage collection (防止內(nèi)存泄漏),面向?qū)ο蟆avaBeans構(gòu)件機(jī)制、其他API復(fù)用代碼,減少bugs開(kāi)發(fā)程序更快 (Develop programs more quickly) 避免平臺(tái)依賴性 (Avoid
25、 platform dependencies with 100% Pure Java)編寫(xiě)一次,隨處運(yùn)行 (Write once, run anywhere) machine-independent bytecodes發(fā)布軟件更容易 (Distribute software more easily): 指對(duì)軟件的更新,利用動(dòng)態(tài)加載功能,一處改動(dòng),自動(dòng)更新,不用重新編譯整個(gè)程序什么是Java?27第27頁(yè),共47頁(yè)。第一章 Java語(yǔ)言概述Java的發(fā)展什么是Java?Java程序介紹Java程序運(yùn)行環(huán)境28第28頁(yè),共47頁(yè)。Java程序的種類Java小應(yīng)用程序(Java Applet)在We
26、b瀏覽器中運(yùn)行(內(nèi)嵌Java虛擬機(jī))特定標(biāo)記 Java應(yīng)用程序(Java Application)獨(dú)立的Java程序程序入口方法: public static void main(String args) Java Script嵌入在HTML文件中的腳本語(yǔ)言特定標(biāo)記 Netscape引入javascript29第29頁(yè),共47頁(yè)。簡(jiǎn)單的Java應(yīng)用程序Java源程序文件擴(kuò)展名為“.java”Java字節(jié)碼程序文件擴(kuò)展名為“.class”/* Exam1_1 class實(shí)現(xiàn)一個(gè)應(yīng)用* 將特定的字符串顯示到標(biāo)準(zhǔn)輸出*/public class Exam1_1 public static void
27、main(String args) System.out.println(“This is a Java Application Program.); 30第30頁(yè),共47頁(yè)。定義類文件關(guān)鍵詞public 修飾符關(guān)鍵字class表示要定義一個(gè)類(模板),包含數(shù)據(jù)變量和方法關(guān)鍵字import表示引入程序外部定義的類/* Exam1_1 class實(shí)現(xiàn)一個(gè)應(yīng)用* 將特定的字符串顯示到標(biāo)準(zhǔn)輸出*/ import java.lang.System;public class HelloWorld1 public static void main(String args) System.out.print
28、ln(“This is a Java Application Program.”); 簡(jiǎn)單的Java應(yīng)用程序31第31頁(yè),共47頁(yè)。定義類文件類名稱與Java源程序名一致class MyClass . . . 所保存的文件為: MyClass.java注意: 大小寫(xiě)敏感簡(jiǎn)單的Java應(yīng)用程序32第32頁(yè),共47頁(yè)。注解方式(Comments)/* */文檔注解/* */ 程序內(nèi)的任意位置/對(duì)本行注解/* * Exam1_1 class實(shí)現(xiàn)一個(gè)應(yīng)用 * 將特定的字符串顯示到標(biāo)注輸出 */ public class Exam1_1 public static void main(String ar
29、gs) System.out.println(“This is a Java Application Program.); 簡(jiǎn)單的JAVA應(yīng)用程序33第33頁(yè),共47頁(yè)。主方法(main Method)每個(gè)Java應(yīng)用程序必須有且只能有的一個(gè)方法,程序執(zhí)行的入口格式固定/* * Exam1_1 class實(shí)現(xiàn)一個(gè)應(yīng)用 * 將特定的字符串顯示到標(biāo)注輸出 */public class Exam1_1 public static void main(String args) System.out.println(“This is a Java Application Program.); 簡(jiǎn)單的Ja
30、va應(yīng)用程序34第34頁(yè),共47頁(yè)。類和變量的引用類(java.lang.System),System類的一個(gè)變量out變量out是PrintStream類的一個(gè)實(shí)例,PrintStream類實(shí)現(xiàn)標(biāo)準(zhǔn)輸出流引用實(shí)例out的方法println()變量和方法的引用通過(guò)“.”實(shí)現(xiàn)public class Exam1_1 public static void main(String args) System.out.println(“This is a Java Application Program.); 所有的Java類默認(rèn)都引入java.lang.*簡(jiǎn)單的Java應(yīng)用程序35第35頁(yè),共47頁(yè)。
31、書(shū)寫(xiě)規(guī)范花括號(hào)對(duì)“”類,方法語(yǔ)句分號(hào)“;”結(jié)尾對(duì)齊和縮進(jìn)區(qū)分大小寫(xiě)/* * Exam1_1 class實(shí)現(xiàn)一個(gè)應(yīng)用 * 將特定的字符串顯示到標(biāo)準(zhǔn)輸出 */public class Exam1_1 public static void main(String args) System.out.println(“This is a Java Application Program.); 簡(jiǎn)單的Java應(yīng)用程序36第36頁(yè),共47頁(yè)。簡(jiǎn)單的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);引入整個(gè)包(Package)import java.applet.*;import java.awt.*;37第37頁(yè),共47頁(yè)。類的定義 定義一個(gè)公共類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);簡(jiǎn)單的Java小程序(Applet)38第38頁(yè),共47頁(yè)。方法定義 重寫(xiě)父類Applet的paint方法參數(shù)g是Graphics類的一個(gè)實(shí)例,表示當(dāng)前作畫(huà)的上下文引用g的方法drawString(),在坐標(biāo)(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);簡(jiǎn)單的Java小程序(Applet)39第39頁(yè),共47頁(yè)。第一章 Java語(yǔ)言概述Java的發(fā)展什么是Java?Java程序介紹Java程序運(yùn)行環(huán)境40第40頁(yè),共47頁(yè)。Java程序運(yùn)行環(huán)境Java開(kāi)發(fā)工具(Java Development Kit, JDK), J2SDKJava API工具集基本工具 (javac, java, javadoc, appletviewer, jar, jdb, javah, javap, extcheck) 遠(yuǎn)程方法調(diào)用工具 (Remote Method I
35、nvocation, RMI) (rmic, rmiregistry, rmid, serialver) 國(guó)際化工具 (native2ascii) 安全工具 (keytool, jarsigner, policytool) Java IDL和RMI-IIOP工具 (tnameserv, idlj, orbd, servertool) Java插件工具 (Plug-in) 41第41頁(yè),共47頁(yè)。獲得 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. 本站所有資源如無(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 別墅物業(yè)招標(biāo)合同范本
- 2025年福建省安全員-B證考試題庫(kù)及答案
- 勞動(dòng)合同范本教師
- 南京耐磨地坪合同范例
- 公司汽車合同范本
- 勞務(wù)雇傭種菜合同范本
- 農(nóng)商銀行授權(quán)推廣合同范本
- 聲勢(shì)在小學(xué)音樂(lè)教學(xué)中的應(yīng)用策略
- 賣米合同范本
- 養(yǎng)老機(jī)構(gòu)合同范本
- 細(xì)菌群體感應(yīng)系統(tǒng)及其應(yīng)用課件
- 司法鑒定程序通則(試行)
- 內(nèi)襯修復(fù)用HTPO管材企標(biāo)
- 部編教材一年級(jí)下冊(cè)生字筆順筆畫(huà)
- 通達(dá)信指標(biāo)——江恩輪
- 二維火收銀使用手冊(cè)
- 神經(jīng)電生理檢查ppt課件
- 管路滑脫風(fēng)險(xiǎn)評(píng)估表
- 塑鋼板樁專項(xiàng)施工方案
- EN12680.3中文
- 歐科模塊化風(fēng)冷冷水熱泵機(jī)組報(bào)警代碼和維修步驟
評(píng)論
0/150
提交評(píng)論