版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《高級語言程序設(shè)計(jì)》12014.92教材、參考書教材Java程序設(shè)計(jì)實(shí)用教程葉核亞參考書ThinkinginJava(4thEdition),作者:(美)BruceEckel,出版社:PrenticeHallPTR。Java程序設(shè)計(jì)教程.作者:H.M.Deitel/P.J.Deitel出版社:清華大學(xué)出版社。Java程序設(shè)計(jì)實(shí)用教程作者:耿祥義,出版社:人民郵電出版社。3《Java程序設(shè)計(jì)實(shí)用教程》(第3版)第1章Java概述第2章Java語言基礎(chǔ)第3章類的封裝、繼承和多態(tài)第4章接口、內(nèi)部類和JavaAPI基礎(chǔ)第5章異常處理第6章圖形用戶界面第7章多線程第8章Applet應(yīng)用程序第9章輸入/輸出流和文件操作第10章網(wǎng)絡(luò)通信第11章數(shù)據(jù)庫應(yīng)用第12章綜合應(yīng)用設(shè)計(jì)4第1章Java概述1.1Java簡介1.2Java程序分類及執(zhí)行機(jī)制1.3JDK的安裝、設(shè)置與使用1.4Eclipse/MyEclipse簡介本章簡要介紹Java語言的特點(diǎn)和核心技術(shù),介紹Java兩種應(yīng)用程序Application和Applet的基本形式,以及由虛擬機(jī)支持的程序運(yùn)行機(jī)制;以Windows平臺的JavaSE6版本為例,介紹JDK的安裝和設(shè)置方法,以及編譯、運(yùn)行Java程序的方法;介紹在Java集成開發(fā)環(huán)境MyEclipse中編輯、編譯和運(yùn)行Java程序的方法。5第1章Java概述短短的十幾年間,Java憑借平臺無關(guān)、健壯、安全、高效這些適應(yīng)網(wǎng)絡(luò)運(yùn)行需要的特點(diǎn),Java快速成長,不僅在Internet上游刃有余,而且通過JavaME、JavaSE、JavaEE三大平臺,其應(yīng)用領(lǐng)域全面覆蓋了嵌入式應(yīng)用、桌面應(yīng)用和企業(yè)級應(yīng)用,所表現(xiàn)出的強(qiáng)大的應(yīng)用系統(tǒng)設(shè)計(jì)能力,使Java無處不在。本章內(nèi)容概要介紹Java特點(diǎn)和核心技術(shù);介紹Java兩種應(yīng)用程序Application和Applet的基本形式,以及由虛擬機(jī)支持的程序運(yùn)行機(jī)制;介紹JDK的安裝和設(shè)置方法,以及編譯、運(yùn)行Java程序的方法;介紹在Java集成開發(fā)環(huán)境MyEclipse中編輯、編譯和運(yùn)行Java程序的方法。61.1Java簡介1.1.1Java的誕生和發(fā)展1.1.2Java語言的特點(diǎn)及優(yōu)勢1.1.3Java的核心技術(shù)71.1.1Java的誕生和發(fā)展前身Java的前身是源于20世紀(jì)90年代初Sun公司的一個(gè)叫Green的項(xiàng)目,該項(xiàng)目旨在開發(fā)一個(gè)嵌入家用電器的分布式軟件系統(tǒng)。該系統(tǒng)最初采用C++進(jìn)行開發(fā),但因C++語言過于復(fù)雜、安全性差,于是項(xiàng)目小組只好另辟蹊徑,在“簡單的、可靠的、緊湊的并易于移植的”的框架內(nèi)開發(fā)了一個(gè)小型的計(jì)算機(jī)語言,當(dāng)時(shí)取名為Oak,即橡樹的意思。誕生當(dāng)Oak語言成熟之時(shí),全球互聯(lián)網(wǎng)也正興起,SUN公司很快意識到Oak有了更好的用武之地。項(xiàng)目組使用Oak首先編制了HotJava瀏覽器,并取得很大成功,由此觸發(fā)了Oak進(jìn)軍Internet。1995年Oak注冊登記時(shí)發(fā)現(xiàn)該名已被占用,遂更名為Java,因爪哇咖啡而得名。經(jīng)過一番市場運(yùn)作后,Oak以Java的新身份逐漸得以走紅。8Java發(fā)展大事記1995年5月23日,Java語言誕生。1996年,正式發(fā)布JDK1.0和HotJava。JDK(JavaDevelopmentKit)集成了Java編程語言、開發(fā)工具、環(huán)境和Java類庫等。1998年,JDK1.2發(fā)布,稱為Java2平臺(Java2platform),并分為標(biāo)準(zhǔn)版、企業(yè)版和微縮版3個(gè)版本,分別簡稱為J2SE、J2EE、J2ME。2004年10月,期待已久的JDK1.5發(fā)布。為了突顯這個(gè)版本重大更新SUN公司將原平臺稱謂中的"2"字去掉,將簡寫名稱中的"J"改為全稱"Java",版本號改為5.0。三個(gè)版本分別改稱為JavaSE5.0、JavaEE5.0、JavaME5.0。2006年12月,JavaSE6.0發(fā)布。企業(yè)版的發(fā)布往往比標(biāo)準(zhǔn)版晚1-3年。如JavaEE6.0直到標(biāo)準(zhǔn)版發(fā)布3年后的2009年12月才正式發(fā)布。91.1.2Java特點(diǎn)Sun公司在“Java白皮書”中對Java的定義是:“Java:Asimple,object-oriented,distributed,interpreted,robust,secure,architecture-neutral,portable,high-performance,multi-threaded,anddynamiclanguage.”。翻譯過來就是:Java是一種具有“簡單、面向?qū)ο蟮?、分布式、解釋型、健壯、安全、與體系結(jié)構(gòu)無關(guān)、可移植、高性能、多線程和動(dòng)態(tài)執(zhí)行”等特性的語言。下面我們簡要敘述Java的這些特性:10簡單性內(nèi)核:基本Java系統(tǒng)(編譯器和解釋器)所占空間不到250KB。語言:擯棄了C++語言的全程變量、goto語句、宏定義、全局函數(shù)以及結(jié)構(gòu)、聯(lián)合和指針數(shù)據(jù)類型。提供語言級的內(nèi)存自動(dòng)管理和異常處理方式。完全面向?qū)ο竺嫦驅(qū)ο螅撼绦?對象+消息(面向過程:程序=數(shù)據(jù)結(jié)構(gòu)+算法)Java是純面向?qū)ο蟮恼Z言,所有設(shè)計(jì)都必須在類中實(shí)現(xiàn),一個(gè)Java程序就是多個(gè)類的集合。可靠性語言級別:提供嚴(yán)密的語法規(guī)則,在編譯和運(yùn)行時(shí)嚴(yán)格檢查錯(cuò)誤。運(yùn)行架構(gòu)級別:自動(dòng)資源回收機(jī)制,減小了內(nèi)存出錯(cuò)的可能性,減輕了程序員的工作量,提高了程序運(yùn)行的可靠性。11安全性采用域管理方式的安全模型,可以通過配置策略設(shè)定可訪問的資源域。摒棄指針、數(shù)組下標(biāo)越界檢查、自動(dòng)內(nèi)存管理等,使Java成為最安全的編程語言和環(huán)境之一,Java代碼無法成為類似特洛伊木馬、病毒和蠕蟲等具有潛在破壞作用的東西。分布式直接支持分布式的網(wǎng)絡(luò)應(yīng)用,實(shí)現(xiàn)高效的網(wǎng)絡(luò)編程多線程提供環(huán)境級和語言級的多線程支持,從而提高了程序執(zhí)行的并發(fā)度,提高系統(tǒng)執(zhí)行效率。平臺無關(guān)性Writeonce,runanywhere:程序不經(jīng)修改即可在不同硬件或軟件平臺上運(yùn)行(Java虛擬機(jī))。121.1.3Java核心技術(shù)Java支持的多種核心技術(shù),滿足了企業(yè)級應(yīng)用對軟件在安全性、可靠性、高效性上的高要求,使JavaEE成為開發(fā)分布式企業(yè)級應(yīng)用的工業(yè)標(biāo)準(zhǔn)。主要核心技術(shù)包括:JDBC/JTA/JPA
:Java數(shù)據(jù)庫相關(guān)技術(shù)JSP/Servlet/JSF:Java服務(wù)端表示層技術(shù)JavaBean/EJB:Java組件技術(shù)JavaMail:Java郵件開發(fā)技術(shù)JNDI:Java命名和目錄服務(wù)技術(shù)本課主要介紹Java語言基礎(chǔ)及面向?qū)ο缶幊痰姆椒ǎ信d趣的同學(xué)可以多關(guān)注這些相關(guān)技術(shù)131.2Java程序分類及執(zhí)行機(jī)制1.2.1Java程序分類1.2.2Java程序執(zhí)行機(jī)制141.2.1Java程序分類ApplicationJava應(yīng)用程序,是可在Java虛擬機(jī)環(huán)境中直接運(yùn)行的Java程序Applet即Java小應(yīng)用程序,是可隨網(wǎng)頁下載到客戶端由瀏覽器解釋執(zhí)行的Java程序。Servlet即Java服務(wù)器端小程序,是配置在Web服務(wù)器(容器)中運(yùn)行的Java程序。JavaBeans即Java組件,是可重用的Java數(shù)據(jù)和功能的封裝,由其它程序調(diào)用執(zhí)行。1.2.2Java程序執(zhí)行機(jī)制161.3JDK安裝、設(shè)置與使用1.3.1JDK的安裝與設(shè)置1.3.2編譯和運(yùn)行Java程序1.3.3包171.3.1JDK的安裝與設(shè)置安裝JDK從Sun公司的網(wǎng)站()下載JDK工具包(jdk-6u20-windows-i586.exe或java_ee_sdk-6-windows.exe),然后安裝。設(shè)置環(huán)境變量WindowsXP設(shè)置path:D:\jdk1.6\bin;classpath:.;D:\jdk1.6\jre\lib\rt.jar;
或.;D:\jdk1.6\lib\dt.jar;D:\jdk1.6\lib\tools.jarMyEclipse中設(shè)置默認(rèn)已設(shè)置好自帶的JDK庫,也可如下操作改為專門安裝的JDK庫選擇[windows|preferences]→[java|installedJREs],點(diǎn)<Add…>,選StandardVM,然后設(shè)置JDK的主目錄。18JDK常用工具集工具名稱說明JavacJava編譯器,用于將Java源程序.java編譯成字節(jié)碼.class用法:javac[選項(xiàng)]<源文件>JavaJava解釋器,用于解釋執(zhí)行Java字節(jié)碼.class或.jar用法:java[選項(xiàng)]<類文件名>[命令行參數(shù)]或java-jar[選項(xiàng)]<JAR文件名>[命令行參數(shù)]appletviewer小應(yīng)用程序?yàn)g覽器,用于測試和運(yùn)行Javaapplet程序用法:appletviewer[選項(xiàng)]<HTML文件>JavadocJava文檔生成器,從Java源文件生成API文檔HTML頁用法:javadoc[選項(xiàng)]<軟件包名>[源文件][@file]Javap類反匯編器,用于查看類文件中的所有聲明(類名、方法名、字段)用法:javap[選項(xiàng)]<類文件名>Jar打包程序,用于將多個(gè)類壓縮到一個(gè)擴(kuò)展名為jar的文件中。用法:jar<ctxu>[其它選項(xiàng)]類文件1類文件2...JavahC頭文件生成器,利用此命令可實(shí)現(xiàn)在Java類中調(diào)用C++代碼用法:javah[選項(xiàng)]<類文件名>191.3.2編寫、編譯、運(yùn)行Java程序Java程序運(yùn)行流程20基本步驟(1)
利用文本編輯器建立Java源程序文件.java;(2)
利用Java編譯器(Javac.exe)編譯該application,生成字節(jié)碼文件.class;(3)
利用解釋器(java.exe/javaw.exe)解釋執(zhí)行字節(jié)碼文件。下面以【例1.1】Hello.java
為例說明JavaApplication程序的建立、編譯及運(yùn)行過程。JavaApplication程序21(1)建立Java源程序文件利用任何一個(gè)文本編輯器來建立Java源程序文件Hello.java。如DOS的EDIT、Windows的記事本、寫字板、Word等。保存文件時(shí)取擴(kuò)展名.java。需要特別注意的是,文件名必須與類名完全一致(包括大小寫)!(2)編譯利用Java編譯器(Javac.exe)對源文件進(jìn)行編譯。在DOS提示符后,鍵入命令:javacHello.java
。若源文件無錯(cuò)誤,則產(chǎn)生Hello.class字節(jié)碼文件;若源文件中有錯(cuò)誤,則編譯器將指出錯(cuò)誤位置,此時(shí)需返回上一步對源文件進(jìn)行修改。注意:擴(kuò)展名.java不能少!(3)運(yùn)行利用Java解釋器(java.exe)解釋執(zhí)行字節(jié)碼文件。在DOS提示符后鍵入命令:javaHello,屏幕上將輸出:Hello!注意:不能帶擴(kuò)展名.class!22程序分析publicclassHello這一行表示聲明此程序要建立一個(gè)新類,類名為Hello。Public修飾符聲明這個(gè)類是公共類,而這個(gè)類定義的內(nèi)容就在后面緊跟的花括號內(nèi)。任何Java程序都必須以類的形式出現(xiàn),一個(gè)程序中可以定義若干個(gè)類,但只能定義一個(gè)public類。定義類必須用關(guān)鍵字class作為標(biāo)志。文件名必須與public類的類名一致。在publicstaticvoidmain(Stringargs[])行定義了一個(gè)主方法,當(dāng)程序執(zhí)行時(shí),解釋器會找主方法,它是程序的入口點(diǎn)。其中:public表明所有的類都可以調(diào)用這個(gè)方法,static表明這個(gè)方法可以通過類名直接調(diào)用,而void表明此方法執(zhí)行后不返回任何值。Stringargs[]是向main傳遞的參數(shù),為字符串?dāng)?shù)組。23main后面緊跟的花括號是main方法要執(zhí)行的功能,這里只含一條語句:System.out.println(“Hello!");此語句的功能是輸出字符串“Hello!”。這里的System是Java系統(tǒng)類庫中的一個(gè)類,利用此類可以獲得Java運(yùn)行環(huán)境的有關(guān)信息和輸入輸出信息等;out是System類中的一個(gè)屬性(代表標(biāo)準(zhǔn)輸出);println()是out對象的一個(gè)方法,此方法的作用是向標(biāo)準(zhǔn)輸出設(shè)備(顯示器)輸出參數(shù)指定的字符串,輸出完成后光標(biāo)定位在下一行?!纠?.3】通過命令行參數(shù)輸入數(shù)據(jù)的Java應(yīng)用程序示例24基本步驟(1)
利用文本編輯器建立Java源程序文件;(2)
利用Java編譯器(Javac)編譯該JavaApplet,產(chǎn)生.class文件;(3)
建立一個(gè)HTML文件,在其中嵌入Java字節(jié)碼文件;(4)
用WWW瀏覽器或appletviewer裝入該HTML文件,使Applet運(yùn)行。下面以【例1.2】HelloApplet.java為例,來說明Applet程序的建立、編譯及運(yùn)行過程。JavaApplet程序的建立及運(yùn)行25(1)建立JavaApplet源程序文件建立JavaApplet源程序文件的方法與建立JavaApplication源程序文件的方法相同。取名:HelloApplet.javaimportjava.awt.*;importjava.applet.Applet;public
classHelloAppletextendsApplet{
public
voidpaint(Graphicsg){g.setColor(Color.RED);g.drawString("Hello,Applet!",50,50);}}26(2)編譯編譯JavaApplet與編譯JavaApplication方法相同。鍵入如下命令:
javacHelloApplet.java(3)建立一個(gè)HTML文件用文本編輯器建立名為HelloApplet.html的HTML文件,并輸入下面兩行語句:<appletcode="HelloApplet.class"height=100width=300></applet>(4)運(yùn)行在DOS提示符后輸入命令:
appletviewerHelloApplet.html
也可直接用瀏覽器打開該網(wǎng)頁文件(可能會因?yàn)闉g覽器的設(shè)置而無法顯示)。27程序分析import語句:用于導(dǎo)入Java類庫中的類,相當(dāng)于C語言的include。本程序調(diào)用了java.awt包中的Graphics類和java.applet包的Applet類。publicclassHelloApplet
extendsApplet:該語句聲明此程序要建立一個(gè)名為HelloApplet的新類,extendsApplet說明該類是Applet的子類。Applet程序都必須是Applet的子類。publicvoidpaint(Graphicsg):定義名為paint的方法,用于繪出JavaApplet對象的內(nèi)容。參數(shù)g是屬于Graphics類的對象。g.drawString("JavaNow!",25,25):調(diào)用Graphics類對象g的drawString()方法,將字符串"Hello,Applet!"顯示在applet畫板中。該方法有3個(gè)參數(shù):第1個(gè)參數(shù)是要顯示的內(nèi)容,第2、第3個(gè)參數(shù)指定字符串在applet窗口中顯示的位置(x、y坐標(biāo),以像素為單位)。對于JavaApplet的更多知識,將在第8章進(jìn)一步介紹。在HTML文件中可用<APPLET>標(biāo)記指示要插入網(wǎng)頁中的Applet程序,CODE指明Applet字節(jié)碼文件的文件名;width、height指出applet窗口的寬與高。281.3.3包包的概念包是Java組織和管理.class文件的一種方法,通常將功能相同或相關(guān)的類組織在一個(gè)包中。例如java.io包中的類都與輸入、輸出有關(guān)。一個(gè)包實(shí)際上就是一個(gè)文件夾,這個(gè)文件夾中存放著.class文件。包可以有多層結(jié)構(gòu),而各層之間以點(diǎn)(.)分隔,如java.io,java.awt,java.awt.color等。引用包中的類包{.子包}.類|接口導(dǎo)入包導(dǎo)入單個(gè)類:import
包{.子包}.類|接口;
按需導(dǎo)入類:import
包{.子包}.*;
默認(rèn)包路徑:.29聲明類所在的包
要將類組織到包中,不僅僅是建立文件夾層次,還須在類文件中指明存放的包。即在程序的開頭加一語句:package包{.子包};Java源程序結(jié)構(gòu)package //0或1個(gè),必須是第一條語句import //0或n個(gè)publicclass或interface //0或1個(gè) //源程序的文件名必須與該公共類/接口同名class //0或n個(gè)Interface //0或n個(gè)
【例1.4】創(chuàng)建及使用包30打包應(yīng)用程序可以使用Java打包工具jar.exe將包結(jié)構(gòu)及應(yīng)用程序的所有.class文件壓縮成.jar包。語法:jar{ctxui}[vfm0Me][jar-file][manifest-file][entry-point][-Cdir]files...說明:ctxui只能有一個(gè),c-創(chuàng)建新的歸檔文件,f-指定歸檔文件名,m-從指定文件中提取信息生成清單文件(MANIFEST.MF),x-解壓歸檔文件中的指定(或所有)文件,…示例:①jarcfmyjar.jar*.class
//將當(dāng)前目錄下的所有.class文件打包進(jìn)myjar.jar中,并生成META-INF文件夾,其中有一個(gè)默認(rèn)的清單文件MANIFEST.MF②jarcfmmyjar.jarmymf.txt*.classmydir
//將當(dāng)前目錄下的所有.class文件和mydir及其子目錄中的所有.class文件打包 進(jìn)myjar.jar中,并在包中創(chuàng)建META-INF文件夾,其中的清單文件MANIFEST.MF內(nèi)容從mymf.txt文件中提取。
31JavaAPI類庫的常用包包名功能java.lang語言包Java語言的核心類庫包含Java語言必不可少的系統(tǒng)類定義,包括Object類、基本數(shù)據(jù)類型封裝類、數(shù)學(xué)運(yùn)算、字符串、線程、異常處理等java.util實(shí)用包實(shí)用工具類庫,包含日期類、集合類庫等java.awt抽象窗口包提供構(gòu)建圖形用戶界面的類庫,包含組件、事件及繪圖功能java.applet實(shí)現(xiàn)Applet應(yīng)用程序java.text文本包提供各種文本或日期格式化等類,如Format、DateFomat、SimpleDateFormatjava.io輸入/輸出流包提供標(biāo)準(zhǔn)輸入、輸出流及文件操作類庫網(wǎng)絡(luò)包提供網(wǎng)絡(luò)編程有關(guān)的類庫,包括Socket通信支持、Internet訪問支持等java.sql提供數(shù)據(jù)庫應(yīng)用功能的類庫javax.swing擴(kuò)充和增強(qiáng)圖形用戶界面功能的類庫表1-3JavaAPI的常用包32查閱API文檔從SUN官網(wǎng)可下載英文版的API文檔,如jdk-6-doc.zip,解壓后打開..\docs\api\index.html文件,就可在瀏覽器中查看JDK的所有包中的類的說明文檔,包括類/接口的屬性構(gòu)成、構(gòu)造方法、功能方法等的使用說明。網(wǎng)上也有中文版的API文檔,通常做成了電子書(.chm),方便下載和閱讀(演示)。窗口左側(cè)顯示所有包及層次關(guān)系,右側(cè)顯示選定類/接口的說明文檔。查閱API源碼在JDK的安裝目錄下有一個(gè)壓縮文件src.zip,其中包含了JDK所有類/接口的源碼。參考官方規(guī)范化的源碼有利于提升自己的編程水平。在MyEclipe的源碼編輯窗口,只要在類名上按F3鍵就可快速查看其源碼。331.4Eclipse/MyEclipse簡介Eclipse是一個(gè)開源、免費(fèi)的Java集成開發(fā)環(huán)境(IDE),支持插件擴(kuò)展,被廣泛應(yīng)用。MyEclipse是Eclipse的一個(gè)插件,它大大增強(qiáng)了Eclipse的功能。MyEclipseEnterpriseWorkbench是被廣泛應(yīng)用、功能強(qiáng)大的JavaEE集成開發(fā)環(huán)境,它支持代碼編寫、調(diào)試、編譯以及應(yīng)用布署等所有功能,完整支持HTML、Struts、JSF、CSS、JavaScript、SQL以及第三方框架開發(fā)。341.4.1MyEclipse集成開發(fā)環(huán)境下載、安裝MyEclipse從MyEclipse官網(wǎng)/可下載MyEclipse開發(fā)平臺。最新版安裝文件文件是myeclipse-8.5.0-win32.exe。在安裝myeclipse之前通常應(yīng)先安裝JDK,myeclipse安裝十分簡單,通常只須選擇合適的安裝路徑,其他選項(xiàng)保持默認(rèn)即可。在安裝過程中,MyEclipse會自動(dòng)尋找JDK。第一次啟動(dòng)MyEclipse會彈出如圖1.13所示的對話框,詢問工作區(qū)路徑。工作區(qū)(workspace)是指存放源程序文件及配置文件的文件夾。35界面MyEclipse集成開發(fā)環(huán)境界面如圖1.14(P16)所示。如今這種界面已逐漸成為業(yè)界的一種標(biāo)準(zhǔn)。MyEclipse集成開發(fā)環(huán)境包括菜單欄、工具欄、視圖、編輯器、狀態(tài)欄等。視圖是MyEclipse的功能子窗口,可更改各視圖的大小,移動(dòng)位置。雙擊某視圖標(biāo)簽可最大化或還原視圖窗口。若干視圖組合稱為透視圖(Perspective)。執(zhí)行"Window|ShowView"可顯示所需視圖。執(zhí)行"Window|OpenPerspective"可打開所需透視圖。透視圖也會在相應(yīng)操作時(shí)自動(dòng)打開。常用視圖及功能說明如表1-4(P16)所示。36表1-4MyEclipse常用視圖及功能說明視圖功能說明Navigator顯示項(xiàng)目中的文件列表PackageExplorer顯示項(xiàng)目中的包和文件Outline顯示編輯器中的當(dāng)前文件的方法聲明。單擊方法名可快速定位到指定方法Hierarchy顯示當(dāng)前類的繼承關(guān)系Problems顯示編譯錯(cuò)誤和警告信息Console顯示控制臺程序的運(yùn)行結(jié)果Tasks顯示代碼中未完成的任務(wù)Debug顯示調(diào)試信息Variables顯示調(diào)試過程中的變量值37代碼提示和源代碼查看MyEclipse具有代碼提示和源代碼查看等功能。在編輯器中,當(dāng)類名或?qū)ο竺筝斎朦c(diǎn)(.)時(shí)將自動(dòng)出現(xiàn)代碼提示窗口,從中可選擇輸入所需要的成員變量或方法。當(dāng)按住Ctrl鍵并單擊類名或方法名時(shí),如String類或println(),將打開指定類或該方法所在的類,可查看該類源碼及方法聲明細(xì)節(jié)。也可在類名或方法名上按F3完成同樣功能。38工作區(qū)(workspace)和項(xiàng)目(project)一個(gè)復(fù)雜點(diǎn)的應(yīng)用程序通常需要多個(gè)類和多個(gè)程序文件構(gòu)成。Eclipse以項(xiàng)目(project)為單位管理應(yīng)用程序,一個(gè)項(xiàng)目對應(yīng)一個(gè)應(yīng)用程序,其中包含多個(gè)文件,項(xiàng)目本身保存為項(xiàng)目文件。一個(gè)大型企業(yè)級應(yīng)用通常包含多個(gè)不同種類的應(yīng)用程序,每個(gè)應(yīng)用對應(yīng)一個(gè)項(xiàng)目,Eclipse以工作區(qū)(workspace)來管理多個(gè)項(xiàng)目,一個(gè)工作區(qū)對應(yīng)一個(gè)文件夾。工作區(qū)、項(xiàng)目、程序文件及其關(guān)系如圖1.15所示。工作區(qū)項(xiàng)目1Java程序1.javaJava程序2.java項(xiàng)目2391.4.2創(chuàng)建Java項(xiàng)目并運(yùn)行創(chuàng)建Java項(xiàng)目選擇"File|New|JavaProject"→打開"NewJavaProject"對話框→輸入項(xiàng)目名→單擊<Finish>按鈕,即可在當(dāng)前工作區(qū)中創(chuàng)建一個(gè)新項(xiàng)目,并創(chuàng)建與項(xiàng)目同名的文件夾(演示)。各選項(xiàng)含義如圖1.16所示。創(chuàng)建Java類選擇"File|New|Class"→打開"NewJavaClass"對話框,輸入類名(如Hello)→單擊<Finish>按鈕,將在Sourcefolder指定的文件夾中創(chuàng)建文件Hello.java,并打開該類的編輯窗口。編輯、編譯和運(yùn)行Eclipse編輯器功能強(qiáng)大,除具有常規(guī)文本編輯器的所有功能(Copy、Cut、Paste、Delete、Undo、Redo、SelectAll、Find/Replace)。還具備分色顯示、智能輸入、動(dòng)態(tài)幫助等功能。MyEclipse默認(rèn)即時(shí)編譯,保存的同時(shí)即編譯。點(diǎn)擊工具欄Run圖標(biāo)即可運(yùn)行當(dāng)前源程序,運(yùn)行結(jié)果或打開窗口或顯示在Console視圖中。40重構(gòu)選擇快捷菜單"Refactor|Rename",可更改當(dāng)前項(xiàng)目或類的名稱,相應(yīng)的文件夾名將被同步更改,類名、對應(yīng)源程序文件名以及該類名的所有引用也被同步更改。切換工作區(qū)選擇"File|SwitchWorkspace",在打開的對話框中可選擇另一個(gè)文件夾作為工作區(qū)。訪問其他項(xiàng)目中的類和添加JAR包在項(xiàng)目上選擇快捷菜單"BuildPath|ConfigureBuildPath",然后選擇Projects頁,單擊<Add>按鈕可將其它項(xiàng)目,以便訪問本項(xiàng)目外的類。選擇Libraries頁可添加外部jar包或MyEclipse自帶類庫等。設(shè)置運(yùn)行的命令行參數(shù)選擇"Run|RunConfigurations…"打開Run配置對話框,在Arguments頁的Programarguments編輯框中輸入命令行參數(shù),多個(gè)參數(shù)以空格分隔。411.4.3程序調(diào)試技術(shù)在軟件開發(fā)過程中,程序出錯(cuò)往往是不可避免的。調(diào)試程序、排除錯(cuò)誤是程序員無法回避的工作。調(diào)試方法有許多種,歸根結(jié)底都是為了找到引發(fā)錯(cuò)誤的代碼。程序調(diào)試能力是程序員必須掌握的一項(xiàng)基本技能,與程序設(shè)計(jì)能力相輔相成。只有具備較強(qiáng)的程序調(diào)試能力,才能擁有強(qiáng)大的程序開發(fā)能力,才能算是一個(gè)合格的程序員。Eclipse內(nèi)置的Java調(diào)試器提供了所有標(biāo)準(zhǔn)調(diào)試功能,包括單步執(zhí)行、設(shè)置斷點(diǎn)和值、檢查變量和值以及暫掛和恢復(fù)線程等。42程序錯(cuò)誤、發(fā)現(xiàn)時(shí)刻及錯(cuò)誤處理原則當(dāng)程序不能正常運(yùn)行或者運(yùn)行結(jié)果不正確時(shí),則表明程序中有錯(cuò)誤。按照錯(cuò)誤的性質(zhì)可將程序錯(cuò)誤分成三類:語法錯(cuò)、語義錯(cuò)、邏輯錯(cuò)。這三類錯(cuò)誤的發(fā)現(xiàn)時(shí)刻不同,處理錯(cuò)誤的方式也不同。語法錯(cuò)(syntaxerror)又稱為編譯錯(cuò),指違反語法規(guī)范的錯(cuò)誤。如標(biāo)識符未聲明、表達(dá)式中運(yùn)算符與操作數(shù)類型不匹配、賦值時(shí)變量類型與表達(dá)式類型不兼容、括號不匹配、語句末尾缺少分號、else沒有匹配的if等。MyEclipse能在編輯時(shí)發(fā)現(xiàn)語法錯(cuò)誤并以紅色x來標(biāo)記出錯(cuò)行,當(dāng)鼠標(biāo)移向出錯(cuò)標(biāo)記時(shí)會給出錯(cuò)誤信息。程序員必須及時(shí)改正語法錯(cuò),再重新編譯程序。語義錯(cuò)(semanticerror)指存在語言含義錯(cuò)誤。如數(shù)據(jù)格式錯(cuò)、除數(shù)為0錯(cuò)、變量賦值超出其范圍、數(shù)組下標(biāo)越界等。語義錯(cuò)在運(yùn)行時(shí)會被發(fā)現(xiàn),故又稱為運(yùn)行錯(cuò)(run-timeerror)。MyEclipse運(yùn)行時(shí)一旦發(fā)現(xiàn)語義錯(cuò),
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆新疆阿克蘇地區(qū)沙雅縣二中高三上物理期中調(diào)研模擬試題含解析
- 2025屆福建省晉江市永春縣第一中學(xué)高三上物理期中質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 安徽亳州利辛縣闞疃金石中學(xué)2025屆物理高一上期末學(xué)業(yè)水平測試試題含解析
- 2025屆福建省漳州市五中、龍海市五中等四校高三物理第一學(xué)期期中學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 2025屆陜西省西安市第25中學(xué)物理高三第一學(xué)期期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 2025屆福建省永春一中、培元、季延、石光中學(xué)四校物理高一上期末調(diào)研試題含解析
- 2025屆安徽省長豐二中物理高一上期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 安徽省宿州市(2024年-2025年小學(xué)五年級語文)統(tǒng)編版小升初真題(下學(xué)期)試卷及答案
- 急診科急救藥品培訓(xùn)護(hù)理課件
- 2024房產(chǎn)買賣定金合同范本
- 醫(yī)院標(biāo)識標(biāo)牌采購?fù)稑?biāo)方案
- 律師事務(wù)所合伙人退伙登記表
- 粵北十縣市白話的語音特點(diǎn)
- 小學(xué)數(shù)學(xué)-連加連減教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 廚房員工績效考核方案
- 4.1數(shù)列的概念(第2課時(shí))-高中數(shù)學(xué)人教A版(2019)選擇性必修第二冊
- 英文科技論文寫作的100個(gè)常見錯(cuò)誤
- 新湘科版小學(xué)三年級科學(xué)上冊-全冊教案
- 2023飛輪儲能技術(shù)在新能源一次調(diào)頻上的應(yīng)用
- 第7講-化學(xué)工程的倫理問題-201912092040097
- 全面預(yù)算管理項(xiàng)目啟動(dòng)培訓(xùn)課件PPT
評論
0/150
提交評論