JSP程序設(shè)計(jì)教程(第2章)_第1頁
JSP程序設(shè)計(jì)教程(第2章)_第2頁
JSP程序設(shè)計(jì)教程(第2章)_第3頁
JSP程序設(shè)計(jì)教程(第2章)_第4頁
JSP程序設(shè)計(jì)教程(第2章)_第5頁
已閱讀5頁,還剩122頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、JSP程序設(shè)計(jì)教程第2章 JSP開發(fā)基礎(chǔ)JSP程序設(shè)計(jì)教程課件 制作人:王國輝第 2 章 JSP開發(fā)基礎(chǔ)2.1 Java語言基礎(chǔ)2.2 JavaScript腳本語言課件制作人:王國輝2.1 Java語言基礎(chǔ) Java語言是由Sun公司于1995年推出的新一代編程語言。Java語言一經(jīng)推出,便受到了業(yè)界的廣泛關(guān)注,現(xiàn)已成為一種在Internet應(yīng)用中被廣泛使用的網(wǎng)絡(luò)編程語言。它具有簡單、面向?qū)ο?、可移植、分布性、解釋器通用性、穩(wěn)健、多線程、安全及高性能等語言特性。另外,Java語言還提供了豐富的類庫,方便用戶進(jìn)行自定義操作。課件制作人:王國輝2.1 Java語言基礎(chǔ)2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)2

2、.1.2 基本數(shù)據(jù)類型及基本數(shù)據(jù)類型間的轉(zhuǎn)換2.1.3 常量與變量2.1.4 運(yùn)算符的應(yīng)用2.1.5 流程控制語句2.1.6 字符串處理 2.1.7 數(shù)組的創(chuàng)建與應(yīng)用2.1.8 集合類的應(yīng)用2.1.9 異常處理語句課件制作人:王國輝2.2 JavaScript腳本語言 JavaScript是一種比較流行的制作網(wǎng)頁特效的腳本語言,它由客戶端瀏覽器解釋執(zhí)行,可以應(yīng)用在JSP、ASP和PHP等網(wǎng)站中。同時(shí),隨著Web2.0和Ajax技術(shù)進(jìn)入Web開發(fā)的主流市場,JavaScript已經(jīng)被推到了舞臺(tái)的中心。因此,熟練掌握并應(yīng)用JavaScript對(duì)于網(wǎng)站開發(fā)人員非常重要。下面將詳細(xì)介紹JavaScri

3、pt的基本語法及常用對(duì)象。課件制作人:王國輝2.2 JavaScript腳本語言2.2.1 JavaScript腳本語言概述2.2.2 在JSP中引入JavaScript2.2.3 JavaScript的數(shù)據(jù)類型與運(yùn)算符2.2.4 JavaScript的流程控制語句2.2.5 函數(shù)的定義和調(diào)用2.2.6 事件2.2.7 JavaScript常用對(duì)象的應(yīng)用課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì) 面向?qū)ο蟪绦蛟O(shè)計(jì)是軟件設(shè)計(jì)和實(shí)現(xiàn)的有效方法,這種方法可以提供軟件的可擴(kuò)充性和可重用性??陀^世界中的一個(gè)事物就是一個(gè)對(duì)象,每個(gè)客觀事物都有自己的特征和行為。從程序設(shè)計(jì)的角度來看,事物的特性就是數(shù)據(jù),

4、行為就是方法。一個(gè)事物的特性和行為可以傳給另一個(gè)事物,這樣就可以重復(fù)使用已有的特性或行為。當(dāng)某一個(gè)事物得到了其他事物傳給它的特性和行為,再添加上自己的特性和行為,就可以對(duì)已有的功能進(jìn)行擴(kuò)充。面向?qū)ο蟮某绦蛟O(shè)計(jì)方法就是利用客觀事物的這種特點(diǎn),將客觀事物抽象成為“類”,并通過類的“繼承”實(shí)現(xiàn)軟件的可擴(kuò)充性和可重用性。課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì) 1類的基本概念 Java語言與其他面向?qū)ο笳Z言一樣,引入了類和對(duì)象的概念,類是用來創(chuàng)建對(duì)象的模板,它包含被創(chuàng)建的對(duì)象的狀態(tài)描述和方法的定義。因此,要學(xué)習(xí)Java編程就必須學(xué)會(huì)怎樣去編寫類,即怎樣用Java的語法去描述一類事物共有的屬性和行

5、為。屬性通過變量來刻畫,行為通過方法來體現(xiàn),即方法操作屬性形成一定的算法來實(shí)現(xiàn)一個(gè)具體的功能。類把數(shù)據(jù)和對(duì)數(shù)據(jù)的操作封裝成一個(gè)整體。課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì) implements 接口列表:可選參數(shù),用于指定該類實(shí)現(xiàn)的是哪些接口。當(dāng)使用implements關(guān)鍵字時(shí),接口列表為必選參數(shù)。修飾符 class extends 父類名 implements 接口列表 修飾符:可選參數(shù),用于指定類的訪問權(quán)限,可選值為public、abstract和final。 類名:必選參數(shù),用于指定類的名稱,類名必須是合法的Java標(biāo)識(shí)符。一般情況下,要求首字母大寫。 extends父類名:可選

6、參數(shù),用于指定要定義的類繼承于哪個(gè)父類。當(dāng)使用extends關(guān)鍵字時(shí),父類名為必選參數(shù)。課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì) (2)類體修飾符 class extends 父類名 implements 接口列表 定義成員變量 定義成員方法 在類聲明部分的大括號(hào)中的內(nèi)容為類體。類體主要由兩部分構(gòu)成,一部分是成員變量的定義,另一部分是成員方法的定義。類體的定義格式如下:課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)3定義成員方法 Java中類的行為由類的成員方法來實(shí)現(xiàn)。類的成員方法由方法的聲明和方法體兩部分組成,其一般格式如下:修飾符 ( 參數(shù)列表) 方法體 修飾符:可選參數(shù),用于指定方

7、法的被訪問權(quán)限,可選值為public、protected和private。 方法返回值的類型:必選參數(shù),用于指定方法的返回值類型,如果該方法沒有返回值,可以使用關(guān)鍵字void進(jìn)行標(biāo)識(shí)。方法返回值的類型可以是任何Java數(shù)據(jù)類型。課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)修飾符 ( 參數(shù)列表) 方法體 方法名:必選參數(shù),用于指定成員方法的名稱,方法名必須是合法的Java標(biāo)識(shí)符。 參數(shù)列表:可選參數(shù),用于指定方法中所需的參數(shù)。當(dāng)存在多個(gè)參數(shù)時(shí),各參數(shù)之間應(yīng)使用逗號(hào)分隔。方法的參數(shù)可以是任何Java數(shù)據(jù)類型。 方法體:可選參數(shù),方法體是方法的實(shí)現(xiàn)部分,在方法體中可以定義局部變量。需要注意的是,當(dāng)

