Java應(yīng)用開(kāi)發(fā)與實(shí)踐-面向?qū)ο蟪绦蛟O(shè)計(jì)概述_第1頁(yè)
Java應(yīng)用開(kāi)發(fā)與實(shí)踐-面向?qū)ο蟪绦蛟O(shè)計(jì)概述_第2頁(yè)
Java應(yīng)用開(kāi)發(fā)與實(shí)踐-面向?qū)ο蟪绦蛟O(shè)計(jì)概述_第3頁(yè)
Java應(yīng)用開(kāi)發(fā)與實(shí)踐-面向?qū)ο蟪绦蛟O(shè)計(jì)概述_第4頁(yè)
Java應(yīng)用開(kāi)發(fā)與實(shí)踐-面向?qū)ο蟪绦蛟O(shè)計(jì)概述_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

面向?qū)ο蟪绦蛟O(shè)計(jì)概述Java應(yīng)用開(kāi)發(fā)與實(shí)踐Java程序設(shè)計(jì)基礎(chǔ)學(xué)習(xí)目標(biāo)了解C和Java兩種程序設(shè)計(jì)語(yǔ)言的區(qū)別了解Java平臺(tái)劃分及其特點(diǎn)熟悉Java常用的開(kāi)發(fā)工具了解Java的運(yùn)行環(huán)境掌握J(rèn)ava程序的基本結(jié)構(gòu)熟悉Java程序的基本編程規(guī)范了解Java虛擬機(jī)的原理了解Java應(yīng)用程序的加載過(guò)程1.1兩種程序設(shè)計(jì)語(yǔ)言1.2Java概述1.3Java開(kāi)發(fā)工具1.4帶標(biāo)準(zhǔn)輸出的最小樣本程序1.5實(shí)訓(xùn)1搭建Java的運(yùn)行環(huán)境目錄1.1兩種程序設(shè)計(jì)語(yǔ)言面向過(guò)程,就是指從要解決的問(wèn)題出發(fā),圍繞問(wèn)題的解決過(guò)程分析問(wèn)題。面向過(guò)程分析方法考慮的是問(wèn)題的具體解決步驟(解決方法),以及解決問(wèn)題所需要的數(shù)據(jù)(數(shù)據(jù)的表示),所以在面向過(guò)程程序設(shè)計(jì)中,重點(diǎn)是設(shè)計(jì)算法(解決問(wèn)題的方法)和數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)的表示和存儲(chǔ))。典型開(kāi)發(fā)語(yǔ)言有Basic、Fortran、Pascal、C,它們都是面向過(guò)程的語(yǔ)言,其編程的主要思路專注于算法的實(shí)現(xiàn)。1.1.1面向過(guò)程的程序設(shè)計(jì)語(yǔ)言intmax=0,input;

