




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1.Java的誕生與發(fā)展SunMicrosystems于1995年推出1991年開始于“綠色計劃”項目,是一種全新的且獨立于處理器的計算機語言,起名為Oak;1995年5月23日正式發(fā)布,并更名為Java。 Java標志物——一杯咖啡:1995年8月,Netscape公司的瀏覽器率先支持Java。隨后,Microsoft的IE瀏覽器也支持Java。這樣,隨著萬維網(wǎng)的日益普及,Java得到了廣泛的使用。1996年1月,第一個JDK——JDK1.0誕生;1998年12月JDK1.2發(fā)布,標志著Java已經(jīng)進入Java2時代。從此,JDK被分成了J2EE(企業(yè)版)、J2SE(標準版)和J2ME(微型版)三個版本。2004年9月J2SE1.5發(fā)布,為了表示這個版本的重要性,J2SE1.5更名為J2SE5.0;2005年6月,JavaOne大會召開,SUN公司公開JavaSE6。此時,Java的各種版本已經(jīng)更名以取消其中的數(shù)字“2”:J2EE更名為JavaEE,J2SE更名為JavaSE,J2ME更名為JavaME;2009年4月20日,Oracle公司以74億美金收購了SUN公司Java的設計目標創(chuàng)建一種面向?qū)ο蟮某绦蛟O計語言提供程序運行的解釋環(huán)境,使程序代碼獨立于平臺吸收C和C++的優(yōu)點,使程序員容易掌握去掉C和C++中影響程序健壯性的部分,如指針、內(nèi)在申請和釋放,goto語句等。不包含頭文件,也沒有結構體和聯(lián)合體,不支持多重繼承;取消自動類型轉換,要求強制轉換;提供多線程機制;提供代碼檢驗機制Java平臺的三個版本JavaSE:是(JavaPlatform,StandardEdition標準版)的簡稱,即是以前的J2SE。標準版本允許開發(fā)和部署在桌面、服務器、嵌入式環(huán)境和實時環(huán)境中使用的Java應用程序。JavaEE:是(JavaPlatform,EnterpriseEdition企業(yè)版)的簡稱,即是以前的J2EE。企業(yè)版本幫助開發(fā)和部署可移植、健壯、可伸縮且安全的服務器端Java應用程序。JavaME:是(JavaPlatform,MicroEdition微型版)的簡稱,即是以前的J2ME。微型版本為在移動設備和嵌入式設備(比如手機、PDA、電視機頂盒和打印機)上運行的應用程序提供一個健壯且靈活的環(huán)境。Java之父——JamesGoslingJamesGosling博士以“Java之父”聞名于世,他是Java技術的創(chuàng)始人,作為Sun研究院院士,親手設計了Java語言,完成了Java技術的原始編譯器和虛擬機。在他的帶領下,Java現(xiàn)已成為互聯(lián)網(wǎng)的標準編程模式以及分布式企業(yè)級應用的事實標準,其跨平臺的技術優(yōu)勢為網(wǎng)絡計算帶來了劃時代的變革;2011年3月離開Oracle,加盟谷歌。2.Java的特點(1)Java三種核心機制Java虛擬機(JavaVirtualMachine)垃圾收集機制(GarbageCollection)代碼安全性檢測(CodeSecurty)編譯時.java(源代碼).class(字節(jié)碼)運行時解釋器硬件網(wǎng)絡字節(jié)碼校驗器類加載器JIT代碼生成器以Java應用程序運行為例加以說明計算機高級編程語言類型:編譯型、解釋型Java語言是兩種類型的結合Java源程序、字節(jié)碼文件,機器碼指令8Java虛擬機(JavaVirtualMachine)在一臺計算機上由軟件或硬件模擬的計算機。Java虛擬機(JVM)讀取并處理經(jīng)編譯過的平臺無關的字節(jié)碼class文件。Java編譯器針對java虛擬機產(chǎn)生class文件,因此是獨立于平臺的。Java解釋器負責將java虛擬機的代碼在特定的平臺上運行。用戶USER字節(jié)碼程序JVM(Java虛擬機)操作系統(tǒng)硬件DosJVMforDosWindowsJVMforWinXUnixJVMforUnix……Java自動垃圾收集技術不再使用的內(nèi)存空間應回收——垃圾收集Java語言解除了程序員回收內(nèi)存空間的責任。它提供一種系統(tǒng)級線程跟蹤存儲空間分配情況,并在JVM的空閑時,檢查并釋放哪些可被釋放的存儲空間。垃圾收集在java程序運行過程中自動進行,程序員無法精確控制和干預。Java運行環(huán)境(即JRE)JRE是JavaRuntimeEnvironment的簡稱,即Java運行環(huán)境。組成:JRE=JVM+RuntimeInterpreter(運行時解釋器)主要功能:加載代碼:由classloader完成;校驗代碼:由bytecodeverifier完成;執(zhí)行代碼:由runtimeinterpreter完成。
如果你只需要運行Java程序或Applet,下載并安裝JRE即可。假若你要自行開發(fā)Java軟件,請下載JDK。在JDK中附帶有JRE。JRE、JDK與JVM三者之間的關系JDK是JavaDevelopmentKits的簡稱,即Java開發(fā)工具集。開發(fā)人員利用JDK能夠編譯、調(diào)試和執(zhí)行Java程序。除JRE外,JDK還包括以下開發(fā)工具:編譯器:javac運行時解釋器:java調(diào)試器:jdb文檔化工具:javadocApplet的解釋器:appletviewer其它工具及資源:如用于程序打包的jar等。即:JDK=JRE+TOOLsJDKJREJVM(2)Java與C++的比較既是一種程序設計語言,也是一個軟件平臺;是一種純面向?qū)ο蟪绦蛟O計語言;具有平臺無關性;取消了指針,自動進行內(nèi)存管理;也不支持多重繼承;不包含頭文件,也沒有結構體和聯(lián)合體;不再有全局變量、獨立函數(shù),也沒有goto語句;取消自動類型轉換,要求強制轉換;網(wǎng)絡編程更加容易。(3)Java的特點有人給出式子:Java=“C++”-“復雜性和奇異性”+“安全性和可移植性”簡單:語法與C++相似,但更簡單、易學;安全:不允許程序訪問所有電腦的內(nèi)存和磁盤面向?qū)ο螅和耆嫦驅(qū)ο笳Z言,以后將要學習:類、對象、接口等內(nèi)容;健壯:編譯時自行檢查許多問題,系統(tǒng)運行穩(wěn)定多線程:可以同時運行多個程序可移植性與結構中立:“一次編寫,到處運行”解釋性:先編譯成字節(jié)碼,再運行高性能:有一系列機制保證其高效運行分布式:網(wǎng)絡操作與本地操作類似動態(tài):可以用安全方式動態(tài)鏈接代碼Java的跨平臺原理下面比較C語言程序與Java語言程序執(zhí)行的不同之處:3、Java編程環(huán)境的建立(1)JDK的下載與安裝從網(wǎng)站/technetwork/java/index.html免費下載最新版本為7.0Windows版本文件:jdk-7-windows-i586.exe
在向?qū)е敢逻M行安裝。16(2)JDK安裝目錄bin目錄:存放可執(zhí)行文件;lib目錄:存放Java的類庫文件;include目錄:存放用于本地方法的文件;demo目錄:存放演示程序;jre目錄:存放Java運行環(huán)境文件;Sample目錄:存放java一些應用實例;javaDB:一個純java的數(shù)據(jù)庫管理系統(tǒng)(3)環(huán)境變量的配置與測試
運行環(huán)境的配置主要是指環(huán)境變量classpath、path的配置,下面簡要介紹它們的作用及在Windows平臺下的設置方法:Classpath——類資源位置搜索路徑 標明定義過的Java類的字節(jié)碼文件可能的保存位置,在其它的類中使用該類時,運行環(huán)境能夠找到并引入該類。
在Win7/XP/2000等下環(huán)境變量的設置方法有如下兩種:我的電腦/屬性/高級/環(huán)境變量或開始/設置/控制面板/系統(tǒng)/高級/環(huán)境變量
Classpath——類資源位置搜索路徑
假設JDK的安裝目錄為c:\jdk1.6.0,則新建系統(tǒng)變量classpath,在“變量值”中填入:
.;c:\jdk1.6.0\lib\dt.jar;c:\jdk1.6.0\lib\tools.jar;C:\jdk1.6.0\jre\lib\rt.jar;C:\jdk1.6.0\jre\lib\charsets.jar 特別提醒:.(點)表示當前目錄,不能省略。Path——外部命令搜索路徑 標明某個可執(zhí)行文件的保存位置后,系統(tǒng)都可以通過path這一環(huán)境變量記錄的路徑找到它,進而實現(xiàn)在任何路徑下都能運行該文件。
假設JDK的安裝目錄為c:\jdk1.6.0,則新建或編輯系統(tǒng)變量path,在“變量值”中加入:
c:\jdk1.6.0\bin
測試環(huán)境變量先進入命令行窗口: 開始/運行…/輸入cmd,并按回車 輸入并執(zhí)行下列命令: Java–version Javac22(4)Java開發(fā)工具包是一組命令行工具主要有:javac、java、javadoc;javac:用于編譯Java源代碼的編譯器語法:javac[選項]源文件源文件以擴展名.java結尾選項可以包括:-classpath、-djava:用于執(zhí)行Java字節(jié)碼的解釋器java[選項]類名稱[參數(shù)]選項可以包括:-classpath、-version文本編輯器:
Windows自帶的“記事本”、“寫字板” EditPlus
UltraEdit ……集成開發(fā)環(huán)境 Eclipse
JCreator JBuilder ……這些內(nèi)容現(xiàn)在只要有點印象就行,以后會具體學習。(5)開發(fā)Java程序的步驟創(chuàng)建Java源程序用java作為擴展名(例如:Test.java),是一個文本文件,用Java語言寫成,可以用任何文本編輯器創(chuàng)建與編輯;編譯源程序調(diào)用javac命令,讀取你的Java源程序并翻譯成Java虛擬機能夠明白的指令集合,且以字節(jié)碼的形式保存在文件中。通常,字節(jié)碼文件以class作為擴展名(例如:Test.class);運行class(字節(jié)碼)文件調(diào)用java命令,Java解釋器讀取字節(jié)碼,取出指令并且翻譯成計算機能執(zhí)行的代碼,并執(zhí)行。第一個Java程序//文件名為Message.javapublicclassMessage{publicstaticvoidmain(String[]args){/*輸出此消息*/System.out.println(“Java語言,您好!");}}在記事本編輯Java程序publicclassMessage{/***這是一個main方法。*/
publicstaticvoidmain(String[]args){/*輸出此消息*/System.out.println("歡迎來到Java世界!");}}依次選擇程序
附件
記事本單擊開始演示編輯和保存Java程序……編譯和運行演示編譯和運行Java程序……單擊開始進入程序所保存的目錄依次選擇程序->附件->命令提示符編譯javacMessage.java運行javaMessage輸出結果分析程序代碼符號/**/指示中間的語句是該程序中的注釋。多行注釋以/*開始,以*/結束。單行注釋以//開始,以行末結束java文檔注釋使用/***/關鍵字class聲明類的定義,幫助編譯器理解它是一個類的聲明整個類及其所有成員都是在一對大括號中(即{和}之間)定義的。它們標志著類定義塊的開始和結束程序從main()方法開始執(zhí)行關鍵字public是一個訪問說明符,控制類成員的可見度和作用域關鍵字static允許調(diào)用main()方法,而無需創(chuàng)建類的實例關鍵字void告訴編譯器main()方法在執(zhí)行時不返回任何值args[
]是String類型的數(shù)組println(
)方法通過System.out顯示作為參數(shù)傳遞給它的字符串30編譯、執(zhí)行時的命令錯誤編譯時,源文件少了擴展名.java執(zhí)行時,字節(jié)碼文件多了擴展名.class執(zhí)行時,找不到指定的字節(jié)碼文件(即.class文件)執(zhí)行時,字節(jié)碼文件名大小寫錯誤32publicclassIntAdd{ publicstaticvoidmain(Stringargs[]){ Strings1=args[0]; inta=Integer.parseInt(s1); //將字符串轉換為數(shù)值型,下同 Strings2=args[1]; intb=Integer.parseInt(s2); intc=a+b; System.out.println(a+"+"+b+"="+c); }}例2:計算兩個整數(shù)之名(文件名IntAdd.java)33importjavax.swing.JOptionPane;
//導入所需要的類publicclassSquare{ publicstaticvoidmain(Stringargs[]){
//建立輸入對話框窗口來輸入字符串
Strings=JOptionPane.showInputDialog("請輸入一個數(shù):"); doubled=Double.parseDouble(s);
//將字符串轉換為數(shù)值型
doubleresult=d*d;
//建立消息對話框窗口來輸出結果
JOptionPane.showMessageDialog(null,s+"的平方是:"+result); }}例3:計算一個數(shù)的平方(文件名Square.java)4、Java程序的兩種類型(1)Java應用程序:包含main()方法,它是程序的入口,由java解釋器加載、執(zhí)行,前面的幾個例子都是這種類型(2)Java小應用程序(applet):它具有如下特點:用Java編寫的、嵌入在Web頁面中的小程序。它不是獨立的應用程序,沒有main()方法,不能直接執(zhí)行;Applet運行web瀏覽器中,可通過下列程序來執(zhí)行:JDK的appletviewer命令IE瀏覽器其它的瀏覽器,如JBuilder的applet瀏覽器;Applet主要用于繪圖、動畫、聲音、頁面交互等方面。第一個Applet程序(文件名FirstApplet.java)importjava.applet.Applet; //導入Applet類importjava.awt.Graphics; //導入Graphics類//FirstApplet類繼承了Applet類publicclassFirstAppletextendsApplet{
//重寫了paint()方法 publicvoidpaint(Graphicsg){
//在指定位置輸出字符串 g.drawString("這是一個簡單的applet程序!",30,30); }}程序代碼說明:Java中的import語句相當于C/C++語言中的include文件包含命令;每一個applet都是java.applet.Applet的子類,用extends進行繼承;applet中沒有main()方法。當applet被瀏覽器運行時,init()、start()方法等自動執(zhí)行,再調(diào)用paint()方法;在applet中與屏幕輸出有關的操作通過Graphics類的對象來實現(xiàn);一個Java源文件內(nèi)最多只能有一個public類,稱為主類,且源文件名必須和它同名。applet程序的開發(fā)步驟與application程序比較有相同之處,也有不同的地:編輯、保存:與application相同,用文本編輯器(如記事本、Editplus等)編輯,再保存(文件名與類名相同,擴展名為java);編譯:與application相同,用javac命令將.java文件編譯為.class字節(jié)碼文件用dir命令查看,可以發(fā)現(xiàn)多了一個.class文件創(chuàng)建html文件:創(chuàng)建一個調(diào)用applet的html文件,該文件的名字任意,擴展名為.htm或.html。內(nèi)容為如下:<HTML><HEAD><TITLE>第一個applet程序</TITLE></HEAD><BODY><appletcode="FirstApplet.class"width=300height=100></applet></BODY></HTML>這里,我們將該html文件命名為test.hmtl執(zhí)行:用JDK的appletviewer命令格式:appletviewerhtml文件名(帶擴展名.htm或.html)例如:appletviewertest.html(30,30)y(0,0)x執(zhí)行:還有一種可以選擇的方法,就是用Windows的IE瀏覽器打開(雙擊.html文檔即可)。(30,30)y(0,0)x 在jdk安裝目錄下demo\jfc\目錄下有Java2D,該程序是Applet,運行畫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第1節(jié) 種子萌發(fā)形成幼苗-2023-2024學年七年級生物上冊教學設計(北師大版)
- 專題一第2課二、《文檔的編輯》教學設計 2023-2024學年青島版(2018)初中信息技術七年級下冊
- 2024山東青島東鼎產(chǎn)業(yè)發(fā)展集團有限公司招聘1人筆試參考題庫附帶答案詳解
- Starter Unit 2 keep tidy Section B project 2a-2d Guess what it is 教學設計 2024-2025學年人教版(2024)七年級英語上冊
- 《Lesson 3 In the library》(教學設計及反思)-2024-2025學年冀教版(三起)(2024)三年級上冊
- 2024四川九州電子科技股份有限公司招聘售后工程師等崗位11人筆試參考題庫附帶答案詳解
- 2024云南曲靖市麒麟?yún)^(qū)城鄉(xiāng)建設投資(集團)有限公司高級管理人員招聘2人筆試參考題庫附帶答案詳解
- 2024年九年級數(shù)學中考專題 反比例函數(shù) 教學設計
- 高端裝備數(shù)字化市場需求分析
- 滬科版 信息技術 必修 4.3.1數(shù)據(jù)庫的組成教學設計
- 重點語法清單2024-2025學年人教版英語八年級上冊
- 金屬包裝容器生產(chǎn)數(shù)據(jù)分析考核試卷
- 寵物學概論課程設計
- 2024年全國統(tǒng)一高考數(shù)學試卷(理科)甲卷含答案
- 排水管網(wǎng)溯源排查項目專項培訓
- 譯林牛津版八年級下冊英語全冊課件
- 2024環(huán)氧磨石地坪施工技術規(guī)程
- 五年級下冊小學數(shù)學《分數(shù)的加法和減法》單元作業(yè)設計
- 醫(yī)學文獻管理制度
- 白塞氏病學習課件
- 川教版六年級《生命.生態(tài).安全》下冊第1課《我們的閑暇時光》課件
評論
0/150
提交評論