8、方法體省略時(shí),其外面的大括號(hào)一定不能省略。課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)【例2-1】 在Fruit類中聲明兩個(gè)成員方法 grow()和harvest()課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)4成員變量與局部變量 在類體中變量定義部分所聲明的變量為類的成員變量,而在方法體中聲明的變量和方法的參數(shù)則稱為局部變量。成員變量和局部變量的區(qū)別在于其有效范圍不同。成員變量在整個(gè)類內(nèi)都有效,而局部變量只在定義它的成員方法內(nèi)才有效。(1)聲明成員變量Java用成員變量來表示類的狀態(tài)和屬性,聲明成員變量的基本語法格式如下:課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)修飾符 static

9、 final transient volatile ; 修飾符:可選參數(shù),用于指定變量的被訪問權(quán)限,可選值為public、protected和private。 static:可選,用于指定該成員變量為靜態(tài)變量,可以直接通過類名訪問。如果省略該關(guān)鍵字,則表示該成員變量為實(shí)例變量。(2)聲明局部變量定義局部變量的基本語法格式同定義成員變量類似,所不同的是不能使用public、protected、private和static關(guān)鍵字對(duì)局部變量進(jìn)行修飾,但可以使用final關(guān)鍵字。語法格式如下:課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)final ; final:可選,用于指定該局部變量為常量。 變

10、量類型:必選參數(shù):用于指定變量的數(shù)據(jù)類型,其值為Java中的任何一種數(shù)據(jù)類型?!纠?-2】 成員變量和局部變量示例在Fruit類中聲明3個(gè)成員變量,并且在其成員方法grow()中聲明兩個(gè)局部變量。 變量名:必選參數(shù),用于指定局部變量的名稱,變量名必須是合法的Java標(biāo)識(shí)符。課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)5構(gòu)造方法的概念及用途 構(gòu)造方法是一種特殊的方法,它的名字必須與它所在類的名字完全相同,并且沒有返回值,也不需要使用關(guān)鍵字void進(jìn)行標(biāo)識(shí)。構(gòu)造方法用于對(duì)對(duì)象中的所有成員變量進(jìn)行初始化,在創(chuàng)建對(duì)象時(shí)立即被調(diào)用。需要注意的是,如果用戶沒有定義構(gòu)造方法,Java會(huì)自動(dòng)提供一個(gè)默認(rèn)的構(gòu)

11、造方法,用來實(shí)現(xiàn)成員變量的初始。課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)6創(chuàng)建Java類對(duì)象 在Java中,創(chuàng)建對(duì)象包括聲明對(duì)象和為對(duì)象分配內(nèi)存兩部分,下面分別進(jìn)行介紹。(1)聲明對(duì)象 對(duì)象是類的實(shí)例,屬于某個(gè)已經(jīng)聲明的類。因此,在對(duì)對(duì)象進(jìn)行聲明之前,一定要先定義該對(duì)象的類。聲明對(duì)象的一般格式如下:課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)類名 對(duì)象名; 類名:必選,用于指定一個(gè)已經(jīng)定義的類。 對(duì)象名:必選,用于指定對(duì)象名稱,對(duì)象名必須是合法的Java標(biāo)識(shí)符。 在聲明對(duì)象時(shí),只是在內(nèi)存中為其建立一個(gè)引用,并置初值為null,表示不指向任何內(nèi)存空間,因此,還需要為對(duì)象分配內(nèi)存。 例如,

12、聲明Fruit類的一個(gè)對(duì)象fruit的代碼如下:Fruit fruit;課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì) 為對(duì)象分配內(nèi)存也稱為實(shí)例化對(duì)象。在Java中使用關(guān)鍵字new來實(shí)例化對(duì)象,具體語法格式如下:(3)為對(duì)象分配內(nèi)存對(duì)象名=new 構(gòu)造方法名(參數(shù)列表); 對(duì)象名:必選,用于指定已經(jīng)聲明的對(duì)象名。 構(gòu)造方法名:必選,用于指定構(gòu)造方法名,即類名,因?yàn)闃?gòu)造方法與類名相同。 參數(shù)列表:可選參數(shù),用于指定構(gòu)造方法的入口參數(shù)。如果構(gòu)造方法無參數(shù),則可以省略。課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì) 在上面的代碼中,由于Fruit類的構(gòu)造方法無入口參數(shù),所以省略了參數(shù)列表。 例如,在

13、聲明Fruit類的一個(gè)對(duì)象fruit后,可以通過以下代碼為對(duì)象fruit分配內(nèi)存:fruit=new Fruit(); 在聲明對(duì)象時(shí),也可直接為其分配內(nèi)存。例如,上面的聲明對(duì)象和為對(duì)象分配內(nèi)存的功能也可以通過以下代碼實(shí)現(xiàn)。Fruit fruit=new Fruit();課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)7對(duì)象的使用 創(chuàng)建對(duì)象后,就可以通過對(duì)象來引用其成員變量,并改變成員變量的值,而且還可以通過對(duì)象來調(diào)用其成員方法。通過使用運(yùn)算符“.”實(shí)現(xiàn)對(duì)成員變量的訪問和成員方法的調(diào)用?!纠?-3】 對(duì)象的使用方法課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)8對(duì)象的銷毀 在許多程序設(shè)計(jì)語言中,需

14、要手動(dòng)釋放對(duì)象所占用的內(nèi)存,但是,在Java中則不需要手動(dòng)完成這項(xiàng)工作。Java提供的垃圾回收機(jī)制可以自動(dòng)判斷對(duì)象是否還在使用,并能夠自動(dòng)銷毀不再使用的對(duì)象,收回對(duì)象所占用的資源。 Java提供了一個(gè)名為finalize()的析構(gòu)方法,用于在對(duì)象被垃圾回收機(jī)制銷毀之前,由垃圾回收系統(tǒng)調(diào)用。但是垃圾回收系統(tǒng)的運(yùn)行是不可預(yù)測(cè)的。因此,在Java程序中,也可以使用析構(gòu)方法finalize()隨時(shí)來銷毀一個(gè)對(duì)象。析構(gòu)方法finalize()沒有任何參數(shù)和返回值,每個(gè)類有且只有一個(gè)析構(gòu)方法。課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)9包的使用 包(package)是Java提供的一種區(qū)別類的名字空間