scanf("%d",&input);while(input>0){//循環(huán)輸入input的值

if(input>max)

//輸入的值input大于最大值max

max=input;

//則max的值為input的值

scanf("%d",&input);

//繼續(xù)輸入input if(input==100) break;}printf("Themaxis%d",max);//打印最大值max的值1.1.1面向過(guò)程的程序設(shè)計(jì)語(yǔ)言面向過(guò)程:表述算法,定義數(shù)據(jù)結(jié)構(gòu)和程序流程。1.1兩種程序設(shè)計(jì)語(yǔ)言面向?qū)ο蟮幕舅枷胧且砸环N更接近人的思維方式的方法去分析問(wèn)題,面向?qū)ο笤O(shè)計(jì)首先是分析問(wèn)題由哪些部分組成,每部分的關(guān)系如何,然后再分析每一部分怎樣完成。面向?qū)ο笫且詫?duì)象及其行為為中心,來(lái)考慮處理問(wèn)題的思想體系和方法。面向?qū)ο笸ㄟ^(guò)使用對(duì)象、繼承、封裝、消息等基本概念來(lái)進(jìn)行程序設(shè)計(jì)。采用面向?qū)ο蠓椒ㄔO(shè)計(jì)的軟件,不僅易于理解,而且易于維護(hù)和修改。典型的開(kāi)發(fā)語(yǔ)言有Java、C++、VB、VC、VJ++、Dephli、C#等等。1.1.2面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言Demo1_1demo=newDemo1_1();//demo是類的一個(gè)對(duì)象demo.output();//對(duì)象demo調(diào)用output()方法,輸出最大值publicclassDemo1_1{ voidoutput(){ …… }}1.1.2面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言面向?qū)ο螅和ㄟ^(guò)分析最大值的類Demo1_1由哪些部分組成,將這個(gè)Demo1_1類相關(guān)的屬性和方法封裝,再產(chǎn)生相應(yīng)的對(duì)象,通過(guò)對(duì)象去調(diào)用與需求相關(guān)的方法來(lái)解決問(wèn)題。它體現(xiàn)了面向?qū)ο蟮脑O(shè)計(jì)思想。1.1兩種程序設(shè)計(jì)語(yǔ)言結(jié)構(gòu)化程序設(shè)計(jì)方法的強(qiáng)調(diào)程序設(shè)計(jì)風(fēng)格和程序結(jié)構(gòu)的規(guī)范化。面向?qū)ο蟮某绦蛟O(shè)計(jì)的方式則是建立在結(jié)構(gòu)化程序設(shè)計(jì)基礎(chǔ)上,采用面向?qū)ο?、事件?qū)動(dòng)編程機(jī)制。它以類作為構(gòu)造程序的基本單位,圍繞著對(duì)象的抽象性、繼承性、多態(tài)性和封裝性的特征開(kāi)發(fā)設(shè)計(jì)程序。學(xué)習(xí)Java語(yǔ)言的最大難點(diǎn)就是從面向過(guò)程到面向?qū)ο笏悸泛娃D(zhuǎn)變。用Java進(jìn)行程序設(shè)計(jì)必須將自己的思想轉(zhuǎn)入到面向?qū)ο蟮氖澜?,以面向?qū)ο笫澜绲乃季S方式來(lái)思考問(wèn)題。1.1.3從C語(yǔ)言到Java語(yǔ)言設(shè)計(jì)的轉(zhuǎn)變1.2Java概述1.2.1Java平臺(tái)劃分JavaEEJavaSEJavaMEJavaPlatform,EnterpriseEditionJavaPlatform,StandardEditionJavaPlatform,MicroEdition企業(yè)級(jí)桌面級(jí)嵌入式系統(tǒng)級(jí)包含JavaSE,Jsp(JavaServerPage),Servlet,EJB(EnterpriseJavaBean),JTS(JavaTransactionService),JavaMail,JMS(JavaMessageService)主要用于開(kāi)發(fā)分布式的、服務(wù)器端的多層結(jié)構(gòu)的應(yīng)用系統(tǒng),如電子商務(wù)網(wǎng)站包含JavaJDK,運(yùn)行時(shí)(Runtime)和API主要用于開(kāi)發(fā)桌面的應(yīng)用,如小的桌面應(yīng)用程序、游戲主要用于開(kāi)發(fā)電子產(chǎn)品,如移動(dòng)電話,數(shù)字機(jī)頂盒,汽車導(dǎo)航系統(tǒng)1.2.2Java的特點(diǎn)使用簡(jiǎn)單的語(yǔ)言Java沿用了C/C++的語(yǔ)法規(guī)則,因而C++程序員初次接觸Java語(yǔ)言,就會(huì)感到很熟悉。從某種意義上講,Java語(yǔ)言是C及C++語(yǔ)言的一個(gè)變種,因此,C++程序員可以很快地掌握J(rèn)ava編程技術(shù)。Java將C/C++中的某些復(fù)雜的特征去除,如指針、結(jié)構(gòu)、goto語(yǔ)句,動(dòng)態(tài)內(nèi)存的回收等等。另外,Java提供了豐富的類庫(kù),可以幫助我們很方便的開(kāi)發(fā)Java程序。1.2Java概述1.2.2Java的特點(diǎn)2.面向?qū)ο蟮恼Z(yǔ)言 Java是一個(gè)純粹的面向?qū)ο缶幊陶Z(yǔ)言,面向?qū)ο罂梢哉f(shuō)是Java最重要的特性,所以它支持繼承、重載、多態(tài)等面向?qū)ο蟮奶匦?。Java語(yǔ)言的設(shè)計(jì)是完全面向?qū)ο蟮?它不支持類似C語(yǔ)言那樣的面向過(guò)程的程序設(shè)計(jì)技術(shù)。C++不是一個(gè)純的面向?qū)ο箝_(kāi)發(fā)工具,其包容C。1.2.2Java的特點(diǎn)3.解釋執(zhí)行的語(yǔ)言

Java代碼是解釋執(zhí)行的,我們使用Java編譯器將Java代碼編譯成字節(jié)碼,這是一種中間代碼,然后由Java解釋器解釋執(zhí)行。而C++程序是編譯執(zhí)行的,C++程序代碼被編譯為本地機(jī)器指令,然后執(zhí)行。1.2.2Java的特點(diǎn)4.健壯性語(yǔ)言 Java是一種強(qiáng)類型的語(yǔ)言,其類型檢查比C++還要嚴(yán)格。類型檢查幫助我們檢查出許多開(kāi)發(fā)早期出現(xiàn)的錯(cuò)誤;Java語(yǔ)言提供的垃圾回收機(jī)制和例外處理機(jī)制,解決了C++中最頭疼的內(nèi)存泄漏問(wèn)題;Java語(yǔ)言去除了容易出錯(cuò)的指針,保證了程序的安全運(yùn)行。1.2.2Java的特點(diǎn)5.安全的語(yǔ)言

一方面,Java去除了指針,使得程序不能夠直接訪問(wèn)內(nèi)存(內(nèi)存的分配和分布由Java環(huán)境透明控制),另一方面,Java解釋執(zhí)行機(jī)制,使得程序的執(zhí)行在java.exe/JVM的監(jiān)控之下,所以在網(wǎng)絡(luò)環(huán)境下可以保證系統(tǒng)的安全。例如:刪除文件,訪問(wèn)本地網(wǎng)絡(luò)資源等操作都是被禁止的。1.2.2Java的特點(diǎn)6.與平臺(tái)無(wú)關(guān)的語(yǔ)言 Java作為一種網(wǎng)絡(luò)語(yǔ)言,其源代碼被編譯成一種結(jié)構(gòu)中立的中間文件格式。只要有Java運(yùn)行系統(tǒng)的機(jī)器都能執(zhí)行這種中間代碼。Java源程序被編譯成一種與機(jī)器無(wú)關(guān)的字節(jié)碼格式,在Java虛擬機(jī)上運(yùn)行。在Java語(yǔ)言中對(duì)數(shù)據(jù)類型的大小作了統(tǒng)一規(guī)定,不會(huì)應(yīng)為機(jī)器不同或編譯器不同而使用不同的寬度,這樣就保證了代碼的可移植性。1.2.2Java的特點(diǎn)7.支持多線程的語(yǔ)言 Java語(yǔ)言的一個(gè)重要特性就是在語(yǔ)言級(jí)支持多線程的程序設(shè)計(jì)。因?yàn)閃indows操作系統(tǒng)不支持多線程,所以Java得最早應(yīng)用是在Unix上,后來(lái)才將Java移植到Windows平臺(tái)上。1.2.3Java的主要應(yīng)用領(lǐng)域大型企業(yè)級(jí)應(yīng)用;2.大型網(wǎng)站;3.電子政務(wù);4.游戲;5.嵌入式設(shè)備及消費(fèi)類電子產(chǎn)品;1.2Java概述1.3.1JDK簡(jiǎn)介JDK:JavaDevelopKit,Java開(kāi)發(fā)工具包。開(kāi)發(fā)Java程序必須有Java開(kāi)發(fā)環(huán)境,即JDK開(kāi)發(fā)工具包,這個(gè)工具包包含了編譯、運(yùn)行、調(diào)試等關(guān)鍵的命令。JDK包含的基本組件包括:

