1Java基礎(chǔ)第1章課件_第1頁
1Java基礎(chǔ)第1章課件_第2頁
1Java基礎(chǔ)第1章課件_第3頁
1Java基礎(chǔ)第1章課件_第4頁
1Java基礎(chǔ)第1章課件_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章Java開發(fā)入門Java語言的特點Java開發(fā)環(huán)境的搭建環(huán)境變量的配置Java的運行機(jī)制1.1Java概述1.2JDK的使用1.3第一個Java程序1.4系統(tǒng)環(huán)境變量1.5Java的運行機(jī)制1.1Java概述1.1.1什么是Java計算機(jī)語言(ComputerLanguage)是人與計算機(jī)之間通訊的語言,分成機(jī)器語言、匯編語言、高級語言三大類。Java是一種高級計算機(jī)語言,它是由Sun公司(已被Oracle公司收購)于1995年5月推出的一種可以編寫跨平臺應(yīng)用軟件、完全面向?qū)ο蟮某绦蛟O(shè)計語言。機(jī)器語言(machinelanguage)是一種指令集的體系。這種指令集,稱機(jī)器碼(machinecode),是電腦的CPU可直接解讀的數(shù)據(jù)。返回第一代語言:機(jī)器語言第二代語言:匯編語言匯編語言(assemblylanguage)是一種用于電子計算機(jī)、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符(Mnemonics)代替機(jī)器指令的操作碼,用地址符號(Symbol)或標(biāo)號(Label)代替指令或操作數(shù)的地址。在不同的設(shè)備中,匯編語言對應(yīng)著不同的機(jī)器語言指令集,通過匯編過程轉(zhuǎn)換成機(jī)器指令。普遍地說,特定的匯編語言和特定的機(jī)器語言指令集是一一對應(yīng)的不同平臺之間不可直接移植。優(yōu)點:1.面向機(jī)器的低級語言,通常是為特定的計算機(jī)或系列計算機(jī)專門設(shè)計的。2.保持了機(jī)器語言的優(yōu)點,具有直接和簡捷的特點。3.可有效地訪問、控制計算機(jī)的各種硬件設(shè)備,如磁盤、存儲器、CPU、I/O端口等。4.目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計語言。5.經(jīng)常與高級語言配合使用,應(yīng)用十分廣泛。缺點:1.編寫的代碼非常難懂,不好維護(hù);2.很容易產(chǎn)生bug,難于調(diào)試;3.只能針對特定的體系結(jié)構(gòu)和處理器進(jìn)行優(yōu)化;4.開發(fā)效率很低,時間長且單調(diào)。返回

高級語言與匯編語言相比,它不但將許多相關(guān)的機(jī)器指令合成為單條指令,并且去掉了與具體操作有關(guān)但與完成工作無關(guān)的細(xì)節(jié),例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由于省略了很多細(xì)節(jié),編程者也就不需要有太多的專業(yè)知識。高級語言所編制的程序不能直接被計算機(jī)識別,必須經(jīng)過轉(zhuǎn)換才能被執(zhí)行,按轉(zhuǎn)換方式可將它們分為兩類:解釋類和編譯類語言。一些高級語言有:返回