15、的機(jī)制,是類的組織方式,是一組相關(guān)類和接口的集合,它提供了訪問權(quán)限和命名的管理機(jī)制。Java中提供的包主要有以下3種用途: 將功能相近的類放在同一個(gè)包中,可以方便查找與使用; 由于在不同包中可以存在同名類,所以使用包在一定程度上可以避免命名沖突; 在Java中,某些訪問權(quán)限是以包為單位的。課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì) 創(chuàng)建包可以通過在類或接口的源文件中使用package語句實(shí)現(xiàn),package語句的語法格式如下:(1)創(chuàng)建包package 包名; 包名:必選,用于指定包的名稱,包的名稱為合法的Java標(biāo)識(shí)符。當(dāng)包中還有包時(shí),可以使用“包1.包2.包n”進(jìn)行指定,其中,包1為最

16、外層的包,而包n則為最內(nèi)層的包。package語句通常位于類或接口源文件的第一行。例如,定義一個(gè)類SimpleH,將其放入com.wgh包中的代碼如下:課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)package com.wgh;public class SimpleH /此處省略了類體的代碼 類可以訪問其所在包中的所有類,還可以使用其他包中的所有public類。訪問其他包中的public類可以有以下兩種方法。(2)使用包中的類使用長名引用包中的類。課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)使用長名引用包中的類比較簡單,只需要在每個(gè)類名前面簡單地加上完整的包名即可。例如,創(chuàng)建Circ類(保

17、存在com.wgh包中)的對(duì)象并實(shí)例化該對(duì)象的代碼如下:com.wgh.Circ circ=new com.wgh.Circ();使用import語句引入包中的類由于采用使用長名引用包中的類的方法比較繁瑣,所以Java提供了import語句來引入包中的類。import語句的基本語法格式如下:課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)import 包名1.包名2.類名|*; 當(dāng)存在多個(gè)包名時(shí),各個(gè)包名之間使用“.”分隔,同時(shí)包名與類名之間也使用“.”分隔。*:表示包中所有的類。如果com.wgh包中包含多個(gè)類,也可以使用以下語句引入該包下的全部類: 例如,引入com.wgh包中的Circ類的

18、代碼如下:import com.wgh.Circ;import com.wgh.*;課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì) 2定義類 在Java中定義類主要分為兩部分:類的聲明和類體。(1)類聲明 在類聲明中,需要定義類的名稱、對(duì)該類的訪問權(quán)限和該類與其他類的關(guān)系等。類聲明的格式如下:修飾符 class extends 父類名 implements 接口列表 修飾符:可選參數(shù),用于指定類的訪問權(quán)限,可選值為public、abstract和final。課件制作人:王國輝2.1.2 基本數(shù)據(jù)類型及基本數(shù)據(jù)類型間的轉(zhuǎn)換1基本數(shù)據(jù)類型 Java基本數(shù)據(jù)類型主要包括整數(shù)類型、浮點(diǎn)類型、字符類型和

19、布爾類型。其中整數(shù)類型又分為字節(jié)型(byte)、短整型(short)、整型(int)和長整型(long),它們都用來定義一個(gè)整數(shù),唯一的區(qū)別就是它們所定義的整數(shù)所占用內(nèi)存的空間不同,因此整數(shù)的取值范圍也不同;Java中的浮點(diǎn)類型又包括單精度類型(float)和雙精度類型(double),在程序中使用這兩種類型來存儲(chǔ)小數(shù)。 Java中的各種基本數(shù)據(jù)類型及它們的取值范圍、占用的內(nèi)存大小和默認(rèn)值,如表下表所示。課件制作人:王國輝2.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)各種基本數(shù)據(jù)類型的取值范圍、占用的內(nèi)存大小及默認(rèn)值數(shù) 據(jù) 類 型關(guān)鍵字占用內(nèi)存取 值 范 圍默認(rèn)值整數(shù)類型字節(jié)型byte8位1281270短整型s

20、hort16位32768327670整型int32位214748364821474836470長整型long64位922337203685477580892233720368547758070浮點(diǎn)類型單精度型float32位1.4E-453.4028235E380.0f雙精度型double64位4.9E-3241.7976931348623157E3080.0d字符型字符型char16位16位的Unicode字符,可容納各國的字符集;若以Unicode來看,就是u0000到uufff;若以整數(shù)來看,范圍在065535,例如,65代表Au0000布爾型布爾型boolean8位true和false

21、false課件制作人:王國輝2.1.2 基本數(shù)據(jù)類型及基本數(shù)據(jù)類型間的轉(zhuǎn)換 2基本數(shù)據(jù)類型間的轉(zhuǎn)換 在Java語言中,當(dāng)多個(gè)不同基本數(shù)據(jù)類型的數(shù)據(jù)進(jìn)行混合運(yùn)算時(shí),如整型、浮點(diǎn)型和字符型進(jìn)行混合運(yùn)算,需要先將它們轉(zhuǎn)換為統(tǒng)一的類型,然后再進(jìn)行計(jì)算。在Java中,基本數(shù)據(jù)類型之間的轉(zhuǎn)換可分為自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換兩種。(1)自動(dòng)類型轉(zhuǎn)換 從低級(jí)類型向高級(jí)類型的轉(zhuǎn)換為自動(dòng)類型轉(zhuǎn)換,這種轉(zhuǎn)換將由系統(tǒng)按照各數(shù)據(jù)類型的級(jí)別從低到高自動(dòng)完成,Java編程人員無需進(jìn)行任何操作。在Java中各基本數(shù)據(jù)類型間的級(jí)別如下圖所示。課件制作人:王國輝2.1.2 基本數(shù)據(jù)類型及基本數(shù)據(jù)類型間的轉(zhuǎn)換(2)強(qiáng)制類型轉(zhuǎn)換如果

22、把高級(jí)數(shù)據(jù)類型數(shù)據(jù)賦值給低級(jí)類型變量,就必須進(jìn)行強(qiáng)制類型轉(zhuǎn)換,否則編譯出錯(cuò)。強(qiáng)制類型轉(zhuǎn)換格式如下:其中“值”可以字面常數(shù)或者變量,例如:(欲轉(zhuǎn)換成的數(shù)據(jù)類型)值short s1=65,s2;char c1=a,c2;s2=(short)c1;/將char型強(qiáng)制轉(zhuǎn)換為short型,s2值為:97c2=(char)s1;/將short型強(qiáng)制轉(zhuǎn)換為char型,c2值為:A.課件制作人:王國輝2.1.3 常量與變量1變量 變量是Java程序中的基本存儲(chǔ)單元,它的定義包括變量名、變量類型和作用域幾個(gè)部分。(1)變量名是一個(gè)合法的標(biāo)識(shí)符,它是字母、數(shù)字、下劃線或美元符“$”的序列,Java對(duì)變量名區(qū)分大小

