




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、程序設(shè)計(jì)語言程序設(shè)計(jì)語言JavaJava第第2 2章章 JavaJava概述和人門程序概述和人門程序 3教學(xué)目標(biāo)教學(xué)目標(biāo)nJavaJava語言歷史、發(fā)展和特點(diǎn)語言歷史、發(fā)展和特點(diǎn)nJavaJava類庫類庫nJavaJava開發(fā)環(huán)境開發(fā)環(huán)境nJDK JDK 下載、安裝與使用下載、安裝與使用nJavaJava集成開發(fā)環(huán)境集成開發(fā)環(huán)境nJavaJava程序類型及簡單例子程序類型及簡單例子n應(yīng)用程序應(yīng)用程序n小應(yīng)用程序小應(yīng)用程序appletapplet42.1 Java2.1 Java歷史及發(fā)展歷史及發(fā)展19911991年由年由James GoslingJames Gosling負(fù)責(zé)開發(fā)的一個(gè)分負(fù)責(zé)開
2、發(fā)的一個(gè)分布式代碼系統(tǒng)(布式代碼系統(tǒng)(OakOak),最初是為家用消費(fèi)),最初是為家用消費(fèi)電子產(chǎn)品(電冰箱、電視機(jī)等)進(jìn)行編程電子產(chǎn)品(電冰箱、電視機(jī)等)進(jìn)行編程控制控制 。 19931993年年Sun Sun 公司將目標(biāo)市場轉(zhuǎn)向公司將目標(biāo)市場轉(zhuǎn)向 Internet Internet 。19941994年將年將OakOak語言更名為語言更名為JavaJava。 19951995年年JavaJava被正式發(fā)布,之后立即引起極被正式發(fā)布,之后立即引起極大的轟動。大的轟動。52.1 Java2.1 Java歷史及發(fā)展歷史及發(fā)展n現(xiàn)在現(xiàn)在JavaJava用于用于: :n開發(fā)大型企業(yè)的應(yīng)用程序開發(fā)大型企
3、業(yè)的應(yīng)用程序; ;n增強(qiáng)增強(qiáng)WWWWWW服務(wù)器的功能服務(wù)器的功能; ;n動畫游戲的設(shè)計(jì),包括圖形圖像的調(diào)用動畫游戲的設(shè)計(jì),包括圖形圖像的調(diào)用; ;n為消費(fèi)類設(shè)備(如手機(jī)、傳呼機(jī)和移動設(shè)備等)為消費(fèi)類設(shè)備(如手機(jī)、傳呼機(jī)和移動設(shè)備等)提供應(yīng)用程序。提供應(yīng)用程序。62.2 Java2.2 Java語言特點(diǎn)語言特點(diǎn)nJava語言特點(diǎn):特點(diǎn):n簡單性、n面向?qū)ο?、n平臺無關(guān)、可移植、解釋型、高性能、動態(tài)性、n可靠、安全、n多線程、n分布式處理等。 7JavaJava語言特點(diǎn)語言特點(diǎn)1. 簡單性v系統(tǒng)精簡,但功能齊備。系統(tǒng)精簡,但功能齊備。 v風(fēng)格類似于風(fēng)格類似于C+C+,對,對C+C+程程序員而言非常
4、容易掌握。序員而言非常容易掌握。 vJavaJava摒棄了摒棄了C+C+中容易引發(fā)中容易引發(fā)程序錯(cuò)誤的地方,如指針操程序錯(cuò)誤的地方,如指針操作和內(nèi)存管理;作和內(nèi)存管理;v提供豐富的類庫。提供豐富的類庫。 8JavaJava語言特點(diǎn)語言特點(diǎn)2 2面向?qū)ο竺嫦驅(qū)ο?Java語言是純面向?qū)ο蟮恼Z言,n程序的結(jié)構(gòu):由一個(gè)以上的類組成。完全是面向?qū)ο蟮模耆敲嫦驅(qū)ο蟮?,它不支持類似它不支持類似C C語言那語言那樣的面向過程的程序樣的面向過程的程序設(shè)計(jì)技術(shù)。設(shè)計(jì)技術(shù)。 9JavaJava語言特點(diǎn)語言特點(diǎn)3 3平臺無關(guān)性平臺無關(guān)性n用Java寫的應(yīng)用程序不用修改就可在不同的軟硬件平臺上運(yùn)行。 nJava靠
5、Java虛擬機(jī)(Java Virtual Machine,JVM)實(shí)現(xiàn)平臺無關(guān)性。JVM是一種抽象機(jī)器,它附著在具體操作系統(tǒng)之上,本身具有一套虛擬機(jī)的機(jī)器指令,并有自己的棧、寄存器組等。計(jì)算機(jī)硬件環(huán)境計(jì)算機(jī)硬件環(huán)境JVM10JavaJava語言特點(diǎn)語言特點(diǎn)n在JVM上,有一個(gè)Java解釋器用來解釋Java編譯器編譯后的程序。 Java編程人員在編寫完軟件后,通過JavaJava編譯器編譯器將Java源程序編譯為JVMJVM的字節(jié)代碼(Byte Code)。任何一臺機(jī)器只要配備了JavaJava解釋器解釋器,就可以運(yùn)行這個(gè)程序,而不管這種字節(jié)碼是在何種平臺上生成的。Byte CodeByte C
6、ode計(jì)算機(jī)硬件環(huán)境計(jì)算機(jī)硬件環(huán)境JVM通過通過JVMJVM以及以及JREJRE將其轉(zhuǎn)成本地機(jī)器代碼,將其轉(zhuǎn)成本地機(jī)器代碼,11JavaJava程序運(yùn)行環(huán)境程序運(yùn)行環(huán)境編譯時(shí)編譯時(shí).Java源程序源程序(.java.java文件)文件).Java Bytecode(.class.class文件)文件)運(yùn)行時(shí)運(yùn)行時(shí)BytecodeBytecode加載器加載器字節(jié)碼校驗(yàn)器字節(jié)碼校驗(yàn)器解釋器解釋器JIT代碼代碼生成器生成器硬件硬件網(wǎng)絡(luò)網(wǎng)絡(luò)JIT (Just In Time)12Java與傳統(tǒng)語言的不同運(yùn)行機(jī)制與傳統(tǒng)語言的不同運(yùn)行機(jī)制13JavaJava語言特點(diǎn)語言特點(diǎn)4.可移植性5.解釋性6.高性能
7、 7.動態(tài)性JavaJava應(yīng)用程序可以在配備了應(yīng)用程序可以在配備了JavaJava解釋器和運(yùn)行環(huán)境的任解釋器和運(yùn)行環(huán)境的任何計(jì)算機(jī)系統(tǒng)上運(yùn)行,而與何計(jì)算機(jī)系統(tǒng)上運(yùn)行,而與體系結(jié)構(gòu)無關(guān)。體系結(jié)構(gòu)無關(guān)。 JavaJava編譯器將編譯器將javajava源文件生源文件生成類文件成類文件.class.class,類文件可,類文件可通過通過javajava命令解釋執(zhí)行,將命令解釋執(zhí)行,將JavaJava字節(jié)碼轉(zhuǎn)換為機(jī)器碼。字節(jié)碼轉(zhuǎn)換為機(jī)器碼。 JITJIT編譯器。可編譯器。可以提高以提高 Java Java 代代碼的執(zhí)行速度。碼的執(zhí)行速度。 允許程序動態(tài)地裝入運(yùn)行過允許程序動態(tài)地裝入運(yùn)行過程中所需要的
8、類。程中所需要的類。 14JavaJava語言特點(diǎn)語言特點(diǎn)8 8可靠性和安全性可靠性和安全性 vJavaJava語言提供的安全。語言提供的安全。 v編譯器提供的安全。編譯器提供的安全。 v字節(jié)碼校驗(yàn)。字節(jié)碼校驗(yàn)。v類裝載。類裝載。 JavaJava是強(qiáng)類型語言是強(qiáng)類型語言; ;JavaJava不支持指針,這杜絕了內(nèi)存的非法訪問;不支持指針,這杜絕了內(nèi)存的非法訪問; JavaJava的自動單元收集防止了內(nèi)存丟失等動態(tài)內(nèi)存分配導(dǎo)致的的自動單元收集防止了內(nèi)存丟失等動態(tài)內(nèi)存分配導(dǎo)致的問題;問題; JavaJava解釋器運(yùn)行時(shí)實(shí)施檢查,可以發(fā)現(xiàn)數(shù)組和字符串訪問的解釋器運(yùn)行時(shí)實(shí)施檢查,可以發(fā)現(xiàn)數(shù)組和字符串
9、訪問的越界越界; ; Java Java提供了異常處理機(jī)制,使程序從錯(cuò)誤狀態(tài)中恢復(fù)。提供了異常處理機(jī)制,使程序從錯(cuò)誤狀態(tài)中恢復(fù)。 當(dāng)當(dāng)JavaJava字節(jié)碼進(jìn)入解釋器時(shí),首先必須經(jīng)過字節(jié)碼校驗(yàn)器的字節(jié)碼進(jìn)入解釋器時(shí),首先必須經(jīng)過字節(jié)碼校驗(yàn)器的檢查,隨后,類裝載器負(fù)責(zé)把來自網(wǎng)絡(luò)的類裝載到單獨(dú)的內(nèi)存檢查,隨后,類裝載器負(fù)責(zé)把來自網(wǎng)絡(luò)的類裝載到單獨(dú)的內(nèi)存區(qū)域,避免應(yīng)用程序之間相互干擾破壞。區(qū)域,避免應(yīng)用程序之間相互干擾破壞。最后,客戶端用戶還可以限制從網(wǎng)絡(luò)上裝載的類只能訪問某最后,客戶端用戶還可以限制從網(wǎng)絡(luò)上裝載的類只能訪問某些文件系統(tǒng)。些文件系統(tǒng)。15JavaJava語言特點(diǎn)語言特點(diǎn)9多線程多線程
10、 內(nèi)置多線程功能,使得在一內(nèi)置多線程功能,使得在一個(gè)程序里可同時(shí)執(zhí)行多個(gè)小個(gè)程序里可同時(shí)執(zhí)行多個(gè)小任務(wù)。帶來的好處是更好的任務(wù)。帶來的好處是更好的交互性和實(shí)時(shí)控制性。交互性和實(shí)時(shí)控制性。 Java提供現(xiàn)成的類Thread,只要繼承這個(gè)類就可以編寫多線程的程序。 多線程機(jī)制使應(yīng)用程序能夠并行并行執(zhí)行,而且同步機(jī)制保證了對共享數(shù)據(jù)的正確操作。 通過使用多線程,程序設(shè)計(jì)者可以分別用不同的線程完成特定的行為,而不需要采用全局的事件循環(huán)機(jī)制,這樣就很容易地實(shí)現(xiàn)網(wǎng)絡(luò)上的實(shí)時(shí)交互行為。16JavaJava語言特點(diǎn)語言特點(diǎn)10分布式處理分布式處理 支持支持TCP/IPTCP/IP協(xié)議。協(xié)議。n 分布式包括:n
11、數(shù)據(jù)分布:指數(shù)據(jù)可以分散在網(wǎng)絡(luò)的不同主機(jī)上,n操作分布:指把一個(gè)計(jì)算分散在不同主機(jī)上處理。n Java支持WWW客戶機(jī)/服務(wù)器計(jì)算模式,因此,它支持這兩種分布性。nJava數(shù)據(jù)分布: Java提供了一個(gè)叫作URL的對象,利用這個(gè)對象,你可以打開并訪問具有相同URL地址上的對象,訪問方式與訪問本地文件系統(tǒng)相同。nJava操作分布: Java的applet小程序可以從服務(wù)器下載到客戶端,即部分計(jì)算在客戶端進(jìn)行,提高系統(tǒng)執(zhí)行效率。172.3 Java 類庫類庫nJava類庫也稱作Java API (Application Programming Interface)。 在學(xué)習(xí)Java時(shí),實(shí)際上學(xué)習(xí)內(nèi)
12、容分成兩部分。n第一部分是Java語言本身,以便編寫自己的類;n第二部分學(xué)會擴(kuò)展Java類庫的類。 本書通過例子討論了Java的大量類庫的使用。182.3 Java 類庫類庫nJavaJava中的包中的包: :nJava為編寫應(yīng)用程序提供了豐富的預(yù)定義類庫,這些預(yù)定義類庫按相關(guān)類的范疇進(jìn)行了分組,這些分組被稱作包包(package).n一個(gè)包是一個(gè)已命名的類的集合,一個(gè)包還可以包含其他的子包。Java所有的包被稱為Java應(yīng)用程序接口API。Java API包分成:n核心包(以java開頭的包)n和可選包(以javax開頭的包) 核心包和可選包一般被包含Java開發(fā)工具包中。192.3 Jav
13、a 類庫類庫JDK中的一些重要的包:njava.lang: 提供支持Java的基礎(chǔ)類。 njava.util: 提供實(shí)用方法和數(shù)據(jù)結(jié)構(gòu)的類。njava.awt :njavax.swing:njava.applet: 創(chuàng)建小應(yīng)用程序提供必要的元件njava.io : 提供輸入、輸出流支持。: 提供支持聯(lián)網(wǎng)的類。提供圖形用戶界面編程的類庫集合。202.4 Java開發(fā)環(huán)境開發(fā)環(huán)境nJava開發(fā)環(huán)境:n使用JDK工具集(Java Developers Kits,JDK),是一種命令行的方式。n使用集成環(huán)境IDE(Integrated Developed Environment)。n我們將通過程序例子
14、分別介紹它們的使用方法。21JDK JDK 下載、安裝與使用下載、安裝與使用 nJDK可從 網(wǎng)站免費(fèi)下載,在這里下載適合于我們計(jì)算機(jī)操作系統(tǒng)的JDK。 如Window操作系統(tǒng)下,我們下載JDK的開發(fā)工具“jdk-6u5-windows-i586-p.exe ”和JDK的開發(fā)文檔“jdk-6-doc.zip ”(幫助文檔)。 nWindow操作系統(tǒng)下安裝時(shí),直接運(yùn)行 “jdk-6u5-windows-i586-p.exe ”, 按照安裝向?qū)нM(jìn)行安裝。n解開“jdk-6-doc.zip ”,得到JDK的開發(fā)文檔。22JDK JDK 安裝與使用安裝與使用n安裝JDK后產(chǎn)生主要的目錄結(jié)構(gòu)如下: nbi
15、n目錄:Java開發(fā)工具,包括Java編譯器、解釋器、applet解釋器等 ndemo目錄:一些實(shí)例程序 nlib目錄:Java開發(fā)類庫 njre目錄: Java運(yùn)行環(huán)境,包括Java虛擬機(jī)、運(yùn)行類庫等23JDK JDK 安裝與使用安裝與使用nJava開發(fā)工具包括的文件有 :l javac:Java編譯器,用來將java程序編譯成Bytecode。l java: Java解釋器,執(zhí)行已經(jīng)轉(zhuǎn)換成Bytecode的java 應(yīng)用程序。l jdb: Java調(diào)試器, 用來調(diào)試java程序。l javap:反編譯,將類文件還原回方法和變量。l javadoc:文檔生成器,創(chuàng)建HTML文件。l appl
16、etviwer:applet解釋器, 用來解釋已經(jīng)轉(zhuǎn)換成Bytecode的Java小應(yīng)用程序。24JDK JDK 安裝與使用安裝與使用n安裝完JDK后,必須設(shè)置環(huán)境變量PATH和CLASSPATH。n PATH環(huán)境變量指定Java工具的路經(jīng),n CLASSPATH環(huán)境變量是指定類的路經(jīng)。 假如:JDK安裝在目錄: C:Program FilesJavajdk1.6.0_05bin, 用戶的Java類文件放在目錄下: D:javaExamples, 則環(huán)境變量設(shè)置如下: PATH= ;PATH= ;C:Program FilesJavajdk1.6.0_05bin; ; CLASSPATH= D
17、:javaExamplesCLASSPATH= D:javaExamples25 JavaJava集成開發(fā)環(huán)境集成開發(fā)環(huán)境nJava開發(fā)領(lǐng)域的集成開發(fā)環(huán)境IDE:JCreator、Eclipse、JBuilder、Visual J+、NetBean等。 具體選用哪種開發(fā)工具要視項(xiàng)目的具體情況而定。對于初學(xué)者而言,集成開發(fā)環(huán)境的界面不能太復(fù)雜。適合于初學(xué)者學(xué)習(xí)的,應(yīng)該是界面簡單一些,最好是不需要對開發(fā)環(huán)境做很多的設(shè)置的軟件。 26 JCreator JCreator的介紹的介紹nJCreator。它為用戶提供了相當(dāng)強(qiáng)大的功能,例如項(xiàng)目管理功能,可個(gè)性化設(shè)置語法高亮屬性、行數(shù)、類瀏覽器、標(biāo)簽文檔、
18、多功能編繹器,向?qū)Чδ芤约巴耆勺远x的用戶界面。n通過JCreator,你不用激活主文檔而直接編繹或運(yùn)行你的Java程序。JCreator能自動找到包含主函數(shù)的文件或包含applet的Html文件,然后它會運(yùn)行適當(dāng)?shù)墓ぞ摺JCreator的設(shè)計(jì)接近Windows界面風(fēng)格,用戶對它的界面比較熟悉。其最大特點(diǎn)是與你機(jī)器中所裝的JDK完美結(jié)合,是其它任何一款I(lǐng)DE所不能比擬的。27JCreatorJCreator的安裝的安裝nJCreator的下載地址: http:/ PRO。運(yùn)行JCreator PRO,JCreator顯示界面如圖2-2所示。在下一節(jié)中,將通過程序例子介紹JDK和JCreat
19、or的使用方法。28JCreatorJCreator顯示界面顯示界面292.5 Java2.5 Java程序類型及簡單例子程序類型及簡單例子nJava程序有四種基本類型:n應(yīng)用程序(application)、n小應(yīng)用程序(applet)、nServletnbean。 這四種類型程序的區(qū)別很少,Java的每一個(gè)程序都至少有一個(gè)類,并且Java語言的的基本編程結(jié)構(gòu)對于所有類型的程序都適用。且每一種類型的程序,都要運(yùn)行在Java虛擬機(jī)JVM上。30應(yīng)用程序應(yīng)用程序(applications)n應(yīng)用程序(applications)是一個(gè)可以獨(dú)立運(yùn)行的程序,它只需要Java虛擬機(jī)就能夠運(yùn)行。 n一個(gè)Ja
20、va application中,一定要有一個(gè)類包含main方法。31例2-1第一個(gè)Java application:/ FirstApp.java public class FirstApp public static void main(String args ) System.out.println(This is the first Java Application!); This is the first Java Application! 定義類的定義類的關(guān)鍵字關(guān)鍵字 類名類名 必須這必須這么寫么寫 文檔注釋,文檔注釋,程序運(yùn)行輸出結(jié)果程序運(yùn)行輸出結(jié)果:32例2-1第一個(gè)Java a
21、pplication的說明(1) 注釋行注釋行。Java中注釋有Java有二種注釋形式: / / 一行的注釋一行的注釋 / /* * 一行或多行的注釋一行或多行的注釋 * */ /(2) 關(guān)鍵字關(guān)鍵字classclass來聲明一個(gè)新的類,類名為FirstApp,。類定義由大括號括起來,類中封裝了類的變量(域)和類的方法。一個(gè)Java應(yīng)用程序由n(n0)個(gè)類組成,但這n個(gè)類中只能有一個(gè)是public類(公共類),且程序名必須與公 共 類 名 相 同 , 這 是 本 應(yīng) 用 程 序 文 件 起 名 為FirstApp.java的原因。Java解釋器要求公共類必須放在與其同名的源文件中。(3) st
22、atic void main(String args ) 該類中定義了一個(gè)main方法,是應(yīng)用程序執(zhí)行的入口點(diǎn)。main方法所在的類叫做主類,一個(gè)應(yīng)用程序的主類只能有一個(gè)。 33例2-1第一個(gè)Java application的說明main方法署名中的符號解釋如下: publicpublic:指明為公共方法。public方法可以被類的對象使用。 staticstatic:指明方法是一個(gè)靜態(tài)方法,靜態(tài)方法是類的方法,而不是對象的方法,靜態(tài)方法可以通過類名直接調(diào)用。 voidvoid:表示main方法執(zhí)行后不會返回任何值。括號中的String args是定義傳遞給main方法的參數(shù),參數(shù)名為args
23、,為String 類的數(shù)組。34例2-1第一個(gè)Java application的說明(5) System.out.println(This is my first Java System.out.println(This is my first Java Application!);Application!); System.out.println是在命令窗口上輸出(或打?。┮恍形谋?。 System.out.print是在命令窗口上輸出(或打?。┪谋竞?但并不換行。 35程序的執(zhí)行分三步:編寫、編譯和運(yùn)行。程序的執(zhí)行分三步:編寫、編譯和運(yùn)行。(5) 該程序的執(zhí)行用JDK完成。程序的執(zhí)行分三步:
24、編寫、編譯和運(yùn)行。具體步驟如下: 第一步:利用文本編輯工具,編寫生成第一步:利用文本編輯工具,編寫生成JavaJava源程序源程序,命名為FirstApp.java 第二步:編譯第二步:編譯。調(diào)用Java編譯器javac.exe,將源文件FirstApp.java編譯生成類FirstApp.class。 假定FirstApp.java放在D:javaExamples目錄下。 d: /改變盤符 cd javaExamples /改變當(dāng)前路徑 javac FirstApp.java /編譯 36第一個(gè)Java application程序的執(zhí)行程序的執(zhí)行. .分三步:分三步:編寫、編譯和運(yùn)行。編寫、
25、編譯和運(yùn)行。 第三步:運(yùn)行第三步:運(yùn)行。調(diào)用Java解釋器java.exe對類文件FirstApp.class解釋執(zhí)行,輸出程序的執(zhí)行結(jié)果。 在MS-DOS命令行提示符“D:javaExamples”下,輸入下列命令執(zhí)行: java FirstAppjava FirstApp37例例2-22-2用格式化方法用格式化方法printfprintf輸出文本輸出文本, ,并使用并使用JCreatorJCreator編寫程序、編譯和運(yùn)行。編寫程序、編譯和運(yùn)行。n在例2-2中, 使用的Java的類JOptionPaneJOptionPane包含在javax.swing包中, JOptionPane類提供了
26、利用對話框進(jìn)行輸入和輸出的方法。38例例2-22-2第二個(gè)第二個(gè)Java applicationJava application:在對話框中:在對話框中顯示文本顯示文本Second.java文件的代碼如下:/ Display text with printfpublic class Second public static void main( String args ) System.out.printf(You %sn%sn,print,Two lines ); 39第二個(gè)第二個(gè)Java applicationJava application的說明的說明(4) 用JCreator完成該程序
27、的執(zhí)行。分三步:進(jìn)行程序書寫、編譯和運(yùn)行。具體步驟如下:分三步:進(jìn)行程序書寫、編譯和運(yùn)行。具體步驟如下:第一步第一步:利用JCreator,編寫生成Java源程序,命名為Second.java. 第二步第二步:程序編譯。編譯器將源文件Second.java編譯生成類Second.class放在D:javaExamples目錄下.第三步第三步:程序運(yùn)行。對類文件Second.class解釋執(zhí)行,并輸出結(jié)果。40 例例2-52-5: 要求用戶從鍵盤輸入二個(gè)整數(shù),計(jì)算這兩個(gè)整數(shù)之和,并顯要求用戶從鍵盤輸入二個(gè)整數(shù),計(jì)算這兩個(gè)整數(shù)之和,并顯示結(jié)果示結(jié)果 .(1)Scnanner 類在包java.uti
28、l中。使用時(shí)必須導(dǎo)入 import java.util.Scanner; (2)創(chuàng)建標(biāo)準(zhǔn)輸入流對象,并賦給引用變量input Scanner input=new Scanner(System.in);(3)通過引用變量input調(diào)用Scanner對象的方法nextInt(),完成接受從鍵盤輸入的一個(gè)整型數(shù)。 firstNumber =input.nextInt(); 41/Addition.java/Addition.javaimport java.util.Scanner; import java.util.Scanner; public class Addition public clas
29、s Addition public static void main( String args ) public static void main( String args ) Scanner input=new Scanner(System.in); Scanner input=new Scanner(System.in); / /聲明三個(gè)整型變量聲明三個(gè)整型變量 int firstNumber; int firstNumber; int secondNumber; int secondNumber; int sum; int sum; / read in first number / re
30、ad in first number System.out.print( System.out.print( 輸入第一個(gè)數(shù)輸入第一個(gè)數(shù): );: ); firstNumber=input.nextInt(); firstNumber=input.nextInt(); / read in second number / read in second number System.out.print( System.out.print( 輸入第二個(gè)數(shù)輸入第二個(gè)數(shù): ); : ); secondNumber = input.nextInt(); secondNumber = input.nextInt
31、(); / substract numbers / substract numbers sum = firstNumber+ secondNumber; sum = firstNumber+ secondNumber; System.out.printf( System.out.printf( 相加后的結(jié)果是相加后的結(jié)果是: %dn,sum);: %dn,sum); 定義三個(gè)整型變量定義三個(gè)整型變量兩數(shù)相加兩數(shù)相加顯示結(jié)果顯示結(jié)果讀入兩個(gè)數(shù)讀入兩個(gè)數(shù), ,送給整型變量送給整型變量42第三個(gè)第三個(gè)Java applicationJava application的執(zhí)行結(jié)果的執(zhí)行結(jié)果43小應(yīng)用程序小
32、應(yīng)用程序appletapplet Java小應(yīng)用程序(applet)是一種嵌入在HTML文檔(即Web頁)中的Java程序。當(dāng)瀏覽器裝入一個(gè)含有applet的Web頁時(shí),applet被下載到該瀏覽器中,并開始執(zhí)行。執(zhí)行applet的瀏覽器一般稱為applet容器。 44小應(yīng)用程序小應(yīng)用程序appletapplet的下載執(zhí)行過程的下載執(zhí)行過程45小應(yīng)用程序小應(yīng)用程序appletappletn Java 2軟件開發(fā)工具包含有appletviewer.exe,它是一個(gè)applet容器,一般用于對嵌入Web頁的 applet進(jìn)行測試。n 在JCreator集成環(huán)境中,會調(diào)用appletviewer容器
33、,運(yùn)行含有applet的HTML文檔。46例例2-4 第一個(gè)第一個(gè)Java applet:繪制字符串:繪制字符串n第一個(gè)applet的功能是在applet顯示區(qū)域上繪制字符串“歡迎進(jìn)入 applet 程序設(shè)計(jì)”。n 文件名為WelcomeApplet.java,經(jīng)過編譯后將生成WelcomeApplet.class。n 由于Java小應(yīng)用程序是不能直接運(yùn)行的,必須嵌入到網(wǎng)頁中,要使用applet容器才能夠運(yùn)行。因此我們將小應(yīng)用程序WelcomeApplet.class嵌入在HTML文件WelcomeApplet.html中。 47小應(yīng)用程序小應(yīng)用程序WelcomeApplet.java的代碼如
34、下:的代碼如下:import java.awt.Graphics; / 導(dǎo)入類 Graphicsimport javax.swing.JApplet; / 導(dǎo)入類 JAppletpublic class WelcomeApplet extends JApplet / draw text on applet background public void paint( Graphics g ) super.paint( g ); g.drawString( 歡迎進(jìn)入 applet 程序設(shè)計(jì), 25, 25 ); 調(diào)用基類方法調(diào)用基類方法 paintpaint,刷新,刷新 appletapplet顯
35、示區(qū)域顯示區(qū)域調(diào)用基類方法調(diào)用基類方法 paintpaint,刷新,刷新 appletapplet顯示區(qū)域顯示區(qū)域48HTML文檔文件文檔文件WelcomeApplet.htmlWelcomeApplet.html的代碼如下:的代碼如下: 49使用支持使用支持JavaJava的微軟的的微軟的Internet ExplorerInternet Explorer瀏覽器和小應(yīng)用程序查看器瀏覽器和小應(yīng)用程序查看器AppletViewerAppletViewer這兩個(gè)這兩個(gè)appletapplet容器,來執(zhí)行容器,來執(zhí)行WelcomeApplet.htmlWelcomeApplet.html的顯示的顯示
36、結(jié)果結(jié)果 :50例例2-4 第一個(gè)第一個(gè)Java applet的說明的說明(1)import java.awt.Graphics; 導(dǎo)入javax.swing包中的Graphics類。Graphics類使Java applet能繪制各種圖形如直線、矩形、橢園以及字符串等。(2)import javax.swing.JApplet; 導(dǎo)入javax.swing包中的JApplet類。 (3) public class WelcomeApplet extends JApplet 是applet類的聲明。定義了一個(gè)applet類名為 WelcomeApplet,關(guān)鍵字extends表示繼承,即表示W(wǎng)
37、elcomeApplet是超類JApplet的子類,它擁有JApplet類的所有屬性和方法,并且在WelcomeApplet類可以重寫這些方法并擴(kuò)展新的功能。51例例2-4 第一個(gè)第一個(gè)Java applet的說明的說明(4) public void paint( Graphics g )是applet的paint方法的聲明。paint方法由applet容器調(diào)用執(zhí)行。一個(gè)applet的方法有5個(gè):init、strat、paint、stop和destroy(此次序也是applet容器調(diào)用方法的執(zhí)行次序),這些方法的含義請參見Java文檔中的JApplet類的說明。52例例2-4 第一個(gè)第一個(gè)Ja
38、va applet的說明的說明(5) g.drawString( 歡迎進(jìn)入 applet 程序設(shè)計(jì), 25, 25 );通過引用變量調(diào)用Graphics對象的drawString方法,在 applet上指定的像素位置繪制一個(gè)字符串。drawString方法有三個(gè)參數(shù),第一個(gè)參數(shù)是要繪制的字符串;第二個(gè)和第三個(gè)參數(shù)是要繪制的字符串的左下角在applet上的平面坐標(biāo)(25,25),它們也是以像素為單位。53例例2-4 第一個(gè)第一個(gè)Java applet的說明的說明(6)是在HTML文件中嵌入小應(yīng)用程序WelcomeApplet.class,并定義該applet在applet容器中顯示區(qū)域:以像素為
39、單位的寬度和高度。在HTML文件中嵌入Java小應(yīng)用程序應(yīng)使用 標(biāo)志,這個(gè)標(biāo)志包含幾個(gè)參數(shù):CODE=“”:用來指出要嵌入的Java小應(yīng)用程序名稱。WIDTH=x:用來指定Java小應(yīng)用程序的寬度;HEIGHT=x:用來指定Java小應(yīng)用程序的高度。54例例2-4 第一個(gè)第一個(gè)Java applet的說明的說明(7)WelcomeApplet的編譯和運(yùn)行假設(shè)WelcomeApplet.java、WelcomeApplet.class和WelcomeApplet.html放在文件夾“D:javaExamples”下。通過兩種方法來運(yùn)行兩種方法來運(yùn)行JavaJava小應(yīng)用程序小應(yīng)用程序:n 一種方
40、法使用IE瀏覽器,打開IE瀏覽器,在地址欄上輸入命令:djavaExamplesWelcomeApplet.htmln 使用Java的小應(yīng)用程序查看器AppletViewer。在JCreator集成環(huán)境中,調(diào)用appletviewer容器,運(yùn)行含有applet的HTML文檔。其過程是:在JCreator中分別創(chuàng)建生成Java程序WelcomeApplet.java和HTML文件WelcomeApplet.html,先選中WelcomeApplet.java對其進(jìn)行編譯完成后,然后選中WelcomeApplet.html,運(yùn)行它(執(zhí)行菜單命令”BuildExcute File”)55例例2-5
41、2-5 第二個(gè)第二個(gè)Java appletJava applet:繪制:繪制字符串和字符串和圖形圖形 第二個(gè)applet的功能是在applet顯示區(qū)域上繪制字符串“歡迎進(jìn)入 applet 程序設(shè)計(jì)!”并且在此字符串的上方和下方繪制兩條直線。 類WelcomeLines從超類JApplet繼承。在paint方法中,兩次調(diào)用Graphics畫直線drawLine方法, 一次調(diào)用Graphics畫字符串drawString方法。 畫直線drawLine方法需要四個(gè)參數(shù),表示直線在applet上的起點(diǎn)坐標(biāo)(x1,y1)和終點(diǎn)坐標(biāo)(x2,y2), 坐標(biāo)值均以像素為單位。 56/WelcomeLines.
42、java/WelcomeLines.javaimport java.awt.Graphics; / import class Graphicsimport java.awt.Graphics; / import class Graphicsimport javax.swing.JApplet; / import class JAppletimport javax.swing.JApplet; / import class JAppletpublic class WelcomeLines extends JApplet public class WelcomeLines extends JApp
43、let / draw lines and a string on applet background / draw lines and a string on applet background public void paint( Graphics g ) public void paint( Graphics g ) / call superclass version of method paint / call superclass version of method paint super.paint( g ); super.paint( g ); / draw horizontal
44、line from (15, 10) to (210, 10) / draw horizontal line from (15, 10) to (210, 10) g.drawLine( 15, 10, 180, 10 ); g.drawLine( 15, 10, 180, 10 ); / draw horizontal line from (15, 30) to (210, 30) / draw horizontal line from (15, 30) to (210, 30) g.drawLine( 15, 30, 180, 30 ); g.drawLine( 15, 30, 180,
45、30 ); / draw String between lines at location (25, 25) / draw String between lines at location (25, 25) g.drawString( g.drawString( 歡迎進(jìn)入歡迎進(jìn)入 applet applet 程序設(shè)計(jì)程序設(shè)計(jì)!, 25, 25 );!, 25, 25 ); / end method paint / end method paint / end class WelcomeLines / end class WelcomeLines57WelcomeLines.html的代碼如下:
46、582.5.3簡單輸入和輸出1. System.out.printf()1. System.out.printf()方法進(jìn)行格式化的輸出方法進(jìn)行格式化的輸出 格式說明符格式說明符含義含義示例示例%s輸出字符串,對應(yīng)的參數(shù)類型為String。This is a string%c輸出字符.對應(yīng)的參數(shù)類型為chara%d輸出整形值,對應(yīng)的參數(shù)類型為整形123%f輸出浮點(diǎn)型值。對應(yīng)的參數(shù)類型為分 float或 double12.34%b輸出布爾型值。對應(yīng)的參數(shù)類型為booleantrue表表2-1 2-1 printfprintf方法中方法中常用的格式說明符常用的格式說明符592.5.3簡單輸入和輸出
47、2.2.應(yīng)用應(yīng)用ScannerScanner類進(jìn)行輸入類進(jìn)行輸入 Scanner類在包javax.swing中,用import語句導(dǎo)入 方法方法含義含義int nextInt( )輸入int 整型數(shù)據(jù)* next*( )輸入* 類型的數(shù)據(jù),其中*為基本數(shù)據(jù)類型byte、short、int、long、float、double、boolean。String nextLine() 輸入一行字符串String next() 輸入一個(gè)單詞表表2-2 Scanner2-2 Scanner常用的輸入數(shù)據(jù)方法常用的輸入數(shù)據(jù)方法 602.5.3簡單輸入和輸出3.利用對話框JOptionPane進(jìn)行輸入和輸出nJ
48、OptionPane類在包javax.swing中,用import語句導(dǎo)入。 import javax.swing.JOptionPane; nJOptionPane類提供靜態(tài)方法showInputDialog()和showMessageDialog()用于輸入。 String showInputDialog(Object message)nJOptionPane類提供靜態(tài)方法showMessageDialog()用于輸出. String showInputDialog(Component parentComponent, Object message, String title, int m
49、essageType)61例例2-62-6第三個(gè)第三個(gè)Java applicationJava application:二個(gè)整:二個(gè)整數(shù)相減數(shù)相減 此程序利用對話框,要求用戶從鍵盤輸入二個(gè)整數(shù),計(jì)算這兩個(gè)整數(shù)之差,并顯示結(jié)果。62/Subtraction.cpp/Subtraction.cppimport javax.swing.JOptionPane; /import javax.swing.JOptionPane; /導(dǎo)入類導(dǎo)入類JOptionPaneJOptionPanepublic class Subtraction public class Subtraction public st
50、atic void main( String args ) public static void main( String args ) String firstNumber; String firstNumber; String secondNumber; String secondNumber; int number1; int number1; int number2; int number2; int sub; int sub; firstNumber = JOptionPane.showInputDialog( firstNumber = JOptionPane.showInputDialog( 輸入第一個(gè)數(shù)輸入第一個(gè)數(shù) ); ); secondNumber = JOptionPane.showInputDialog( “ secondNumber = JOptionPane.showInputDialog( “輸入第二個(gè)數(shù)輸入第二個(gè)數(shù) ” ”);); number1 = Integer.parseInt( firstNumber ); number1 = Integer.parseInt( firstNumber ); number2 = Integer.parseInt( secondNumber ); nu
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 寵物醫(yī)生助理崗位面試問題及答案
- UI 設(shè)計(jì)師崗位面試問題及答案
- 山東省東營市利津一中2025屆化學(xué)高一下期末監(jiān)測模擬試題含解析
- 2025屆云南省麗江市玉龍縣第一中學(xué)高一化學(xué)第二學(xué)期期末檢測試題含解析
- 江西省贛州市寧師中學(xué)2025年高二化學(xué)第二學(xué)期期末綜合測試模擬試題含解析
- 民事審判團(tuán)隊(duì)管理辦法
- 醫(yī)療安全事件管理辦法
- 保安公司公章管理辦法
- 桐鄉(xiāng)疫情出入管理辦法
- 江蘇公司商旅管理辦法
- 2025年武漢市漢陽區(qū)社區(qū)干事崗位招聘考試筆試試題(含答案)
- 接警調(diào)度培訓(xùn)課件
- 2025屆山東煙臺中考?xì)v史真題試卷【含答案】
- 志愿者心理調(diào)適培訓(xùn)(改)
- 個(gè)人信息保護(hù)與安全培訓(xùn)
- 基于響應(yīng)面法的工藝參數(shù)優(yōu)化研究
- 黨課課件含講稿:《關(guān)于加強(qiáng)黨的作風(fēng)建設(shè)論述摘編》輔導(dǎo)報(bào)告
- 國家開放大學(xué)行管??啤侗O(jiān)督學(xué)》期末紙質(zhì)考試總題庫2025春期版
- GB/T 3280-2015不銹鋼冷軋鋼板和鋼帶
- 1#球磨機(jī)襯板更換及方案
- 常用塑料改性加工工藝
評論
0/150
提交評論