第三代語言:高級語言C、Pascal、Fortran面向過程的語言C++面向過程/面向?qū)ο驤ava跨平臺的純面向?qū)ο蟮恼Z言.NET跨語言的平臺1990年,SUN公司預(yù)料嵌入式系統(tǒng)將在未來家用電器領(lǐng)域大顯身手。于是SUN公司成立了一個由JamesGosling、BillJoy等人領(lǐng)導(dǎo)的“Green計劃”,準(zhǔn)備為下一代智能家電(如電視機(jī),微波爐,電話)編寫一個通用控制系統(tǒng)。他們首先注意到這個產(chǎn)品必須具有平臺獨立性,改軟件在任何CPU上都能運行?!癎reen計劃”最初考慮使用C++語言,但是發(fā)現(xiàn)C++和可用的API在某些方面存在很大問題。而且項目組使用的是嵌入式平臺,可用的系統(tǒng)資源極其有限。于是Gosling決定從修改和擴(kuò)展C++編譯器入手,但他們很快意識到該產(chǎn)品還必須具有高度的簡潔性和安全性,而C++無法勝任。最終決定使用一種全新的語言:Oak。1.1.1什么是JavaJava的發(fā)展史1.1Java概述Oak是Green項目小組開發(fā)的一個名為“*7”(StartSeven),StartSeven是一個集成了Oak,GreenOS(一種操作系統(tǒng)),用戶接口模塊和硬件模塊四個部分的類似于PDA設(shè)備,1992年,整個StartSeven原型完成,而且非常成功,但是在激烈的商業(yè)競爭中敗給了競爭對手,可憐的Green項目幾近夭折。1993年7月,伊利斯諾大學(xué)推出了一個在Internet上廣為流行的www瀏覽器Mosaic1.0,然而這時的頁面雖然內(nèi)容豐富??梢詫崿F(xiàn)聲、圖、文并茂,但它卻是靜態(tài)的。Gosling立即意識到這是一個機(jī)會,從1994年起對Oak進(jìn)行了小規(guī)模的改造,小組中的另外兩位成員完成了第一個Java語言的網(wǎng)頁瀏覽器:Webrunner。該成果得到Sun公司總裁的高度評價。由于當(dāng)時Oak這個商標(biāo)已經(jīng)被別人注冊,于是只得將Oak更名為Java。Sun于1995年初發(fā)布了Java語言,并引起業(yè)界的轟動1.1.1什么是JavaJava的發(fā)展史1.1Java概述JamesGosling從Oak到Java1.1.1什么是JavaJava的發(fā)展史1.1Java概述1995年5月23日,JAVA語言誕生1996年,1997分別推出JDK1.0,JDK1.1版1999年,JAVA被分成J2SE,J2EE,J2ME2000年,JDK1.4發(fā)布2004年9月30日18:00PM,J2SE1.5發(fā)布,成為Java語言發(fā)展史上的又一里程碑。為了表示該版本的重要性,J2SE1.5更名為JavaSE5.02005年,JAVA版本正式更名為JAVAEE,JAVASE,JAVAME2006年12月,SUN公司發(fā)布JRE6.0

2009年04月20日,Oracle以74億美元收購Sun。取得java的版權(quán)。

2010年9月,JDK7.0已經(jīng)發(fā)布,增加了簡單閉包功能。2011年7月,甲骨文公司發(fā)布java7的正式版。目前最新為JDK81.1.1什么是JavaJava的發(fā)展史1.1Java概述1.1Java概述1.1.1什么是JavaJava的版本為了使軟件開發(fā)人員、服務(wù)提供商和設(shè)備生產(chǎn)商可以針對特定的市場進(jìn)行開發(fā),SUN公司將Java劃分為三個技術(shù)平臺,它們分別是JavaSE、JavaEE和JavaME。JavaSE(JavaPlatformStandardEdition)標(biāo)準(zhǔn)版,是為開發(fā)普通桌面和商務(wù)應(yīng)用程序提供的解決方案。JavaSE是三個平臺中最核心的部分,包括了Java最核心的類庫。JavaEE(JavaPlatformEnterpriseEdition)企業(yè)版,是為開發(fā)企業(yè)級應(yīng)用程序提供的解決方案。JavaEE可以被看作一個技術(shù)平臺,該平臺用于開發(fā)、裝配以及部署企業(yè)級應(yīng)用程序。JavaME(JavaPlatformMicroEdition)小型版,是為開發(fā)電子消費產(chǎn)品和嵌入式設(shè)備提供的解決方案。JavaME主要用于小型數(shù)字電子設(shè)備上軟件程序的開發(fā)。此外,JavaME提供了HTTP等高級Internet協(xié)議。1.1Java概述1.1.2Java語言特點簡單性面向?qū)ο笮园踩钥缙脚_性支持多線程1.1Java概述1.2.3Java程序運行機(jī)制1.1Java概述Java虛擬機(jī)可以理解成一個以字節(jié)碼為機(jī)器指令的CPU。對于不同的運行平臺,有不同的虛擬機(jī),實現(xiàn)了“一”次編