23、寫,變量名不能以數(shù)字開頭,而且不能為關(guān)鍵字。合法的變量名如pwd、value_1、money$等。非法的變量名如3Three、house#、final(關(guān)鍵字)。(2)變量類型用于指定變量的數(shù)據(jù)類型,可以通過int、float、double和char等關(guān)鍵字來指定。例如下面的代碼:課件制作人:王國輝2.1.3 常量與變量int number;/定義整型變量long numberL;/定義長整型變量short numberS;/定義短整型變量float numberF;/定義單精度變量double numberD;/定義雙精度變量char strC;/定義字符變量(3)變量的有效范圍是指程序代碼

24、能夠訪問該變量的區(qū)域,若超出該區(qū)域訪問變量,則編譯時(shí)會(huì)出現(xiàn)錯(cuò)誤。有效范圍決定了變量的生命周期,變量的生命周期是指從聲明一個(gè)變量并分配內(nèi)存空間開始,到釋放該變量并清除所占用內(nèi)存空間結(jié)束。進(jìn)行變量聲明的位置,決定了變量的有效范圍,根據(jù)有效范圍的不同,可將變量分為以下兩種。課件制作人:王國輝2.1.3 常量與變量(1)成員變量:在類中聲明,在整個(gè)類中有效。(2)局部變量:在方法內(nèi)或方法內(nèi)的某代碼塊(方法內(nèi)部,“”與“”之間的代碼)中聲明的變量。在代碼塊中聲明的變量,只在當(dāng)前代碼塊中有效;在代碼塊外、方法內(nèi)聲明的變量,在整個(gè)方法內(nèi)都有效。 通過以下代碼可以了解成員變量和局部變量的聲明及使用范圍。課件制

25、作人:王國輝2.1.3 常量與變量public class Game private int medal_All=800; /成員變量 public void China() int medal_CN=100; /方法的局部變量 if(true) /代碼塊 int gold=50; /代碼塊的局部變量 medal_CN+=50; /允許訪問 medal_All-=150; /允許訪問 gold=100; /編譯出錯(cuò) medal_CN+=100; /允許訪問 medal_All-=200; /允許訪問 public void Other() medal_All=800; /允許訪問 medal_

26、CN=100; /編譯出錯(cuò),不能訪問其他方法中的局部變量 gold=10; /編譯出錯(cuò) 課件制作人:王國輝2.1.3 常量與變量2常量 在Java中寫下一個(gè)數(shù)值,這個(gè)數(shù)就稱為字面常數(shù)。它會(huì)存儲(chǔ)于內(nèi)存中的某個(gè)位置,用戶將無法改變它的值。Java中的常量值是用文字串表示的,它區(qū)分為不同的類型,如整型常量321、實(shí)型常量3.21、字符常量a、布爾常量“true”和“false”及字符串常量“One World One Dream”。 在Java中,也可以用final關(guān)鍵字來定義常量。通常情況下,在通過final關(guān)鍵字定義常量時(shí),常量名全部為大寫字母。需要說明的是,由于常量在程序執(zhí)行過程中保持不變,所

27、以在常量定義后,如果再次對(duì)該常量進(jìn)行賦值,程序?qū)?huì)出錯(cuò)。課件制作人:王國輝2.1.4 運(yùn)算符的應(yīng)用1賦值運(yùn)算符 在Java語言中表達(dá)各種運(yùn)算的符號(hào)叫做運(yùn)算符。Java運(yùn)算符主要可分為:賦值運(yùn)算符、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符及條件運(yùn)算符,下面將分別進(jìn)行介紹。 Java中的賦值運(yùn)算符可以分為簡單賦值運(yùn)算和復(fù)合賦值運(yùn)算。簡單賦值運(yùn)算是將賦值運(yùn)算符(=)右邊的表達(dá)式的值保存到賦值運(yùn)算符左邊的變量中,復(fù)合賦值運(yùn)算是混合了其他操作(算術(shù)運(yùn)算操作、位操作等)和賦值操作,如:課件制作人:王國輝2.1.4 運(yùn)算符的應(yīng)用sum+=i;/等同于sum=sum+i;Java中的賦值運(yùn)算符如下表所示。

28、運(yùn)算符說 明運(yùn)算符說 明=簡單賦值&=進(jìn)行與運(yùn)算后賦值+=相加后賦值|=進(jìn)行或運(yùn)算后賦值=相減后賦值=進(jìn)行異或運(yùn)算后賦值*=相乘后賦值=帶符號(hào)右移后賦值%=求余后賦值=填充零右移后賦值課件制作人:王國輝2.1.4 運(yùn)算符的應(yīng)用2算術(shù)運(yùn)算符 Java中的算術(shù)運(yùn)算符包括:+(加號(hào))、()減號(hào)、*(乘號(hào))、/(除號(hào))和%(求余)。算術(shù)運(yùn)算符支持整型和浮點(diǎn)型數(shù)據(jù)的運(yùn)算,當(dāng)整型與浮點(diǎn)型數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算時(shí),會(huì)進(jìn)行自動(dòng)類型轉(zhuǎn)換,結(jié)果為浮點(diǎn)型。 Java中算術(shù)運(yùn)算符的功能及使用方式如下表所示。運(yùn)算符說 明舉 例結(jié)果及類型+加法1.23f+10結(jié)果:11.23 類型:float 減法4.56-0.5f結(jié)果:4.

29、06 類型:double*乘法3*9L結(jié)果:27 類型:long/除法9/4結(jié)果:2 類型:int%求余數(shù)10%3結(jié)果:1 類型:int課件制作人:王國輝2.1.4 運(yùn)算符的應(yīng)用3關(guān)系運(yùn)算符 通過關(guān)系運(yùn)算符計(jì)算的結(jié)果是一個(gè)boolean類型值。對(duì)于應(yīng)用關(guān)系運(yùn)算符的表達(dá)式,計(jì)算機(jī)將判斷運(yùn)算對(duì)象之間通過關(guān)系運(yùn)算符指定的關(guān)系是否成立,若成立則表達(dá)式的返回值為true,否則為false。 關(guān)系運(yùn)算符包括:(大于)、=(大于或等于)、大于abfalse=小于或等于1.67f=1.67ftrue100true=等于1.0=1true=大于或等于11.11=10true!=不等于天!=天false4邏輯運(yùn)算

30、符 邏輯運(yùn)算符經(jīng)常用來連接關(guān)系表達(dá)式,對(duì)關(guān)系表達(dá)式的值進(jìn)行邏輯運(yùn)算,因此邏輯運(yùn)算符的運(yùn)算對(duì)象必須是邏輯型數(shù)據(jù),其邏輯表達(dá)式的運(yùn)行結(jié)果也是邏輯型數(shù)據(jù)。Java中的邏輯運(yùn)算符如下表所示。課件制作人:王國輝2.1.4 運(yùn)算符的應(yīng)用運(yùn)算符意 義運(yùn) 算 結(jié) 果&邏輯與true&true:true,false&false:false,true&false:false|邏輯或true!true:true,false!false:false,true!false:true異或true&true:false,false&false:false,true&false:true|短路或true&true:true,