javac–編譯器,將源程序轉(zhuǎn)成字節(jié)碼

jar–打包工具,將相關(guān)的類文件打包成一個(gè)文件

javadoc–文檔生成器,從源碼注釋中提取文檔

jdb–debugger,查錯(cuò)工具JDK中還包括完整的JRE(JavaRuntimeEnvironment,Java運(yùn)行環(huán)境),也被稱為privateruntime。包括了用于產(chǎn)品環(huán)境的各種庫(kù)類,以及給開(kāi)發(fā)員使用的補(bǔ)充庫(kù),如國(guó)際化的庫(kù)、IDL庫(kù)。1.3Java開(kāi)發(fā)工具1.3.1JDK簡(jiǎn)介 JDK由一個(gè)標(biāo)準(zhǔn)類庫(kù)和一組建立,測(cè)試及建立文檔的Java實(shí)用程序組成。其核心JavaAPI是一些預(yù)定義的類庫(kù),開(kāi)發(fā)人員需要用這些類來(lái)訪問(wèn)Java語(yǔ)言的功能。JavaAPI包括一些重要的語(yǔ)言結(jié)構(gòu)以及基本圖形,網(wǎng)絡(luò)和文件I/O。一般來(lái)說(shuō),JavaAPI的非I/O部分對(duì)于運(yùn)行Java的所有平臺(tái)是相同的,而I/O部分則僅在通用Java環(huán)境中實(shí)現(xiàn)。1.3.1JDK簡(jiǎn)介安裝JDK后的JDK目錄1.3.1JDK簡(jiǎn)介JDK實(shí)用程序,工具庫(kù)中有七種主要程序。Javac:Java編譯器,將Java源代碼轉(zhuǎn)換成字節(jié)碼。Java:Java解釋器,直接從類文件執(zhí)行Java應(yīng)用程序字節(jié)代碼。appletviewer:小程序?yàn)g覽器,一種執(zhí)行HTML文件上的Java小程序的Java瀏覽器。Javadoc:根據(jù)Java源碼及說(shuō)明語(yǔ)句生成HTML文檔。Jdb:Java調(diào)試器,可以逐行執(zhí)行程序,設(shè)置斷點(diǎn)和檢查變量。Javah:產(chǎn)生可以調(diào)用Java過(guò)程的C過(guò)程,或建立能被Java程序調(diào)用的C過(guò)程的頭文件。Javap:Java反匯編器,顯示編譯類文件中的可訪問(wèn)功能和數(shù)據(jù),同時(shí)顯示字節(jié)代碼含義。JDK文件結(jié)構(gòu)1.4.1創(chuàng)建Java文件/***帶標(biāo)準(zhǔn)輸出的最小樣本程序HelloWorld:向控制臺(tái)輸出Helloworld!的應(yīng)用程序*/publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println("Helloworld!");//控制臺(tái)輸出Helloworld! }}1.4帶標(biāo)準(zhǔn)輸出的最小樣本程序1.4.2編譯Java文件Java源程序編寫(xiě)后,要使用Java編譯器(javac.exe)將Java源程序編譯成字節(jié)碼文件。編譯時(shí)首先讀入Java源程序,然后進(jìn)行語(yǔ)法檢查,如果出現(xiàn)問(wèn)題就終止編譯。語(yǔ)法檢查通過(guò)后,生成可執(zhí)行程序代碼即字節(jié)碼,字節(jié)碼文件名和源文件名相同,擴(kuò)展名為.class。打開(kāi)命令提示符窗口(MS-DOS窗口)進(jìn)入Java源程序所在路徑G:\JavaUnit。鍵入編譯器文件名和要編譯的源程序文件名,具體如下:

javacHelloWorld.java1.4帶標(biāo)準(zhǔn)輸出的最小樣本程序1.4.3運(yùn)行class文件在控制臺(tái)命令提示符后輸入“javaHelloWorld”命令并按下Enter鍵,這樣會(huì)執(zhí)行這個(gè)Java程序,運(yùn)行結(jié)果會(huì)輸出一句“helloworld”1.4帶標(biāo)準(zhǔn)輸出的最小樣本程序1.4.4認(rèn)識(shí)JVMJVM是JavaVirtualMachine(Java虛擬機(jī))的縮寫(xiě),JVM是一種用于計(jì)算設(shè)備的規(guī)范,它是一個(gè)虛構(gòu)出來(lái)的計(jì)算機(jī),是通過(guò)在實(shí)際的計(jì)算機(jī)上仿真模擬各種計(jì)算機(jī)功能來(lái)實(shí)現(xiàn)的。Java語(yǔ)言使用Java虛擬機(jī)屏蔽了與具體平臺(tái)相關(guān)的信息,使得Java語(yǔ)言編譯程序只需生成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺(tái)上不加修改地運(yùn)行。Java虛擬機(jī)在執(zhí)行字節(jié)碼時(shí),把字節(jié)碼解釋成具體平臺(tái)上的機(jī)器指令執(zhí)行。JVM對(duì)其實(shí)現(xiàn)的某些方面給出了具體的定義,特別是對(duì)Java可執(zhí)行代碼,即字節(jié)碼(Bytecode)的格式給出了明確的規(guī)格。1.4帶標(biāo)準(zhǔn)輸出的最小樣本程序JVM運(yùn)行原理示意圖1.4.5Java編程規(guī)范包名:包名是全小寫(xiě)的名詞,中間可以由點(diǎn)分隔開(kāi),例如:Java.awt.event;類名:首字母大寫(xiě),若類名由幾個(gè)單詞構(gòu)成,那么把它們緊靠到一起(也就是說(shuō),不要用下劃線來(lái)分隔名字)。此外,每個(gè)嵌入單詞的首字母都采用大寫(xiě)形式。例如:classAllTheColorsOfTheRainbow接口名:命名規(guī)則與類名相同,例如interfaceCollection方法名:往往由多個(gè)單詞合成,第一個(gè)單詞通常為動(dòng)詞,首字母小寫(xiě),中間的每個(gè)單詞的首字母都要大寫(xiě),例如:voidchangeTheHueOfTheColor(intnewHue)1.4帶標(biāo)準(zhǔn)輸出的最小樣本程序1.4.5Java編程規(guī)范變量名:首字母小寫(xiě),一般為名詞,例如:intanIntegerRepresentingColors常量名:基本數(shù)據(jù)類型的常量名為全大寫(xiě),如果是由多個(gè)單詞構(gòu)成,可以用下劃線隔開(kāi),例如:intYEAR,intWEEK_OF_MONTH;如果是對(duì)象類型的常量,則是大小寫(xiě)混合,由大寫(xiě)字母把單詞隔開(kāi)。1.4帶標(biāo)準(zhǔn)輸出的最小樣本程序1.4.6Java幫助文檔Java中所有類庫(kù)的介紹都保存在Java幫助文檔(API文檔)中,程序員在編程過(guò)程中,必須查閱該幫助文檔,了解系統(tǒng)提供的類的功能、成員方法、成員變量等等信息以后,才能夠更好的編程。同時(shí),Java開(kāi)發(fā)工具包(JDK)提供了"java"、"javac"、"Javadoc"、"appletviewer"等命令,在Java幫助文檔中也對(duì)此進(jìn)行了詳細(xì)的介紹。對(duì)于初學(xué)者,或者英語(yǔ)不好的學(xué)習(xí)者,可以先看看中文版的,在文檔的左側(cè),上一部分有很多java包,如果你要查看每個(gè)包里都有哪些類,接口,直接點(diǎn)擊就可以了。1.4帶標(biāo)準(zhǔn)輸出的最小樣本程序1.4.7Java注釋單行注釋:從“//”開(kāi)始到本行結(jié)束的內(nèi)容都是注釋;多行注釋:在“/*”和“*/”之間的所有內(nèi)容都是注釋;文檔注釋:在注釋方面Java提供一種C/C++所不具有的文檔注釋方式,凡是在“/**”和“*/”之間的內(nèi)容都是文檔注釋;通過(guò)在命令行下面運(yùn)行"javadoc-d.Test.Java",就生成了介紹類DocTest的index.html文件,DocTest.Java文件中的

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論