譯,隨處運行”。Java虛擬機(jī)機(jī)制屏蔽了底層運行平臺的差別。1.2.3Java程序運行機(jī)制--Java虛擬機(jī)1.1Java概述1.2.3Java程序運行機(jī)制----垃圾回收機(jī)制不再使用的內(nèi)存空間應(yīng)回收一垃圾收集。在c/c++等語言中,由程序員負(fù)責(zé)回收無用內(nèi)存。Java語言消除了程序員回收無用內(nèi)存空間的責(zé)任;JRE負(fù)

責(zé)回收那些不再使用的內(nèi)存,通常JRE會提供一種系統(tǒng)

級線程跟蹤存儲空間的分配情況。并在JVM的空閑時,

檢查并釋放那些可被釋放的存儲器空間。垃圾收集在Java程序運行過程中自動進(jìn)行,程序員無法

精確控制和干預(yù)。1.2JDK的使用1.2.1什么是JDKSUN公司提供了一套Java開發(fā)環(huán)境,簡稱JDK(JavaDevelopmentKit),它是整個Java的核心,Java的開發(fā)環(huán)境和運行環(huán)境。其中包括常用的Java類庫、Java編譯器、調(diào)試器、Java運行工具、Java文檔生成工具、Java打包工具等。本教材是針對JDK7.0版本進(jìn)行講解。JRE是JavaRuntimeEnvironment的縮寫,它是Java運行環(huán)境,包含核心類庫、Java虛擬機(jī)和支持文件。注意:為了方便使用,SUN公司在其JDK工具中自帶了一個JRE工具,也就是說開發(fā)環(huán)境中包含運行環(huán)境。1.2JDK的使用下載JDK1.2JDK的使用下載JDK1.2JDK的使用下載JDK1.2JDK的使用1.2.2安裝JDKOracle公司提供了多種操作系統(tǒng)的JDK,每種操作系統(tǒng)的JDK在使用上基本類似,初學(xué)者可以根據(jù)自己使用的操作系統(tǒng),從Oracle官方網(wǎng)站下載相應(yīng)的JDK安裝文件。接下來以Windows10系統(tǒng)為例來演示JDK8.0的安裝過程,具體步驟如下:安裝JDK8.0開始安裝JDK安裝JDK7.0自定義安裝功能和路徑開發(fā)工具:是JDK中的核心功能模塊,其中包含一系列可執(zhí)行程序,如javac.exe、java.exe等,還包含了一個專用的JRE環(huán)境。源代碼:是Java提供公共API類的源代碼。公共JRE:是Java程序的運行環(huán)境。由于開發(fā)工具中已經(jīng)包含了一個JRE,因此沒有必要再安裝公共的JRE環(huán)境,此項可以不作選擇。安裝JDK7.0自定義安裝功能和路徑安裝JDK7.0完成JDK安裝安裝JDK7.0自定義安裝功能和路徑1.2JDK的使用1.2.3JDK目錄介紹bin目錄:該目錄用于存放一些可執(zhí)行程序,如javac.exe(Java編譯器)、java.exe(Java運行工具)、jar.exe(打包工具)和javadoc.exe(文檔生成工具)等。db目錄:是一個純Java實現(xiàn)、開源的數(shù)據(jù)庫管理系統(tǒng)。這個數(shù)據(jù)庫不僅很輕便,而且支持JDBC4.0所有的規(guī)范,在學(xué)習(xí)JDBC時,不再需要額外地安裝一個數(shù)據(jù)庫軟件,可以選擇直接使用JavaDB即可。jre目錄:此目錄是Java運行時環(huán)境JRE的根目錄,包含Java虛擬機(jī),運行時的類包、Java應(yīng)用啟動器以及一個bin目錄,但不包含開發(fā)環(huán)境中的開發(fā)工具。include目錄:由于JDK是通過C和C++實現(xiàn)的,因此在啟動時需要引入一些C語言的頭文件,該目錄就是用于存放這些頭文件的。lib目錄:lib是library的縮寫,意為Java類庫或庫文件,是開發(fā)工具使用的歸檔包文件。src.zip文件:src.zip為src文件夾的壓縮文件,src中放置的是JDK核心類的源代碼,通過該文件可以查看Java基礎(chǔ)類的源代碼。在JDK的bin目錄下放著很多可執(zhí)行程序,其中最重要的就是javac.exe和java.exe。javac.exe是Java編譯器工具,它可以將編寫好的Java文件編譯成Java字節(jié)碼文件(可執(zhí)行的Java程序)。java.exe是Java運行工具,它會啟動一個Java虛擬機(jī)(JVM)進(jìn)程,Java虛擬機(jī)相當(dāng)于一個虛擬的操作系統(tǒng),它專門負(fù)責(zé)運行由Java編譯器生成的字節(jié)碼文件(.class文件)。1.3 第一個Java程序1.3.1編寫Java源文件class是一個關(guān)鍵字,它用于定義一個類。在Java中,類就相當(dāng)于一個程序,所有的代碼都需要在類中書寫。HelloWorld是類的名稱,簡稱類名。class關(guān)鍵字與類名之間需要用空格、制表符、換行符等任意的空白字符進(jìn)行分隔。類名之后要寫一對大括號,它定義了當(dāng)前這個類的管轄范圍,所有的代碼都需要寫在這個大括號中?!皃ublicstaticvoidmain(String[]args){}”定義了一個main()方法,該方法是Java程序的執(zhí)行入口在main()方法中編寫了一條執(zhí)行語句“System.out.println("這是第一個Java程序!");”,它的作用是打印一段文本信息,執(zhí)行完這條語句會在命令行窗口中打印“這是第一個Java程序!”。常用命令dos命令行,課程中常見的命令。dir:列出當(dāng)前目錄的文件和文件夾cd:進(jìn)入指定目錄cd..:返回到上一級目錄cd\:返回到根目錄md:創(chuàng)建目錄rd:刪除目錄del:刪除文件cls:清除屏幕exit:退出命令行窗口1.3.2打開命令行窗口對于不同版本的Windows操作系統(tǒng),啟動命令行窗口的方式也不盡相同,這里以WindowsXP操作系統(tǒng)為例進(jìn)行講解。1.3 第一個Java程序1.3.4編譯Java源文件在命令行窗口中輸入“javacHelloWorld.java”命令,對源文件進(jìn)行編譯。上面的javac命令執(zhí)行完畢后,會在bin目錄下生成一個字節(jié)碼文件“HelloWorld.class”。1.3 第一個Java程序1.3.5運行Java程序在命令行窗口中輸入“javaHelloWorld”命令,運行編譯好的字節(jié)碼文件。1.3 第一個Java程序有兩點需要注意:第一,在使用javac命令進(jìn)行編譯時,需要輸入完整的文件名。第二,在使用java命令運行程序時,需要的是類名,而非完整的文件名。腳下留心在使用javac命令編譯例程1-1中的程序時,有可能會出現(xiàn)“找不到文件”的錯誤可能原因:文件的擴(kuò)展名被隱藏了,使文本文件在重命名為“HelloWorld.java”時,實際上該文件的真實文件名為“HelloWorld.java.txt”,文件類型并沒有得到修改。腳下留心打開Windows的【文件夾選項】,在高級設(shè)置一欄中將“隱藏已知文件類型的擴(kuò)展名”選項前面的勾“√”取消,點擊【確定】按鈕。文件顯示出擴(kuò)展名.txt后,將其重命名為HelloWorld.java即可。1.4 系統(tǒng)環(huán)境變量1.4.1path環(huán)境變量path環(huán)境變量是系統(tǒng)環(huán)境變量中的一種,它用于保存一系列的路徑,每個路徑之間以分號分隔。在命令行窗口運行一個可執(zhí)行文件時,操作系統(tǒng)首先會在當(dāng)前目錄下查找該文件,如果不存在會繼續(xù)在path環(huán)境變量中定義的路徑下去尋找這個文件,如果仍未找到,系統(tǒng)會報錯。1.4 系統(tǒng)環(huán)境變量1.4.2系統(tǒng)環(huán)境變量查看Windows系統(tǒng)屬性中的環(huán)境變量。1.4 系統(tǒng)環(huán)境變量1.4.2系統(tǒng)環(huán)境變量設(shè)置path系統(tǒng)環(huán)境變量。在【變量值】文本區(qū)域開始處添加“javac”命令所在的目錄“C:\ProgramFiles\Java\jdk1.7.0_10\bin”,末尾用英文半角分號(;)結(jié)束,與后面的路徑隔開。然后依次點擊打開窗口的【確定】按鈕,完成設(shè)置。1.4 系統(tǒng)環(huán)境變量1.4.1path環(huán)境變量設(shè)置完path環(huán)境變量后,再次運行“javac”命令,會顯示“javac”命令的幫助信息。1.4 系統(tǒng)環(huán)境變量1.4.3classpath環(huán)境變量classpath環(huán)境變量也用于保存一系列路徑,它和path環(huán)境變量的查看與配置的方式完全相同。當(dāng)Java虛擬機(jī)需要運行一個類時,會在classpath環(huán)境變量中所定義的路徑下去尋找所需的class文件。1.4 系統(tǒng)環(huán)境變量1.4.3classpath環(huán)境變量打開命令提示行窗口,進(jìn)入C盤根目錄下,然后執(zhí)行“javaHelloWorld”命令,運行之前編譯好的Java程序,結(jié)果會報錯。首先來通過“setclasspath”命令查看當(dāng)前classpath環(huán)境變量的值。1.4 系統(tǒng)環(huán)境變量1.4.3classpath環(huán)境變量值得注意的是,在1.3小節(jié)中,我們并沒有對classpath環(huán)境變量進(jìn)行設(shè)置,但在“C:\ProgramFiles\Java\jdk1.7.0_10\bin”目錄下仍然可以使用“java”命令正常運行程序,而沒有出現(xiàn)無法找到“HelloWorld.class”文件的錯誤。這是因為從JDK5.0開始,如果classpath環(huán)境變量沒有進(jìn)行設(shè)置,Java虛擬機(jī)會自動將其設(shè)置為“.”,也就是當(dāng)前目錄。1.5 Java的運行機(jī)制Java程序運行時,必須經(jīng)過編譯和運行兩個步驟。首先將后綴名為.java的源文件進(jìn)行編譯,最終生成后綴名為.class的字節(jié)碼文件。然后Java虛擬器將字節(jié)碼文件進(jìn)行解釋執(zhí)行,并將結(jié)果顯示出來。1.5 Java的運行機(jī)制以例程1-1為例,具體步驟如下:1、編寫一個HelloWorld.java的文件。2、使用“JavacHelloWorld.java”命令開啟Java編譯器并進(jìn)行編譯。編譯結(jié)束后,會自動生成一個HelloWorld.class的字節(jié)碼文件。3、使用“JavaHelloWorld”命令啟動Java虛擬機(jī)運行程序,Java虛擬機(jī)首先將編譯好的字節(jié)碼文件加載到內(nèi)存,這個過程被稱為類加載,它是由類加載器完成的,然后虛擬機(jī)針對加載到內(nèi)存中的Java類進(jìn)行解釋執(zhí)行,便可看到運行結(jié)果。1.5 Java的運行機(jī)制Java程序是由虛擬機(jī)負(fù)責(zé)解釋執(zhí)行的,而并非操作系統(tǒng)。這樣做的好處是可以實現(xiàn)跨平臺性,也就是說針對不同的操作系統(tǒng)可以編寫相同的程序,只需安裝不同版本的虛擬機(jī)即可。1.5 Java的運行機(jī)制這種方式使得Java語言“一次編寫,到處運行(writeonce,runanywhere)”,有效地解決了程序設(shè)計語言在不同操作系統(tǒng)編譯時產(chǎn)生不同機(jī)器代碼的問題,大大降低了程序開發(fā)和維護(hù)的成本。需要注意的是,Java程序通過Java虛擬機(jī)可以達(dá)到跨平臺特性,但Java虛擬機(jī)并不是跨平臺的。也就是說,不同操作系統(tǒng)上的Java虛擬機(jī)是不

溫馨提示

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

評論

0/150

提交評論