31、false&false:false,true&false:true&短路與true&true:true,false&false:false,true&false:false!邏輯反!true:false,!false:true=相等true=true:true,false=false:true,true=false:false!=不相等true!=true:false,false!=false:false,true!=false:true課件制作人:王國輝2.1.4 運(yùn)算符的應(yīng)用5位運(yùn)算符 位運(yùn)算符用于對(duì)數(shù)值的位進(jìn)行操作,參與運(yùn)算的操作數(shù)只能是int或long類型。在不產(chǎn)生溢出的情況下,左移一

32、位相當(dāng)于乘以2,用左移實(shí)現(xiàn)乘法運(yùn)算的速度比通常的乘法運(yùn)算速度快。Java中的位運(yùn)算符如下表所示。課件制作人:王國輝2.1.4 運(yùn)算符的應(yīng)用運(yùn)算符說 明實(shí) 例&轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)進(jìn)行與運(yùn)算1&1=1, 1&0=0, 0&1=0, 0&0=0|轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)進(jìn)行或運(yùn)算1|1=1, 1|0=1, 0|1=1, 0|0=0轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)進(jìn)行異或運(yùn)算11=0, 10=1, 01=1, 00=0進(jìn)行數(shù)值的相反數(shù)減1運(yùn)算50= -50-1= -51向右移位15 1 = 7向左移位15 向右移位15 1 = 7=左移賦值運(yùn)算符n 3等價(jià)于n = n =右移賦值運(yùn)算符n 3等價(jià)于n = n 3=無符號(hào)右移賦值

33、運(yùn)算符n 3等價(jià)于n = n 3課件制作人:王國輝2.1.4 運(yùn)算符的應(yīng)用6條件運(yùn)算符條件運(yùn)算符是三元運(yùn)算符,其語法格式如下: ? a : b 其中,表達(dá)式值的類型為邏輯型。若表達(dá)式的值為true,則返回a的值;若表達(dá)式的值為false,則返回b的值。 【例2-4】 應(yīng)用條件運(yùn)算符輸出庫存信息課件制作人:王國輝2.1.4 運(yùn)算符的應(yīng)用7自動(dòng)遞增、遞減運(yùn)算符與C、C+相同,Java語言也提供了自動(dòng)遞增與遞減運(yùn)算符,其作用是自動(dòng)將變量值加1或減1。它們既可以放在操作元的前面,也可以放在操作元的后面,根據(jù)運(yùn)算符位置的不同,最終得到的結(jié)果也是不同的:放在操作元前面的自動(dòng)遞增、遞減運(yùn)算符,會(huì)先將變量的值

34、加1,然后再使該變量參與表達(dá)式的運(yùn)算;放在操作元后面的遞增、遞減運(yùn)算符,會(huì)先使變量參與表達(dá)式的運(yùn)算,然后再將該變量加1。例如:課件制作人:王國輝2.1.4 運(yùn)算符的應(yīng)用int n1=3;int n2=3;int a=2+(+n1);/先將變量n1加1,然后再執(zhí)行2+4int b=2+(n2+);/先執(zhí)行2+3,然后再將變量n2加1System.out.println(a);/輸出結(jié)果為:6System.out.println(b);/輸出結(jié)果為:5System.out.println(n1);/輸出結(jié)果為:4System.out.println(n2);/輸出結(jié)果為:4說明:自動(dòng)遞增、遞減運(yùn)算

35、符的操作元只能為變量,不能為字面常數(shù)和表達(dá)式,且該變量類型必須為整型、浮點(diǎn)型或Java包裝類型。例如,+1、(n+2)+都是不合法的。課件制作人:王國輝2.1.5 流程控制語句1分支語句 Java語言中,流程控制語句主要有分支語句、循環(huán)語句和跳轉(zhuǎn)語句3種。 所謂分支語句,就是對(duì)語句中不同條件的值進(jìn)行判斷,進(jìn)而根據(jù)不同的條件執(zhí)行不同的語句。在分支語句中主要有以下兩個(gè)語句: If條件語句 switch多分支語句課件制作人:王國輝Ifelse語句 if.else語句是條件語句最常用的一種形式,它針對(duì)某種條件有選擇地做出處理。通常表現(xiàn)為“如果滿足某種條件,就進(jìn)行某種處理,否則就進(jìn)行另一種處理”。其語法

36、格式如下:if(條件表達(dá)式) 語句序列1else 語句序列2條件表達(dá)式:必要參數(shù)。其值可以由多個(gè)表達(dá)式組成,但是其最后結(jié)果一定是boolean類型,也就是其結(jié)果只能是true或false。課件制作人:王國輝Ifelse語句if(條件表達(dá)式) 語句序列1else 語句序列2語句序列1:可選參數(shù)。一條或多條語句,當(dāng)表達(dá)式的值為true時(shí)執(zhí)行這些語句。語句序列2:可選參數(shù)。一條或多條語句,當(dāng)表達(dá)式的值為false時(shí)執(zhí)行這些語句。if.else條件語句的執(zhí)行過程如下圖所示。課件制作人:王國輝Ifelse語句【例2-5】 if.else語句示例課件制作人:王國輝switch多分支語句 switch語句是

37、多分支選擇語句,常用來根據(jù)表達(dá)式的值選擇要執(zhí)行的語句。switch語句的基本語法格式如下:switch(表達(dá)式) case 常量表達(dá)式1: 語句序列1 break; case 常量表達(dá)式2: 語句序列2 break; case 常量表達(dá)式n: 語句序列n break; default: 語句序列n+1 break;課件制作人:王國輝switch多分支語句 表達(dá)式:必要參數(shù)。可以是任何byte、short、int和char類型的變量。 常量表達(dá)式1:如果有case出現(xiàn),則為必要參數(shù)。該常量表達(dá)式的值必須是一個(gè)與表達(dá)式數(shù)據(jù)類型相兼容的值。 語句序列1:可選參數(shù)。一條或多條語句,但不需要大括號(hào)。當(dāng)表

