




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一講開發前奏1、程序設計語言2、Java歷史及發展3、Java語言特點4、Java開發環境5、Java類庫6、Java程序
軟件的基本組成部分是完成其功能的程序。程序設計語言(也被稱為“編程語言”,ProgrammingLanguage)是人們編制程序所使用的語言。程序描述了計算機處理數據、解決問題的過程,這是程序的實質。但程序的描述形式卻可以是多種多樣的,可以用不同的方式表述——不同的程序設計語言。1、程序設計語言1、程序設計語言程序設計語言的種類:機器語言:機器指令,直接執行匯編語言:符號化,匯編器(Assembler)高級程序設計語言(編譯型)高級程序設計語言(解釋型)
高級語言中用于描述計算的結構采用類似于數學中代數運算公式的形式,這種結構被稱為“表達式”。程序中基本的動作單位被稱為“語句”,不同的語句實現不同的功能。用高級語言書寫的程序不可能直接地在計算機上執行,要在計算機上執行高級語言書寫的程序,有兩種基本方法:
編譯(Compilation)執行:這種方法是設法把高級語言程序(也稱為“源程序”)轉換成為機器語言的可以由計算機直接執行的程序,即轉變為“可執行(Executable)程序”。“解釋”(Interpretation)執行:這種方法是即時把源程序轉換為機器可執行的指令。有時為了提高效率,也可以先編譯成一種中間代碼。1、程序設計語言
——高級程序設計語言
對于“編譯執行”方式,人們實現了高級語言“編譯器”(Compiler)完成這種轉換工作。編譯器把高級語言程序看成是符合一定語法結構的符號串,對它進行加工變換。編譯器對源程序的加工一般分為兩個階段:源程序首先被翻譯成機器語言,這種翻譯結果稱為“目標碼”(objectcode),目標碼構成的程序片段稱為目標模塊。第二步,這些目標模塊被與其他一些基本模塊(由編譯軟件提供)連接在一起,最終形成“可執行程序”(executableprogram),這樣的程序就可以在計算機上實際運行了。第一個加工步驟稱為“編譯”(compiling),第二個步驟稱為“連接”(linking)。
1、程序設計語言
——高級程序設計語言1、程序設計語言
——高級程序設計語言編譯過程
對于“解釋執行”方式,人們實現了一種稱為“解釋器”(Interpreter)的軟件來完成轉換工作。解釋器在工作方式上與編譯器不同,它不對源程序進行翻譯,而是直接對源程序的語句進行分析和解釋,實現源程序所描述的功能。1、程序設計語言
——高級程序設計語言解釋過程1、程序設計語言
——高級程序設計語言
高級語言寫出的程序是獨立于任何具體的計算機的。但是“編譯器”和“解釋器”則是與機器相關的。同一種語言,對于不同的機器,需要不同的“編譯器”和“解釋器”。人們已經開發出了許多不同的高級程序設計語言,不同的語言有各自不同的規范,因此需要專門的“編譯器”和“解釋器”。FORTRAN(FORmularTRANslation)語言,HPF:IBM,1950Pascal語言:N.Wirth,1968,(Delphi,Borland)COBOL(COmmonBusinessOrientedLanguage)語言:美國國防部,1960C和C++語言:DennisRetchie,1972;BjarneStroustrup,1983,BellBasic(Beginner'sAll-purposeSymbolicInstructionCode)語言:美國國防部,1964Ada語言:軍用程序設計語言,美國國防部,1983Java語言:1991年,SUNMicroSystem公司1、程序設計語言
——高級程序設計語言2、Java歷史及發展Java是一種解釋型的、面向對象的編程語言。歷史:1991年,SUNMicroSystem公司的JameGosling、BillJoe等人為在電視、控制烤箱等家用消費類電子產品上進行交互式操作而開發了一個名為Oak的軟件。
Oak—>Java:互聯網給Java帶來新的生機
1995年Sun向公眾推出Java并引起業界的轟動發展:面向網絡應用,類庫不斷豐富,性能不斷提高,應用領域不斷拓展。(1995年以來)應用:Java是當今最流行的軟件開發語言之一,Sun推出了Java2&J2EE使Java具有更廣泛的用途,適用于各種應用開發,尤其是網絡應用,網絡服務,嵌入式系統等。Java=“C++”-“復雜性和奇異性”
+“安全性和可移植性”
Java語言是一個完全面向對象的語言,并且對軟件工程技術有很強的支持
Java語言的設計集中于對象及其接口,它提供了簡單的類機制以及動態的接口模型。對象中封裝了它的狀態變量以及相應的方法,實現了模塊化和信息隱藏;類提供了一類對象的原型,并且通過繼承機制,子類可以使用父類所提供的方法,實現了代碼的復用。3、Java語言特點
——(1)面向對象
嚴格的語言定義:沒有“依據機器的不同而不同”或“由編譯器決定”等字眼,最后的目標碼都是一致的。
Java解釋器生成與體系結構無關的字節碼指令,只要安裝了Java運行時系統,Java程序就可在任意的處理器上運行。這些字節碼指令對應于Java虛擬機中的表示,Java解釋器得到字節碼后,對它進行轉換,使之能夠在不同的平臺運行。3、Java語言特點
——(2)平臺無關性源程序Java編譯器SPARCpentiumPowerpc中間碼PowerpcpentiumSPARC二進制源程序SPARCPowerpcpentiumPowerpcpentiumSPARC編譯器二進制Java解釋器編譯型和解釋型語言的工作模式類、類庫裝載(庫)鏈接編譯,沒有絕對地址調入包含、繼承所用到的所有類,內存分配確定,變成真正可執行的機器碼Java源程序(.java文件)Java編譯器JavaBytecode(.class文件)系統執行平臺Bytecode解釋器Bytecode載入器字節碼校驗器不存在偽造的指針不違反訪問權限不非法訪問對象不導致操作棧溢出
Java的編譯與執行JavainterpreterJust-in-timecompilerRuntimeSystemOperatingSystemHardware不同的操作系統有不同的虛擬機。它類似一個小巧而高效的CPU。Bytecode代碼是與平臺無關的是虛擬機的機器指令。Java字節代碼運行的兩種方式:Interpreter(解釋方式)Just-in-time(即時編譯):有代碼生成器將字節代碼轉換成本機的機器代碼,然后可以以較高速度執行.Java虛擬機“一次編譯,到處運行”的原理JVM(虛擬機)的運行過程JVM(虛擬機)的運行過程代碼的裝入代碼的校驗代碼的執行Java是在網絡環境下使用的語言,一個安全的網絡至少要防止以下幾種破壞的可能性:
毀滅系統資源消耗系統資源挖掘系統或個人機密騷擾正常工作的進行3、Java語言特點
——(3)安全問題Java源程序(.java文件)Java編譯器JavaBytecode(.class文件)Bytecode載入器Bytecode解釋器系統執行平臺語言定義publicprotectedprivatefinal取消指針自動回收垃圾Bytecode檢查限定對象的存取權限系統堆棧溢出參數類型一致程序執行系統WWW瀏覽器限制Java小應用程序的不正當使用Java的安全措施
單線程程序一個時刻只能做一件事情,多線程程序允許在同一時刻同時做多件事情。其它大多數高級語言,包括C,C++等,都不支持多線程,只能編寫順序執行的程序(除非有操作系統API的支持)。
Java提供現成的類Thread,只要繼承這個類就可以編寫多線程的程序。多線程機制使應用程序能夠并行執行,而且同步機制保證了對共享數據的正確操作。通過使用多線程,程序設計者可以分別用不同的線程完成特定的行為,而不需要采用全局的事件循環機制,這樣就很容易地實現網絡上的實時交互行為。3、Java語言特點
——(4)多線程(5)可移植性(6)分布性(7)高性能(相對于其他解釋型語言)(8)健壯性3、Java語言特點
——其他
不再有全局變量不再有#include和#define等預處理功能不再有structure、union及typedef等不再有函數、不再有指針、不再有多重繼承不再有goto語句不再有操作符重載(OperatiorOverloading)
取消自動類型轉換,要求強制轉換自動進行內存管理3、Java語言特點
——(9)與C及C++的區別什么是JDK(JavaDevelopmentKit)
開發工具,Javac及基礎核心類運行環境,java及基礎核心類按Java的應用環境劃分
J2EE(Java
2
Platform
Enterprise
Edition
)J2SE(Java
2
Platform
Stand
Edition)
J2ME(Java
2
Platform
Micro
Edition
)下載網址4、Java開發環境4、Java開發環境JDKj2eesdk-1_4_01-windows.exej2sdk-1_4_2_04-nb-3_6-bin-windows.exej2sdk-1_4_2-doc.zip集成環境
Jbuilder(Borland)VisualJ++(Microsoft)JPadTextPad…4、Java開發環境反編譯工具JADFrontEnd4、Java開發環境Classpath的設置實際操作講解classpath的作用Java解釋器是如何處理當前目錄的如何解決當前目錄的問題配置classpath的幾個注意事項4、Java開發環境什么是環境變量查看環境變量的兩種方式如何設置系統環境變量path環境變量的作用%path%的意義如何解決使用java命令中的問題安裝JDK
直接運行“j2eesdk-1_4_01-windows.exe”,按照安裝向導進行安裝。解開“j2sdk-1_4_2-doc.zip”,得到JDK的開發文檔。4、Java開發環境安裝JDK后產生如下目錄結構:
\bin目錄:Java開發工具,包括Java編譯器、解釋器等
\demo目錄:一些實例程序
\lib目錄:Java開發類庫
\jre目錄:Java運行環境,包括Java虛擬機、運行類庫等
…4、Java開發環境4、Java開發環境JDKj2eesdk-1_4_01-windows.exej2sdk-1_4_2_04-nb-3_6-bin-windows.exej2sdk-1_4_2-doc.zip集成環境
Jbuilder(Borland)VisualJ++(Microsoft)JPadTextPad…Java開發工具包括:
Javac:Java編譯器,用來將java程序編譯成
Bytecode。
Java:Java解釋器,執行已經轉換成Bytecode的
java應用程序。
Jdb:Java調試器,用來調試java程序。
Javap:反編譯,將類文件還原回方法和變量。
Javadoc:文檔生成器,創建HTML文件。
Appletviwer:Applet解釋器,用來解釋已經轉換成
Bytecode的java小應用程序。4、Java開發環境設置環境變量:
PATH=<INSTALL_DIR>\bin;CLASSPATH=.;<Other_Applications_Dir>;Windows98:autoexec.batWindowsNT/2000/XP:控制面板系統高級環境變量4、Java開發環境設置環境變量:
PATH=<INSTALL_DIR>\bin;CLASSPATH=.;<Other_Applications_Dir>;Windows98:autoexec.batWindowsNT/2000/XP:控制面板系統高級環境變量4、Java開發環境C:\Jdkbinlibjavacjavaappletviewer用戶類文件所在目錄c:\java\examples\applications當前目錄jredemo4、Java開發環境Java程序由各種類(class)組成你自己編寫的類(Javaclasslibraries——JavaAPI)JDK——JavaDevelopmentKit(1.1~1.4)獨立軟件供應商、免費軟件/共享軟件幾點提示使用類庫可以提高軟件重用/提高效率/提高移植性網絡上有許多開放的Java源碼資源5、Java類庫JavaPackages(1)Language java.lang Classesthatcontainthemaincore oftheJavalanguage.Utilities java.util Supportforutilitydatastructures.I/O java.io Supportforvarioustypesof input/output.Text java.text Localizationsupportforhandling text,dates,numbers,andmessages.Math java.math Classesforperformingarbitrary- precisionintegerandfloating-point arithmetic.AWT java.awt Userinterfacedesignandevent- handling.Swing javax.swing Classesforcreatingall-Java, lightweightcomponentsthatbehave similarlyonallplatforms.JavaPackages(2)Javax javax ExtensionstotheJavalanguage.Applet java.applet Classesforcreatingapplets.Beans java.beans ClassesfordevelopingJavaBeans.Reflection java.lang.reflectClassesusedtoobtainruntime classinformation.SQL java.sql Supportforaccessingand processingdata indatabases.RMI java.rmi Supportfordistributed programming.Networking Classesthatsupportdevelopment ofnetworkingapplications.Security java.security SupportforcryptographicsecurityJava程序分兩種:
Java應用程序(JavaApplication)
Java小程序(JavaApplet)6、Java程序Java程序結構:
package語句:零個或多個,必須放在文件開始
import語句:零個或多個,必須放在所有類定義之前
publicClassDefinition:零個或一個
ClassDefinition:零個或多個
InterfaceDefinition:零個或多個類個數:至少一個類,最多只能有一個public類源文件命名:若有public類,源文件必須按該類命名標識符:區分大小寫6、Java程序
類庫支持:引用其他類。類定義:定義程序所需的類及接口,包括其內部的變量、方法等。
main()方法:應用程序的入口,與標準C中main()函數的地位是一樣的。一個應用程序有且只有一個main()方法,main()方法必須包含在一個類中,該類即為應用程序的外部標志。程序注釋:與C++類似,/*…*///…6、Java程序
——Java應用程序(JavaApplication)編輯存盤:文件名和公共類名(用public聲明)要一致HelloWorldApp.java編譯程序:javacHelloWorldApp.java運行程序:javaHelloWorldApp運行結果:HelloWorld!publicclassHelloWorldApp{
publicstaticvoidmain(Stringargs[]){System.out.println(“HelloWorld!”);}}6、Java程序
——第一個Java應用程序聲明一個類:publicclassHelloWorldApp{},類名第一個字母大寫。一個類中可有很多方法,main方法是運行程序的第一個方法,方法名的第一個字母小寫。System.out.println是向屏幕輸出,相當于C中的printf()。6、Java程序
——第一個Java應用程序publicclassHelloWorldApp{
publicstaticvoidmain(Stringargs[]){System.out.println(“HelloWorld!”);}}
注意程序進入從一個類的main方法開始,必須保證主類HelloWorldApp中實現了main方法。必須保證HelloWorldApp.java文件在當前目錄下必須保證PATH環境變量中有[jdk_home]\bin6、Java程序
——第一個Java應用程序初學者易犯的錯誤聲明一個類的關鍵字class,寫成了Class,要注意大小寫。聲明main方法時,方法修飾符沒有嚴格按照publicstaticvoid的順序,并且其參數是一個字符串數組String[]
大小寫問題,例如把main方法的參數args的類型String[],改成了string[],把System寫成了system。'JAVAC'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.
解釋:編譯錯誤。包含javac.exe編譯器的路徑變量設置不正確,操作系統無法發現該執行文件。publicclassCommArg{publicstaticvoidmain(Stringargs[]){//Displaycommandargumentsinti;
if(args.length>0)//havesomecommandarguments{for(i=0;i<args.length;i++){System.out.println("arg["+i+"]="+args[i]);}}else//nocommandargument{System.out.println("Noarguments!");}}}6、Java程序
——第二個Java應用程序(命令行參數)
命令行參數:main(Stringargs[]),與標準C中main(intargc,char*argv[])相似。字符串的拼接:"arg["+i+"]="+args[i]。編譯程序:javacHelloWorldApp.java
運行程序(命令行參數獲取):
javaCommArgfirstsecondthird
運行結果:
arg[0]=firstarg[1]=secondarg[2]=third6、Java程序
——第二個Java應用程序(命令行參數)6、Java程序
——第三個Java應用程序一個圖形應用程序
類庫支持:繼承Applet類,引用其他類。類定義:定義程序所需的類及接口,包括其內部的變量、方法等。
init()方法:初始化,自動調用,只執行一次。
start()方法:初始化后,重入等都將自動調用。Applet的主體,在其中可以執行一些任務或啟動相關的線程來執行任務,如paint()方法等。
paint()方法:顯示、重畫Applet窗口時調用。
stop()方法:離開Applet所在頁面時調用,以停止消耗系統資源。6、Java程序
——Java小程序(JavaApplet)importjava.applet.*;importjava.awt.*;publicclassHelloAppletextendsApplet{publicStrings;//成員變量,存放要顯示在屏幕上的字符串
publicvoidinit()//初始化方法,在網頁被調入是只調用一次
{s=newString(“HelloWorld!”);//設置要顯示的內容
}publicvoidpaint(Graphicsg)//顯示方法,每次需要重畫時該方法被調用
{g.drawString(s,25,25);//在Applet窗口中指定位置顯示字符串
}}6、Java程序
——第一個Java小程序編輯存盤:文件名和主類名一致編譯代碼:javacHelloApplet.java編寫HTML文件:HelloApplet.html<HTML><HEAD><TITLE>HelloWorld</TITLE></HEAD>
<appletcode="HelloApplet.class"codebase="."width=300height=60></applet></HTML>6、Java程序
——第一個Java小程序
Java小應用程序不能直接執行和使用,必須要在瀏覽器中執行。運行Applet程序:
1.appletviewerHelloApplet.html2.在瀏覽器中運行運行結果:
HelloWorld!6、Java程序
——第一個Java小程序理解程序:import語句相當于C語言中的include。每一個applet都是java.applet.Applet的子類,用extends繼承。applet中沒有main()方法。當applet被瀏覽器運行時,init()、start()方法等自動執行,再調用paint()方法。在applet中與屏幕輸出有關的操作通過Graphics對象來實現。一個Java源文件內最多只能有一個public類,稱為主類,且文件名必須和它同名。6、Java程序
——第一個Java小程序importjava.util.*;importjava.awt.*;importjava.applet.*;importjava.text.*;publicclassParaAppletextendsApplet{ Strings1,s2,s3,s4;//四個字符串變量分別記錄四個參數的字符串
publicvoidinit() {//在初始化方法中根據參數的值初始化字符串變量
s1=getParameter("p1"); s2=getParameter("p2"); s3=getParameter("p3"); s4=getParameter("p4"); } publicvoidpaint(Graphicsg) { g.drawString(s1,10,10); g.drawString(s2,10,30); g.drawString(s3,10,50); g.drawString(s4,10,70); }}6、Java程序
——第二個Java小程序(帶參數的Applet)編輯存盤:文件名和主類名一致編譯代碼:javacParaApplet.java編寫HTML文件:ParaApplet.html<HTML><HEAD><TITLE>AppletParameterTest</TITLE></HEAD><appletcode="ParaApplet.class"codebase="."width=300height=100><paramname=p1value="1111111"><paramname=p2value="2222222"><paramname=p3value="3333333"><paramname=p4value="4444444"></applet></HTML>6、Java程序
——第二個Java小程序(帶參數的Applet)
運行Applet程序:
1.appletviewerParaApplet.html2.在瀏覽器中運行運行結果:
11111112222222333333344444446、Java程序
——第二個Java小程序(帶參數的Applet)理解程序:從頁面中獲取Applet參數:
s1=getParameter("p1");在頁面中設置Applet參數:
<paramname=p1value="1111111">6、Java程序
——第二個Java小程序(帶參數的Applet)6、Java程序
——第三個Java小程序一個圖形Java小程序
包、類、變量、方法等命名:要體現各自的含義。包名全部小寫,io,awt
類名第一個字母要大寫,HelloWorldApp
變量名第一個字母要小寫,userName
方法名第一個字母要小寫,setName
程序書寫格式:保證良好的可讀性,使程序一目了然。大括號{}的使用與對齊語句段的對齊在語句段之間適當空行程序注釋:幫助了解程序的功能。類注釋變量注釋方法注釋
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湘教版七年級數學上冊補習班教學計劃
- 高中生學業提升輔導計劃
- 農業生產現場技術指導與人員培訓計劃
- 2025年春季四年級語文教師培訓計劃
- 化妝品行業原料質量把控與供應計劃
- 初中語文現代漢語語法知識
- 加工環保箱體合同范例
- 買賣屋基地合同標準文本
- 2025年管理人員崗前安全培訓考試試題答案完整版
- 思想政治課教學資源開發計劃
- 2025年高考作文備考之十大熱點主題及寫作導引
- 2025年重慶中考押題道德與法治試卷(一)(含答案)
- 腫瘤的內分泌治療護理
- 東北三省三校2025屆高三下學期第二次聯合模擬考試數學試題及答案
- 2025屆上海市浦東新區高三二模英語試卷(含答案)
- 開曼群島公司法2024版中文譯本(含2024年修訂主要內容)
- 【MOOC】航空燃氣渦輪發動機結構設計-北京航空航天大學 中國大學慕課MOOC答案
- 工程變更通知單ECN模板-20220213
- (完整版)沖壓模具設計畢業設計.doc
- 橡膠接頭、防水套管、伸縮器、伸縮接頭、傳力接頭、補償器、鴨嘴閥等管道工程圖形符號大全
- 員工工作調動單
評論
0/150
提交評論