版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章
Java概述
Java程序設(shè)計(jì)本章主要內(nèi)容Java的起源與發(fā)展Java的特點(diǎn)Java的運(yùn)行機(jī)制Java開發(fā)環(huán)境小結(jié)2024/12/24李飛——計(jì)算中心2/30§1.1Java的起源與發(fā)展Java的起源起源于1991年SUN公司的GreenProject.JamesGosling博士領(lǐng)導(dǎo)。項(xiàng)目開發(fā)目標(biāo)——用于編寫各種電子產(chǎn)品的嵌入式程序的程序設(shè)計(jì)語言。語法結(jié)構(gòu)類似于C++。曾用名Oak(橡樹),市場(chǎng)定位——服務(wù)于計(jì)算機(jī)網(wǎng)絡(luò)。命名為Java,有兩種說法:其一,印度尼西亞有一個(gè)重要的島嶼——爪哇島,盛產(chǎn)咖啡,開發(fā)人員起名Java寓意為世人端上一杯熱騰騰的咖啡;其二說法為美洲俚語——咖啡之意。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心3/35Java的發(fā)展版本發(fā)布時(shí)間說明JDK1.01996.1正式運(yùn)行版本,包括JVM,AWT,AppletJDK1.21998.12出現(xiàn)J2SE,J2EE,J2ME三個(gè)主要方向JDK1.32000.5也叫Kestrel美洲紅隼,過渡版本JDK1.42002.2真正的成熟版。JDK1.52004.9官方聲明支持Windows9X的最后一個(gè)版本JDK1.62006.12版本改名JavaSE6,JavaEE6,JavaME6,且開源JDK1.72009.2SUN被Oracle收購(gòu),開始支持MacOs,x86,x64,Sparc指令集JDK1.82014.3現(xiàn)在常用版本JDK1.92017.9最新版2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心4/35§1.2Java的特點(diǎn)簡(jiǎn)潔有效純面向?qū)ο蟮木幊陶Z言平臺(tái)無關(guān)解釋運(yùn)行安全多線程動(dòng)態(tài)性豐富的API文檔和類庫(kù)2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心5/35Java虛擬機(jī)(JVM)是運(yùn)行所有Java程序的抽象計(jì)算機(jī),也是Java的運(yùn)行環(huán)境。JVM組成一套字節(jié)碼指令集一組寄存器一個(gè)棧一個(gè)垃圾回收堆一個(gè)存儲(chǔ)方法域2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心6/35Java的垃圾回收機(jī)制什么是垃圾?在程序運(yùn)行過程中動(dòng)態(tài)分配的內(nèi)存空間,一旦用完后,如果不及時(shí)釋放則會(huì)在程序運(yùn)行周期長(zhǎng)期被占用,從而降低系統(tǒng)性能。這些占而不用的內(nèi)存空間就是垃圾。Java的垃圾回收機(jī)制提供了垃圾收集線程(后臺(tái)系統(tǒng)級(jí)線程),它記錄每次內(nèi)存分配的情況,并統(tǒng)計(jì)每個(gè)內(nèi)存指針的引用次數(shù)。在java虛擬機(jī)運(yùn)行時(shí)空閑時(shí),垃圾收集線程將檢查是否存在引用次數(shù)為0的內(nèi)存指針;如果有的話,則垃圾收集線程把該內(nèi)存“標(biāo)記”為“釋放”。垃圾回收機(jī)制的作用無需程序員和用戶關(guān)注垃圾回收問題。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心7/35§1.3Java的運(yùn)行機(jī)制計(jì)算機(jī)語言的發(fā)展機(jī)器語言與匯編語言以機(jī)器設(shè)備的運(yùn)行為核心高級(jí)語言面向過程的語言描述事物的發(fā)展和處理過程為核心面向?qū)ο蟮恼Z言出發(fā)點(diǎn):更直接地描述客觀世界中存在的事物(對(duì)象)以及它們之間的關(guān)系。特點(diǎn):客觀事物看作具有屬性和行為的對(duì)象。通過抽象找出同一類對(duì)象的共同屬性和行為,形成類。通過類的繼承與多態(tài)實(shí)現(xiàn)代碼重用2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心8/35§1.3Java的運(yùn)行機(jī)制計(jì)算機(jī)語言的運(yùn)行方式低級(jí)語言(機(jī)器語言和匯編語言)直接運(yùn)行或宏匯編后運(yùn)行。高級(jí)語言解釋型高級(jí)語言編譯型高級(jí)語言2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心9/35§1.3Java的運(yùn)行機(jī)制2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心10/35Java通過JVM運(yùn)行Java需要生成字節(jié)碼文件*.class在JVM上解釋執(zhí)行*.class文件?!?.3Java的運(yùn)行機(jī)制Java程序分類JavaApplication(Java應(yīng)用程序)獨(dú)立運(yùn)行。Java應(yīng)用程序必須得到Java虛擬機(jī)的支持才能夠運(yùn)行。JavaApplet(Java小應(yīng)用程序)嵌入到網(wǎng)頁中,在瀏覽器中運(yùn)行。Java小應(yīng)用程序運(yùn)行之前必須先將其嵌入HTML文件的<applet>和</applet>標(biāo)記中。當(dāng)用戶瀏覽該HTML頁面時(shí),Java小應(yīng)用程序?qū)姆?wù)器端下載到客戶端,進(jìn)而被執(zhí)行。2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心11/35§1.3Java的運(yùn)行機(jī)制(Java應(yīng)用程序)的運(yùn)行步驟編寫源代碼文件*.java(可使用任意的文本編輯器編寫)生成字節(jié)碼文件*.class(javac源文件名.java)運(yùn)行字節(jié)碼文件。(java字節(jié)碼文件名)2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心12/35應(yīng)用程序模式Application的基本編程模式:
class用戶自定義的類名
//定義類{
publicstaticvoidmain(Stringargs[])
//定義main()方法
{
方法體
}}2024/12/24李飛——計(jì)算中心13/30應(yīng)用程序模式//文件名:Welcome.javapublicclassWelcome{publicstaticvoidmain(Stringargs[]){System.out.println("WelcometoJavaProgramming!");}//結(jié)束main方法的定義}//結(jié)束類Welcome的定義2024/12/24李飛——計(jì)算中心14/30§1.3Java的運(yùn)行機(jī)制JavaApplet(Java小應(yīng)用程序)的運(yùn)行過程編寫源代碼文件*.java(可使用任意的文本編輯器編寫)生成字節(jié)碼文件*.class(javac源文件名.java)編寫相應(yīng)的網(wǎng)頁文件(其中包含嵌入Java字節(jié)碼文件的語句)在瀏覽器中打開網(wǎng)頁運(yùn)行。(詳見教材P10-P11)2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心15/35小應(yīng)用程序模式Applet需要的HTML文件的最小集的格式為:<HTML><appletcode=類名.classwidth=寬度
height=高度></applet></THML>2024/12/24李飛——計(jì)算中心16/30小應(yīng)用程序模式Applet的基本編程模式:importjava.awt.Graphics;//引入java.awt系統(tǒng)包中的Graphics類importjava.applet.Applet;//引入java.applet系統(tǒng)包中的Applet類class用戶自定義的類名
extendsApplet//定義類{publicvoidpaint(Graphicsg)//調(diào)用Applet類的paint()方法
{
方法體
}}2024/12/24李飛——計(jì)算中心17/30§1.4Java開發(fā)環(huán)境JDK+文本編輯器JDK可以從網(wǎng)址/technetwork/java/javase/downloads/index.html下載JDK+Jcreater/download.htm下載JDK+NetNeans/technetwork/java/javase/downloads/index.html下載JDK+Eclipse(Myeclipse)/downloads/2024/12/24李飛——計(jì)算中心18/30下載JDK安裝包安裝(見教材P13)配置開發(fā)環(huán)境參數(shù)安裝Java開發(fā)IDEJDK的安裝與設(shè)置2024/12/24李飛——計(jì)算中心19/30小結(jié)與思考題內(nèi)容提要Java語言的起源與發(fā)展過程Java的特點(diǎn)Java語言的運(yùn)行機(jī)制Java語言的開發(fā)環(huán)境思考與練習(xí)Java語言的特點(diǎn)JVM的功能Applet和Application的區(qū)別2024/12/24李飛——東北大學(xué)秦皇島分校計(jì)算中心20/352024/12/24李飛——計(jì)算中心21/35附錄:Java程序開發(fā)過程
要?jiǎng)?chuàng)建一個(gè)Java需要三個(gè)基本步驟:(1)創(chuàng)建帶有文件擴(kuò)展名.java的源文件。(2)利用Java編譯器生成文件擴(kuò)展名為.class的字節(jié)碼文件。(3)Application程序利用Java解釋器運(yùn)行該字節(jié)碼文件,Applet利用Java自帶查看器或?yàn)g覽器運(yùn)行嵌有字節(jié)碼文件的HTML文件。2024/12/24李飛——計(jì)算中心22/30Java應(yīng)用程序開發(fā)過程示例2024/12/24李飛——計(jì)算中心23/23例1
1.編寫源文件(Java應(yīng)用程序的源文件是由若干個(gè)書寫形式互相獨(dú)立的類組成)。publicclassHello{publicstaticvoidmain(Stringargs[]){System.out.println("這是一個(gè)簡(jiǎn)單的Java應(yīng)用程序");
Studentstu=newStudent();stu.speak("Wearestudents");}}classStudent{publicvoidspeak(Strings){System.out.println(s);}}源文件命名為Hello.java保存至C:\chapter1。注:良好的編碼習(xí)慣、源文件的命名規(guī)則2.編譯Java源程序。C:\chapter1\>javacHello.java3.運(yùn)行Java程序。C:\chapter1\>javaHelloJava應(yīng)用程序開發(fā)過程示例(聯(lián)合編譯)2024/12/24李飛——計(jì)算中心24/35例1.編寫源文件。
分別編輯、保存三個(gè)Java源文件Circle.java、Rectangle.java、MainClass.java至C:\chapter1中
。其中MainClass.java是含有主類的Java應(yīng)用程序的源文件。2.編譯Java源程序。C:\chapter1\>javacMainClass.java編譯MainClass.java的過程中,Java系統(tǒng)會(huì)自動(dòng)地編譯Circle.java和Rectangle.java,這是因?yàn)閼?yīng)用程序要使用Circle.java和Rectangle.java源文件產(chǎn)生的字節(jié)碼文件。編譯通過后,C:\chapter1目錄中將會(huì)有Cirlce.class、Rectangle.class和MainClass.class三個(gè)字節(jié)碼文件。3.運(yùn)行Java程序。C:\chapter1\>javaMainClassCircle.java源代碼:Rectangle.java源代碼:2024/12/24李飛——計(jì)算中心25/30publicclassCircle{voidprintArea(doubler){System.out.println(r*r*3.1416926);}}publicclassRectangle{voidprintArea(doublea,doubleb){System.out.println(a*b);}}Java應(yīng)用程序開發(fā)過程示例(聯(lián)合編譯)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 上??萍即髮W(xué)《納米材料與納米技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海交通職業(yè)技術(shù)學(xué)院《隨機(jī)信號(hào)分析的工程應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海健康醫(yī)學(xué)院《鋼結(jié)構(gòu)設(shè)計(jì)基本原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海行健職業(yè)學(xué)院《計(jì)算機(jī)控制技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年中國(guó)燈光控制電路市場(chǎng)調(diào)查研究報(bào)告
- 上海海事大學(xué)《燈具與燈光設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年中國(guó)水泥發(fā)泡劑市場(chǎng)調(diào)查研究報(bào)告
- 企業(yè)員工管理制度展示選集
- 上海工商外國(guó)語職業(yè)學(xué)院《環(huán)境與資源法》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海工會(huì)管理職業(yè)學(xué)院《美術(shù)課程與教學(xué)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 安全漏洞挖掘技術(shù)
- 賽碼網(wǎng)行測(cè)題題庫(kù)2024
- 中國(guó)血液透析用血管通路專家共識(shí)(全文)
- 10S507 建筑小區(qū)埋地塑料給水管道施工
- DL∕T 5028.4-2015 電力工程制圖標(biāo)準(zhǔn) 第4部分:土建部分
- 2024年北京電子科技職業(yè)學(xué)院高職單招筆試歷年職業(yè)技能測(cè)驗(yàn)典型例題與考點(diǎn)解析含答案
- DL5000-火力發(fā)電廠設(shè)計(jì)技術(shù)規(guī)程
- 八年級(jí)趣味數(shù)學(xué)100題
- 代收個(gè)人款項(xiàng)聲明書
- 中東及非洲太陽能儲(chǔ)能電池行業(yè)現(xiàn)狀及發(fā)展機(jī)遇分析2024-2030
- 員工賠償金保密協(xié)議書
評(píng)論
0/150
提交評(píng)論