38、達(dá)式的值與常量表達(dá)式1的值匹配時(shí)執(zhí)行;如果不匹配則繼續(xù)判斷其他值,直到常量表達(dá)式n。 常量表達(dá)式n:如果有case出現(xiàn),則為必要參數(shù)。該常量表達(dá)式的值必須是一個(gè)與表達(dá)式數(shù)據(jù)類型相兼容的值。課件制作人:王國輝switch多分支語句 語句序列n:可選參數(shù)。一條或多條語句,但不需要大括號(hào)。當(dāng)表達(dá)式的值與常量表達(dá)式n的值匹配時(shí)執(zhí)行。 break;:可選參數(shù)。用于跳出switch語句。 default:可選參數(shù)。如果沒有該參數(shù),則當(dāng)所有匹配不成功時(shí),將不會(huì)執(zhí)行任何操作。 語句序列n+1:可選參數(shù)。如果沒有與表達(dá)式的值相匹配的case常量時(shí),將執(zhí)行語句序列n+1。 switch語句的執(zhí)行流程如下圖所示。課

39、件制作人:王國輝Ifelse語句【例2-6】 switch語句示例課件制作人:王國輝2.1.5 流程控制語句2循環(huán)語句 所謂循環(huán)語句,主要就是在滿足條件的情況下反復(fù)執(zhí)行某一個(gè)操作。在Java中,提供了3種常用的循環(huán)語句,分別是: for 循環(huán)語句 while 循環(huán)語句 do.while循環(huán)語句課件制作人:王國輝for循環(huán)語句 for循環(huán)語句也稱為計(jì)次循環(huán)語句,一般用于循環(huán)次數(shù)已知的情況。for循環(huán)語句的基本語法格式如下:for(初始化語句;循環(huán)條件;迭代語句) 語句序列初始化語句:為循環(huán)變量賦初始值的語句,該語句在整個(gè)循環(huán)語句中只執(zhí)行一次。循環(huán)條件:決定是否進(jìn)行循環(huán)的表達(dá)式,其結(jié)果為boole

40、an類型,也就是其結(jié)果只能是true或false。迭代語句:用于改變循環(huán)變量的值的語句。語句序列:也就是循環(huán)體,在循環(huán)條件的結(jié)果為true時(shí),重復(fù)執(zhí)行。課件制作人:王國輝for循環(huán)語句 for循環(huán)語句執(zhí)行的過程是:先執(zhí)行為循環(huán)變量賦初始值的語句,然后判斷循環(huán)條件,如果循環(huán)條件的結(jié)果為true,則執(zhí)行一次循環(huán)體,否則直接退出循環(huán),最后執(zhí)行迭代語句,改變循環(huán)變量的值,至此完成一次循環(huán),接下來將進(jìn)行下一次循環(huán),直到循環(huán)條件的結(jié)果為false,才結(jié)束循環(huán)。for循環(huán)語句的執(zhí)行流程如下圖所示。課件制作人:王國輝while循環(huán)語句 while循環(huán)語句也稱為前測(cè)試循環(huán)語句,它的循環(huán)重復(fù)執(zhí)行方式,是利用一個(gè)條

41、件來控制是否要繼續(xù)重復(fù)執(zhí)行這個(gè)語句。while循環(huán)語句與for循環(huán)語句相比,無論是語法還是執(zhí)行的流程,都較為簡明易懂。while循環(huán)語句的基本語法格式如下:while(條件表達(dá)式) 語句序列條件表達(dá)式:決定是否進(jìn)行循環(huán)的表達(dá)式,其結(jié)果為boolean類型,也就是其結(jié)果只能是true或false。語句序列:也就是循環(huán)體,在條件表達(dá)式的結(jié)果為true時(shí),重復(fù)執(zhí)行。課件制作人:王國輝while循環(huán)語句 while循環(huán)語句執(zhí)行的過程是:先判斷條件表達(dá)式,如果條件表達(dá)式的值為true,則執(zhí)行循環(huán)體,并且在循環(huán)體執(zhí)行完畢后,進(jìn)入下一次循環(huán),否則退出循環(huán)。while循環(huán)語句的執(zhí)行流程如下圖所示。課件制作人:

42、王國輝do.while循環(huán)語句 dowhile循環(huán)語句也稱為后測(cè)試循環(huán)語句,它的循環(huán)重復(fù)執(zhí)行方式,也是利用一個(gè)條件來控制是否要繼續(xù)重復(fù)執(zhí)行這個(gè)語句。與while循環(huán)所不同的是,它先執(zhí)行一次循環(huán)語句,然后再去判斷是否繼續(xù)執(zhí)行。do.while循環(huán)語句的基本語法格式如下:do 語句序列 while(條件表達(dá)式); /注意!語句結(jié)尾處的分號(hào);一定不能少語句序列:也就是循環(huán)體,循環(huán)開始時(shí)首先被執(zhí)行一次,然后在條件表達(dá)式的結(jié)果為true時(shí),重復(fù)執(zhí)行。條件表達(dá)式:決定是否進(jìn)行循環(huán)的表達(dá)式,其結(jié)果為boolean類型,也就是其結(jié)果只能是true或false。課件制作人:王國輝Dowhile循環(huán)語句 do.w

43、hile循環(huán)語句的執(zhí)行流程如下圖所示?!纠?-7】 循環(huán)語句示例課件制作人:王國輝2.1.5 流程控制語句3跳轉(zhuǎn)語句 Java語言中提供了3種跳轉(zhuǎn)語句,分別是: break跳轉(zhuǎn)語句 break語句可以應(yīng)用在for、while和do.while循環(huán)語句中,用于強(qiáng)行退出循環(huán),也就是忽略循環(huán)體中任何其他語句和循環(huán)條件的限制。 continue跳轉(zhuǎn)語句continue語句只能應(yīng)用在for、while和do.while循環(huán)語句中,用于讓程序直接跳過其后面的語句,進(jìn)行下一次循環(huán)。 return跳轉(zhuǎn)語句課件制作人:王國輝2.1.5 流程控制語句 return語句可以從一個(gè)方法返回,并把控制權(quán)交給調(diào)用它的語句

44、。它的語法格式如下:return 表達(dá)式; 表達(dá)式:可選參數(shù),表示要返回的值。它的數(shù)據(jù)類型必須同方法聲明中的返回值類型一致,這可以通過強(qiáng)制類型轉(zhuǎn)換實(shí)現(xiàn)。 return語句通常被放在被調(diào)用方法的最后,用于退出當(dāng)前方法并返回一個(gè)值。當(dāng)把單獨(dú)的return語句放在一個(gè)方法的中間時(shí),會(huì)產(chǎn)生“Unreachable code”的編譯錯(cuò)誤。但是可以通過把return語句用if語句括起來的方法,將return語句放在一個(gè)方法中間,用來實(shí)現(xiàn)在程序未執(zhí)行完方法中的全部語句時(shí)退出。課件制作人:王國輝2.1.6 字符串處理1字符串的聲明 字符串由一連串字符組成,它可以包含字母、數(shù)字、特殊符號(hào)、空格或中文字,只要是鍵

45、盤能輸入的文字都可以。它的表示方法是在文字兩邊加雙引號(hào),例如:“簡單”或“world”等都是合法字符。Java以類型的方法來處理字符串。所有以雙引號(hào)包圍的字符串常數(shù),Java的編譯器都會(huì)將它編譯為String類對(duì)象。 在Java中,對(duì)于字符串的處理,均由Java.lang包中的String類完成。下面是聲明字符串變量的語法。(1)初始化一個(gè)新創(chuàng)建的String對(duì)象,它表示一個(gè)空字符序列。聲明代碼如下:課件制作人:王國輝2.1.6 字符串處理String()(2)導(dǎo)入?yún)?shù)。聲明代碼如下:String(String name)String name = new String(簡單);該方法創(chuàng)建帶有

46、內(nèi)容的字符串,使用雙引號(hào)標(biāo)識(shí)。利用new關(guān)鍵字,調(diào)用Strng類產(chǎn)生一個(gè)字符串對(duì)象,并設(shè)置字符串的值。例如下面的代碼:name是String類的對(duì)象,“簡單”指的是字符串內(nèi)容。例如,要在網(wǎng)頁中輸出文字“平平淡淡才是真!快快樂樂才是福!”,可以寫成以下代碼:課件制作人:王國輝2.1.6 字符串處理(3)導(dǎo)入一個(gè)char數(shù)組。聲明代碼如下:String(char value);課件制作人:王國輝2.1.6 字符串處理 該方法產(chǎn)生的String對(duì)象,內(nèi)含的是value參數(shù)(char類型)所代表的字符串內(nèi)容。字符串是常量;它們的值在創(chuàng)建之后不能改變。字符串緩沖區(qū)支持可變的字符串。因?yàn)镾tring對(duì)象是

47、不可變的,所以可以共享它們。例如下面的代碼:String str = abc;等效于:char data = a, b, c;String str = new String(data);(4)導(dǎo)入一個(gè)char數(shù)組并決定元素值范圍。聲明代碼如下:課件制作人:王國輝2.1.6 字符串處理String(char value,int offset,int count)該方法產(chǎn)生的String對(duì)象內(nèi)含的字符串內(nèi)容,是由value字符數(shù)組中取出的字符所組成。在該字符串中,第一個(gè)字符的索引位置為0。例如下面的代碼:char myL = 簡,單,快,樂;String str3 = new String(myL

48、,1,2);System.out.println(Str3 = + Str3);輸出結(jié)果:Str3 = 單快(5)導(dǎo)入一個(gè)byte數(shù)組。聲明代碼如下:課件制作人:王國輝2.1.6 字符串處理String(byte bytes)該方法產(chǎn)生的String對(duì)象,其內(nèi)含的是bytes參數(shù)(byte類型)代表的字符串內(nèi)容,而一個(gè)英文字母是以一個(gè)byte表示,一個(gè)中文則以2個(gè)byte表示。(6)導(dǎo)入一個(gè)byte數(shù)組并決定元素值范圍。聲明代碼如下:String (byte bytes,int offset,int length)該方法產(chǎn)生的String對(duì)象,其包含的是字符串內(nèi)容,是由bytes數(shù)組元素取出的

49、一個(gè)byte類型的值所轉(zhuǎn)化而成。由offset參數(shù)指定要從哪個(gè)默認(rèn)值開始,length參數(shù)決定要取多少個(gè)元素。課件制作人:王國輝2.1.6 字符串處理(7)導(dǎo)入一個(gè)StringBuffer對(duì)象。聲明代碼如下:String(StringBuffer buffer) 該方法產(chǎn)生的String對(duì)象,其內(nèi)含的字符串,等同于buffer參數(shù)(StringBuffer對(duì)象)所存放的字符串內(nèi)容。2字符串類的常用方法 String字符串類的常用方法及含義如表所示。課件制作人:王國輝String字符串類的常用方法及含義方 法 名 稱方 法 含 義boolean endsWith(String suffix) 測(cè)

50、試此字符串是否以指定的后綴結(jié)束boolean equals(Object anObject)比較此字符串與指定的對(duì)象boolean equalsIgnoreCase(String anotherString)將此String與另一個(gè)String進(jìn)行比較,不考慮大小寫int indexOf()返回指定字符串在另一個(gè)字符串中的索引位置int lastIndexOf()返回最后一次出現(xiàn)的指定字符在另一個(gè)字符串中的索引位置int length()返回此字符串的長度String replace(char oldChar, char newChar)返回一個(gè)新的字符串,它是通過用newChar替換此字符串

51、中出現(xiàn)的所有oldChar而生成的boolean startsWith(String prefix)測(cè)試指定字符串是否以指定的前綴開始String substring()返回一個(gè)字符串的子串char toCharArray()將指定字符串轉(zhuǎn)換為一個(gè)新的字符數(shù)組String toLowerCase()將指定字符串中的所有字符都轉(zhuǎn)換為小寫String toUpperCase()將指定字符串中的所有字符都轉(zhuǎn)換為大寫String trim()返回字符串的副本,忽略前導(dǎo)空白和尾部空白static String valueOf(boolean b)返回指定參數(shù)的字符串表示形式課件制作人:王國輝2.1.6

52、字符串處理【例2-8】 字符串應(yīng)用實(shí)例課件制作人:王國輝2.1.7 數(shù)組的創(chuàng)建與應(yīng)用1一維數(shù)組 數(shù)組是由多個(gè)元素組成的,每個(gè)單獨(dú)的數(shù)組元素,就相當(dāng)于一個(gè)變量,可用來保存數(shù)據(jù),因此可以將數(shù)組視為一連串變量的組合。根據(jù)數(shù)組存放元素的復(fù)雜程度,可將數(shù)組依次分為一維數(shù)組、二維數(shù)組及多維(三維以上)數(shù)組。 Java中的數(shù)組必須先聲明,然后才能使用。聲明一維數(shù)組有以下兩種格式:數(shù)據(jù)類型 數(shù)組名 = new 數(shù)據(jù)類型個(gè)數(shù);數(shù)據(jù)類型 數(shù)組名 = new 數(shù)據(jù)類型個(gè)數(shù);課件制作人:王國輝2.1.7 數(shù)組的創(chuàng)建與應(yīng)用 當(dāng)按照上述格式聲明數(shù)組后,系統(tǒng)會(huì)分配一塊連續(xù)的內(nèi)存空間供該數(shù)組使用,例如,下面的兩行代碼都是正確

53、的: 對(duì)于一維數(shù)組的賦值,語法格式如下:String any = new String10;String any = new String10; 這兩個(gè)語句實(shí)現(xiàn)的功能都是創(chuàng)建了一個(gè)新的字符串?dāng)?shù)組,它有10個(gè)元素可以用來容納String對(duì)象,當(dāng)用關(guān)鍵字new來創(chuàng)建一個(gè)數(shù)組對(duì)象時(shí),則必須指定這個(gè)數(shù)組能容納多少個(gè)元素。課件制作人:王國輝2.1.7 數(shù)組的創(chuàng)建與應(yīng)用 在上面的語句中,聲明了一個(gè)數(shù)組type,雖然沒有特別指名type的長度,但由于括號(hào)里的數(shù)值有5個(gè),編譯器會(huì)分別依次為各元素指定存放位置,例如,type0 =乒乓球,type1 =籃球。數(shù)據(jù)類型 數(shù)組名 = 數(shù)值1,數(shù)值2,數(shù)值n;數(shù)據(jù)類型

54、 數(shù)組名= 數(shù)值1,數(shù)值2,數(shù)值n; 括號(hào)內(nèi)的數(shù)值將依次賦值給數(shù)組中的第1到n個(gè)元素。另外,在賦值聲明時(shí),不需要給出數(shù)組的長度,編譯器會(huì)按所給的數(shù)值個(gè)數(shù)來決定數(shù)組的長度,例如下面的代碼:String type = 乒乓球,籃球,羽毛球,排球,網(wǎng)球;課件制作人:王國輝2.1.7 數(shù)組的創(chuàng)建與應(yīng)用2二維數(shù)組 在Java語言中,實(shí)際上并不存在稱為“二維數(shù)組”的明確結(jié)構(gòu),而二維數(shù)組實(shí)際上是指數(shù)組元素為一維數(shù)組的一維數(shù)組。聲明二維數(shù)組語法格式如下:數(shù)據(jù)類型 數(shù)組名 = new 數(shù)據(jù)類型個(gè)數(shù) 個(gè)數(shù); 例如下面的代碼:int arry = new int 56; 上述語句聲明了一個(gè)二維數(shù)組,其中5表示該數(shù)組

55、有(04)5行,每行有(05)6個(gè)元素,因此該數(shù)組有30個(gè)元素。課件制作人:王國輝2.1.7 數(shù)組的創(chuàng)建與應(yīng)用 對(duì)于二維數(shù)組元素的賦值,同樣可以在聲明時(shí)進(jìn)行,例如:int number = 20,25,26,22,22,23,25,28; 在上面的語句中,聲明了一個(gè)整型的2行4列的數(shù)組,同時(shí)進(jìn)行賦值,結(jié)果如下:number00 = 20; number01 = 25; number02 = 26; number03 = 22;number10 = 22; number11 = 23; number12 = 25; number13 = 28;課件制作人:王國輝2.1.8 集合類的應(yīng)用 集合類的

56、作用和數(shù)組類似,也可以保存一系列數(shù)據(jù),但是集合類的優(yōu)點(diǎn)是可以方便地對(duì)集合內(nèi)的數(shù)據(jù)進(jìn)行查詢、增加、刪除和修改等操作。本節(jié)將介紹List集合類。 List集合為列表類型,列表的主要特征是存放其中的對(duì)象以線性方式存儲(chǔ)。List集合包括List接口以及List接口的所有實(shí)現(xiàn)類。List接口的常用實(shí)現(xiàn)類有ArrayList、Vector和LinkedList,這3個(gè)類擁有以下兩個(gè)特征:(1)允許內(nèi)容有重復(fù)的元素存在;(2)內(nèi)部元素有特定的順序。 在使用List集合時(shí),通常情況下,聲明為List類型,實(shí)例化時(shí)根據(jù)實(shí)際情況的需要,實(shí)例化為ArrayList或LinkedList,例如:課件制作人:王國輝2.

57、1.8 集合類的應(yīng)用List l = new ArrayList(); List l2 = new LinkedList(); 1ArrayList類 ArrayList類實(shí)現(xiàn)了List接口,由ArrayList類實(shí)現(xiàn)的List集合采用數(shù)組結(jié)構(gòu)保存對(duì)象。數(shù)組結(jié)構(gòu)的優(yōu)點(diǎn)是便于對(duì)集合進(jìn)行快速地隨機(jī)訪問,如果經(jīng)常需要根據(jù)索引位置訪問集合中的對(duì)象,使用由ArrayList類實(shí)現(xiàn)的List集合的效率較好。ArrayList類的常用方法如下表所示。課件制作人:王國輝ArrayList類的常用方法方 法 名 稱方 法 含 義add(int index, Object obj)用來向集合的指定位置添加元素,其

58、他元素的索引位置相對(duì)后移一位。索引位置從0開始。addAll(int, Collection coll)用來向集合的指定索引位置添加指定集合中的所有對(duì)象remove(int index)用來清除集合中指定索引位置的對(duì)象set(int index, Object obj)用來將集合中指定索引位置的對(duì)象修改為指定的對(duì)象get(int index)用來獲得指定索引位置的對(duì)象indexOf(Object obj)用來獲得指定對(duì)象的索引位置。當(dāng)存在多個(gè)時(shí),返回第一個(gè)的索引位置;當(dāng)不存在時(shí),返回1lastIndexOf(Object obj)用來獲得指定對(duì)象的索引位置。當(dāng)存在多個(gè)時(shí),返回最后一個(gè)的索引位置

59、;當(dāng)不存在時(shí),返回1listIterator()用來獲得一個(gè)包含所有對(duì)象的ListIterator型實(shí)例listIterator(int index)用來獲得一個(gè)包含從指定索引位置到最后的ListIterator型實(shí)例課件制作人:王國輝2.1.8 集合類的應(yīng)用【例2-9】 ArrayList類示例 Vector類是一元集合,可以加入重復(fù)數(shù)據(jù),它的作用和數(shù)組類似,可以保存一系列數(shù)據(jù),它的優(yōu)點(diǎn)是可以很方便地對(duì)集合內(nèi)的數(shù)據(jù)進(jìn)行查找、增加、修改和刪除等操作。下面介紹Vector類的常用方法。Vector類的常用方法如下表所示。2Vector類課件制作人:王國輝Vector類的常用方法方 法 名 稱方

60、法 含 義add(int index,Object element)在指定的位置添加元素addElementAt(Object obj,int index)在Vector類的結(jié)尾添加元素size()返回Verctor類的元素總數(shù)elementAt(int index)取得特定位置的元素,返回值為整型setElementAt(object obj,int index)重新設(shè)定指定位置的元素removeElementAt(int index)刪除指定位置的元素【例2-10】 Vector類示例課件制作人:王國輝2.1.9 異常處理語句1trycatch語句 在Java語言中,處理異常的語句有4種:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論