[理學(xué)]Jaa語言基礎(chǔ)ppt課件_第1頁
[理學(xué)]Jaa語言基礎(chǔ)ppt課件_第2頁
[理學(xué)]Jaa語言基礎(chǔ)ppt課件_第3頁
[理學(xué)]Jaa語言基礎(chǔ)ppt課件_第4頁
[理學(xué)]Jaa語言基礎(chǔ)ppt課件_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第2講講 Java語言根底語言根底 主要內(nèi)容主要內(nèi)容p 操作運(yùn)算符及表達(dá)式操作運(yùn)算符及表達(dá)式 p Java語言的流控制語言的流控制p 數(shù)組、向量和字符串?dāng)?shù)組、向量和字符串運(yùn)算符運(yùn)算符Operator 算術(shù)運(yùn)算符:算術(shù)運(yùn)算符: + +,* *,/ /,% %,+,- 關(guān)系運(yùn)算符:關(guān)系運(yùn)算符: , =,=,& &,| |, 賦值運(yùn)算符:賦值運(yùn)算符: = =,+=+=,-=-=,* *= =,/=/= 三元條件運(yùn)算符:三元條件運(yùn)算符: ? :? : 格式:格式:表達(dá)式?語句表達(dá)式?語句1 1:語句:語句2 2;運(yùn)算符運(yùn)算符Operator 其它特殊的運(yùn)算符其它特殊的運(yùn)算符包括分量運(yùn)

2、算符:包括分量運(yùn)算符:. .下標(biāo)運(yùn)算符:下標(biāo)運(yùn)算符: 實(shí)例類型判斷運(yùn)算符:實(shí)例類型判斷運(yùn)算符: instanceofinstanceof對(duì)象實(shí)例創(chuàng)立運(yùn)算符:對(duì)象實(shí)例創(chuàng)立運(yùn)算符:newnew強(qiáng)迫類型轉(zhuǎn)換運(yùn)算符強(qiáng)迫類型轉(zhuǎn)換運(yùn)算符 :類型類型方法調(diào)用運(yùn)算符方法調(diào)用運(yùn)算符 :算術(shù)運(yùn)算符算術(shù)運(yùn)算符算術(shù)運(yùn)算符包括通常的加算術(shù)運(yùn)算符包括通常的加+、減、減-、乘、乘*、除、除/、取模、取模%,完,完成整型或浮點(diǎn)型數(shù)據(jù)的算術(shù)運(yùn)算成整型或浮點(diǎn)型數(shù)據(jù)的算術(shù)運(yùn)算算術(shù)運(yùn)算符還有算術(shù)運(yùn)算符還有“+、“-兩種,分兩種,分別表示加別表示加1和減和減1操作操作3/23/2/ / 結(jié)果是結(jié)果是1 115.2 % 515.2 %

3、5/ / 結(jié)果是結(jié)果是0.20.2關(guān)系運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算符用來比較兩個(gè)值,包括大于關(guān)系運(yùn)算符用來比較兩個(gè)值,包括大于、大于等于、大于等于=、小于、小于、小于等于小于等于 5 / 對(duì)對(duì)unset進(jìn)展某種操作進(jìn)展某種操作if語句中的邏輯表達(dá)式是合法的,語句中的邏輯表達(dá)式是合法的,且完全平安。因?yàn)榈谝粋€(gè)子表達(dá)式且完全平安。因?yàn)榈谝粋€(gè)子表達(dá)式unset != null結(jié)果為假,它馬結(jié)果為假,它馬 上上導(dǎo)致整個(gè)表達(dá)式的結(jié)果為假。所以導(dǎo)致整個(gè)表達(dá)式的結(jié)果為假。所以&運(yùn)算符跳過不必要的運(yùn)算符跳過不必要的unset.length 5計(jì)算,因?yàn)闆]有計(jì)算它,防止了計(jì)算,因?yàn)闆]有計(jì)算它,防止了空指針異

4、??罩羔槷惓?。位運(yùn)算符位運(yùn)算符 位運(yùn)算符用來對(duì)二進(jìn)制位進(jìn)展操作,包括位運(yùn)算符用來對(duì)二進(jìn)制位進(jìn)展操作,包括按位取反按位取反、按位與、按位與&、按位或、按位或|、異或、異或、右移、右移、左移、左移。 位運(yùn)算符只能對(duì)位運(yùn)算符只能對(duì)整型整型和和字符型字符型數(shù)據(jù)進(jìn)展操數(shù)據(jù)進(jìn)展操作。作。運(yùn)算符運(yùn)算符“ 運(yùn)算符運(yùn)算符“執(zhí)行執(zhí)行算術(shù)右移算術(shù)右移,它使用最高位填充,它使用最高位填充移位后左側(cè)的空位。右移的結(jié)果為:每移一位,移位后左側(cè)的空位。右移的結(jié)果為:每移一位,第一個(gè)操作數(shù)被第一個(gè)操作數(shù)被2除一次,挪動(dòng)的次數(shù)由第二個(gè)除一次,挪動(dòng)的次數(shù)由第二個(gè)操作數(shù)確定。操作數(shù)確定。 算術(shù)右移運(yùn)算符,有符號(hào)。右邊超出截

5、掉,左算術(shù)右移運(yùn)算符,有符號(hào)。右邊超出截掉,左邊補(bǔ)上符號(hào)位邊補(bǔ)上符號(hào)位 邏輯右移運(yùn)算符,無符號(hào),左邊補(bǔ)邏輯右移運(yùn)算符,無符號(hào),左邊補(bǔ)0 128 1 128 1 得到得到 6464256 4 256 4 得到得到 1616-256 4 -256 4 得到得到 -16-16位運(yùn)算符位運(yùn)算符 邏輯左移邏輯左移 =算數(shù)左移算數(shù)左移 ,左邊統(tǒng)一添左邊統(tǒng)一添0 算數(shù)右移算數(shù)右移,左邊添加的數(shù)和符號(hào)有關(guān)左邊添加的數(shù)和符號(hào)有關(guān) 例:例:1010101010,其中,其中 位是添加的數(shù)字位是添加的數(shù)字 邏輯左移一位:邏輯左移一位:0101010100 算數(shù)左移一位:算數(shù)左移一位:0101010100 邏輯右移一位

6、:邏輯右移一位:0101010101 算數(shù)右移一位:算數(shù)右移一位:1101010101條件運(yùn)算符條件運(yùn)算符 條件運(yùn)算符條件運(yùn)算符?:是三元運(yùn)算符,它的一是三元運(yùn)算符,它的一般形式為:般形式為:表達(dá)式表達(dá)式 ? 語句語句1 : 語句語句2;表達(dá)式得到一個(gè)邏輯值,根據(jù)該值的真表達(dá)式得到一個(gè)邏輯值,根據(jù)該值的真假?zèng)Q定執(zhí)行什么操作。假如值為真,執(zhí)假?zèng)Q定執(zhí)行什么操作。假如值為真,執(zhí)行語句行語句1,否那么執(zhí)行語句,否那么執(zhí)行語句2。注意,語句注意,語句1和語句和語句2需要返回一樣的類需要返回一樣的類型,且不能是型,且不能是void。 例如例如 : max=ab ? a : b;表達(dá)式表達(dá)式 表達(dá)式表達(dá)式是

7、由操作數(shù)和運(yùn)算符按一定的語法是由操作數(shù)和運(yùn)算符按一定的語法形式組成的符號(hào)序列。形式組成的符號(hào)序列。 一個(gè)常量或一個(gè)變量名字是最簡單的表達(dá)一個(gè)常量或一個(gè)變量名字是最簡單的表達(dá)式,其值即該常量或變量的值;式,其值即該常量或變量的值; 表達(dá)式的值還可以用作其他運(yùn)算的操作數(shù),表達(dá)式的值還可以用作其他運(yùn)算的操作數(shù),形成更復(fù)雜的表達(dá)式。形成更復(fù)雜的表達(dá)式。 例如:例如: Xnum1+num2a*b+c+d 3.14x=y+zx&y|z語句和代碼段語句和代碼段 一個(gè)由分號(hào)一個(gè)由分號(hào);結(jié)尾的單一命令是一條結(jié)尾的單一命令是一條語句語句Statement,一條語句一般是一行代碼,但,一條語句一般是一行代碼

8、,但也可以占多行代碼。也可以占多行代碼。 int a = 1; / 變量定義及初始化語句變量定義及初始化語句 用大括號(hào)用大括號(hào) 圍起來的多條語句構(gòu)成一個(gè)圍起來的多條語句構(gòu)成一個(gè)代碼段代碼段Code block,也稱為,也稱為塊塊。 class Aclass For int I=0; I=1; I+ 作用域作用域Scope 作用域決定了變量可使用的范圍作用域決定了變量可使用的范圍 全局變量全局變量Global variables:變量可以在:變量可以在整個(gè)類中被訪問;整個(gè)類中被訪問; 部分變量部分變量 Local variables :變量只能在:變量只能在定義其的代碼段中被訪問。定義其的代碼段

9、中被訪問。 作用域規(guī)那么:在一個(gè)代碼段中定義的變作用域規(guī)那么:在一個(gè)代碼段中定義的變量只能在該代碼段或者該代碼段的子代碼量只能在該代碼段或者該代碼段的子代碼段中可見。段中可見。 使用部分變量比使用全局變量更平安。使用部分變量比使用全局變量更平安。作用域例如作用域例如 class Scoping int x = 0; void method1 int y; y = x; / OK. method1可以訪問可以訪問x. void method2 int z = 1; z = y; / Error. y 在在method2的作用域之外定義的作用域之外定義 Java語言的流控制語言的流控制 分支語句:

10、分支語句:if-else, switch 循環(huán)語句:循環(huán)語句:while, do-while, for 與程序轉(zhuǎn)移有關(guān)的其它語句:與程序轉(zhuǎn)移有關(guān)的其它語句:break, continue, return 例外處理語句:例外處理語句:try-catch-finally, throw if條件分支語句條件分支語句 格式格式1: if 布爾表達(dá)式布爾表達(dá)式 語句語句;格式格式2 : if布爾表達(dá)式布爾表達(dá)式 語句語句1; else 語句語句2;格式格式3: if 布爾表達(dá)式布爾表達(dá)式1 語句語句1; else if 布爾表達(dá)式布爾表達(dá)式2 語句語句2; else if 布爾表達(dá)式布爾表達(dá)式n-1 語

11、句語句n-1; else 語句語句n;注意:注意:語句可以是一個(gè)單個(gè)語句,也可以是以語句可以是一個(gè)單個(gè)語句,也可以是以括括起來的語句塊。起來的語句塊。條件語句條件語句 if-else elseelse子句是任選的,不能單獨(dú)作為語子句是任選的,不能單獨(dú)作為語句使用,它必須和句使用,它必須和ifif語句配對(duì)使用,語句配對(duì)使用,并且總是與離它最近的并且總是與離它最近的ifif配對(duì)。配對(duì)。 ifif 1 2 1 2 System.out.println System.out.println“1 is smaller than “1 is smaller than 2 2; ; else else Sy

12、stem.out.println System.out.println“Can NOT reach here!“Can NOT reach here!; ; switch條件語句條件語句 格式:格式: switch表達(dá)式表達(dá)式 case 常量常量1: 語句組語句組1; break; case 常量常量2: 語句組語句組2;break; case 常量常量n: 語句組語句組n;break; default: 語句組語句組n+1; 其中:其中:1表達(dá)式是可生成整數(shù)或字符值的表達(dá)式。表達(dá)式是可生成整數(shù)或字符值的表達(dá)式。2常量是對(duì)應(yīng)于表達(dá)式類型值的常量。各常量必須是唯一的。常量是對(duì)應(yīng)于表達(dá)式類型值的常

13、量。各常量必須是唯一的。3語句組語句組i i=1n+1 可以是空語句,也可是一個(gè)或多個(gè)語句??梢允强照Z句,也可是一個(gè)或多個(gè)語句。4break的作用是完畢本構(gòu)造的執(zhí)行,跳出構(gòu)造外繼續(xù)執(zhí)行。的作用是完畢本構(gòu)造的執(zhí)行,跳出構(gòu)造外繼續(xù)執(zhí)行。多分支語句多分支語句 switch int a = 100, b = 20, c; char oper = +; switchoper case +: c = a b; break; case -: c = a - b; break; default : c = a * b; break; While和和do-While循環(huán)構(gòu)造循環(huán)構(gòu)造 while循環(huán)格式循環(huán)格式

14、while布爾表達(dá)式布爾表達(dá)式 語句組;語句組; /循環(huán)體循環(huán)體 do-While循環(huán)格式循環(huán)格式 do 語句組;語句組;/循環(huán)體循環(huán)體 while布爾表達(dá)式布爾表達(dá)式;for循環(huán)控制構(gòu)造循環(huán)控制構(gòu)造 for循環(huán)構(gòu)造循環(huán)構(gòu)造 for 表達(dá)式表達(dá)式1; 表達(dá)式表達(dá)式2; 表達(dá)式表達(dá)式3 語句組;語句組; /循環(huán)體循環(huán)體 其中:其中: 表達(dá)式表達(dá)式1一般用于設(shè)置循環(huán)控制變量的初始值。一般用于設(shè)置循環(huán)控制變量的初始值。 表達(dá)式表達(dá)式2一般是關(guān)系表達(dá)式或邏輯表達(dá)式,用于確定是一般是關(guān)系表達(dá)式或邏輯表達(dá)式,用于確定是否繼續(xù)執(zhí)行循環(huán)體語句。否繼續(xù)執(zhí)行循環(huán)體語句。 表達(dá)式表達(dá)式3一般用于循環(huán)控制變量的增減值

15、操作。一般用于循環(huán)控制變量的增減值操作。 語句組是要被重復(fù)執(zhí)行的語句稱之為循環(huán)體。語句組語句組是要被重復(fù)執(zhí)行的語句稱之為循環(huán)體。語句組可以是空語句什么也不做、單個(gè)語句或多個(gè)語句??梢允强照Z句什么也不做、單個(gè)語句或多個(gè)語句。3.2 循環(huán)語句比較循環(huán)語句比較int n = 1, sum = 0;while n0;int sum =0;for int i=1; i=10; i+ sum += i;while循環(huán)循環(huán)do-while循環(huán)循環(huán)for循環(huán)循環(huán)例如:計(jì)算例如:計(jì)算sum=1+2+3+.+10程序轉(zhuǎn)移相關(guān)語句程序轉(zhuǎn)移相關(guān)語句break 在在switch語中,語中,break語句用來終止語句用來

16、終止switch語句的語句的執(zhí)行,使程序從整個(gè)執(zhí)行,使程序從整個(gè)switch語句后的第一條語句語句后的第一條語句開場執(zhí)行。開場執(zhí)行。 在循環(huán)語句中,在循環(huán)語句中,break用于終止并跳出循環(huán),從緊用于終止并跳出循環(huán),從緊跟著循環(huán)體代碼段后的語句執(zhí)行。跟著循環(huán)體代碼段后的語句執(zhí)行。 在在Java中,可以為中,可以為每個(gè)代碼塊加一個(gè)標(biāo)號(hào)每個(gè)代碼塊加一個(gè)標(biāo)號(hào),break語句可用于跳出它所指定的塊,并從緊跟該塊后語句可用于跳出它所指定的塊,并從緊跟該塊后的第一條語句處執(zhí)行。的第一條語句處執(zhí)行。 BlockLabel: codeBlock; break BlockLabel; 程序轉(zhuǎn)移相關(guān)語句程序轉(zhuǎn)移相

17、關(guān)語句breaka: /標(biāo)記代碼塊標(biāo)記代碼塊a b: /標(biāo)記代碼塊標(biāo)記代碼塊b c: /標(biāo)記代碼塊標(biāo)記代碼塊c break b; /這段語句將不執(zhí)行這段語句將不執(zhí)行 /代碼塊代碼塊c完畢完畢 /這段語句也不執(zhí)行這段語句也不執(zhí)行 /代碼塊代碼塊b完畢完畢 /從這段語句開場執(zhí)行從這段語句開場執(zhí)行 /代碼塊代碼塊a完畢完畢程序轉(zhuǎn)移相關(guān)語句程序轉(zhuǎn)移相關(guān)語句continue continue語句語句 在循環(huán)語句中,在循環(huán)語句中,continue可以立即完畢可以立即完畢當(dāng)次循環(huán)而執(zhí)行下一次循環(huán),當(dāng)然執(zhí)行當(dāng)次循環(huán)而執(zhí)行下一次循環(huán),當(dāng)然執(zhí)行前先判斷循環(huán)條件是否滿足。前先判斷循環(huán)條件是否滿足。 continue

18、語句也可以和標(biāo)號(hào)一起使用。語句也可以和標(biāo)號(hào)一起使用。 語法格式為語法格式為:continue 標(biāo)號(hào)標(biāo)號(hào);程序轉(zhuǎn)移相關(guān)語句程序轉(zhuǎn)移相關(guān)語句continuefor int i= 0; i 10; i+ int sum=0; if i%2 = 0 /計(jì)算計(jì)算1+3+9 continue; sum=sum+i; 程序轉(zhuǎn)移相關(guān)語句程序轉(zhuǎn)移相關(guān)語句 return return語句從當(dāng)前方法中退出,返回到調(diào)語句從當(dāng)前方法中退出,返回到調(diào)用該方法的語句處,并從緊跟該語句的下用該方法的語句處,并從緊跟該語句的下一條語句繼續(xù)程序的執(zhí)行。返回語句有兩一條語句繼續(xù)程序的執(zhí)行。返回語句有兩種格式:種格式:return

19、expression; /當(dāng)方法需要當(dāng)方法需要返回某種類型數(shù)據(jù)時(shí)返回某種類型數(shù)據(jù)時(shí)return; /當(dāng)方法的返回類型為當(dāng)方法的返回類型為void時(shí)時(shí)例外處理語句例外處理語句 try-catch-finally, throw 在進(jìn)展程序設(shè)計(jì)時(shí),錯(cuò)誤的產(chǎn)生是不可防止得。在進(jìn)展程序設(shè)計(jì)時(shí),錯(cuò)誤的產(chǎn)生是不可防止得。如何處理錯(cuò)誤?把錯(cuò)誤交給誰去處理?程序又該如何處理錯(cuò)誤?把錯(cuò)誤交給誰去處理?程序又該如何從錯(cuò)誤中恢復(fù)?這是任何程序設(shè)計(jì)語言都必如何從錯(cuò)誤中恢復(fù)?這是任何程序設(shè)計(jì)語言都必須面對(duì)和解決的問題。須面對(duì)和解決的問題。Java語言中是通過例外語言中是通過例外Exception來處理錯(cuò)誤的。我們將在第六

20、講來處理錯(cuò)誤的。我們將在第六講中詳細(xì)介紹例外及其處理。中詳細(xì)介紹例外及其處理。 作業(yè)作業(yè): P63 3.7 3.9 3.13數(shù)組、向量和字符串?dāng)?shù)組、向量和字符串 數(shù)組數(shù)組 數(shù)組是一種特殊的對(duì)象數(shù)組是一種特殊的對(duì)象 數(shù)組用來組織一組類型一樣的對(duì)象。數(shù)組用來組織一組類型一樣的對(duì)象。 數(shù)組中的成員通過下標(biāo)來訪問。數(shù)組中的成員通過下標(biāo)來訪問。 數(shù)組的大小在創(chuàng)立數(shù)組實(shí)例時(shí)確定數(shù)組的大小在創(chuàng)立數(shù)組實(shí)例時(shí)確定,而不是定義數(shù)組而不是定義數(shù)組變量時(shí)變量時(shí) 數(shù)組的大小一經(jīng)確定將不在改變。數(shù)組的大小一經(jīng)確定將不在改變。 在創(chuàng)立數(shù)組時(shí),數(shù)組成員都被賦予初值。在創(chuàng)立數(shù)組時(shí),數(shù)組成員都被賦予初值。1、聲明數(shù)組、聲明數(shù)組

21、1聲明一維數(shù)組的格式:聲明一維數(shù)組的格式: 數(shù)組元素的類型數(shù)組元素的類型 數(shù)組的名字?jǐn)?shù)組的名字; 2聲明二維數(shù)組的格式:聲明二維數(shù)組的格式: 數(shù)組元素的類型數(shù)組元素的類型 數(shù)組的名字?jǐn)?shù)組的名字; 將方括號(hào)放到變量名的左面,將方括號(hào)放到變量名的左面,也可將也可將方括號(hào)放在變量名右方括號(hào)放在變量名右面面 例如:例如:int a; 定義變量時(shí)不指定大小定義變量時(shí)不指定大小int a; 兩種定義方法都可以兩種定義方法都可以int a ;int a;2、 創(chuàng)立數(shù)組創(chuàng)立數(shù)組 一般來說一般來說,當(dāng)創(chuàng)立數(shù)組的時(shí)候,使用當(dāng)創(chuàng)立數(shù)組的時(shí)候,使用 new 操作符,操作符,后面跟著數(shù)組元素的數(shù)據(jù)類型。然后將元素的數(shù)后

22、面跟著數(shù)組元素的數(shù)據(jù)類型。然后將元素的數(shù)目用方括號(hào)目用方括號(hào) 括起來,其格式如下所示:括起來,其格式如下所示: 數(shù)組名字?jǐn)?shù)組名字= new 數(shù)組元素的類型數(shù)組元素的類型數(shù)組元素?cái)?shù)組元素的個(gè)數(shù)的個(gè)數(shù) ; 例例: int a; int a; 定義變量時(shí)不指定大小定義變量時(shí)不指定大小 a = a = newnew int10; int10; 創(chuàng)立數(shù)組實(shí)例時(shí)確定大小創(chuàng)立數(shù)組實(shí)例時(shí)確定大小 a0 = 3;a0 = 3; 數(shù)組下標(biāo)從數(shù)組下標(biāo)從0 0開場開場3、數(shù)組元素的使用、數(shù)組元素的使用 數(shù)組可以通過下標(biāo)訪問自己的元素:數(shù)組可以通過下標(biāo)訪問自己的元素:例:例: int a =new int10; for

23、int i=0;ia.length;i+ ai=i; System.out.printai+; 確定數(shù)組的大?。簲?shù)組名確定數(shù)組的大小:數(shù)組名.length; 例:例:a.length;數(shù)組邊界數(shù)組邊界 數(shù)組下標(biāo)從數(shù)組下標(biāo)從0開場,開場,元素個(gè)數(shù)元素個(gè)數(shù)length是數(shù)組類中唯是數(shù)組類中唯一的數(shù)據(jù)成員變量一的數(shù)據(jù)成員變量int list = new int 10;for int i = 0; i list.length; i+ / 進(jìn)展相應(yīng)處理的代碼進(jìn)展相應(yīng)處理的代碼循環(huán)的完畢條件中使用循環(huán)的完畢條件中使用list.length,而不是常數(shù),而不是常數(shù)10。這。這樣做不會(huì)引起數(shù)組下標(biāo)越界,樣做不

24、會(huì)引起數(shù)組下標(biāo)越界,使程序更強(qiáng)健,修改更方便。使程序更強(qiáng)健,修改更方便。多維數(shù)組的應(yīng)用多維數(shù)組的應(yīng)用 在在Java中,多維數(shù)組中,多維數(shù)組multidimensional arrays是由假設(shè)干行和假設(shè)干列組成數(shù)組。在是由假設(shè)干行和假設(shè)干列組成數(shù)組。在人們工作生活與學(xué)習(xí)中,要使用二維表格、矩陣、人們工作生活與學(xué)習(xí)中,要使用二維表格、矩陣、行列式等,都可以表示成多維數(shù)組。行列式等,都可以表示成多維數(shù)組。 例如:例如:int D = new int34; 多維數(shù)組的多維數(shù)組的length屬性只返回第一維的長度屬性只返回第一維的長度 int D34; D.length;/ 返回返回3,而不是,而不是

25、12多維數(shù)組的引用例多維數(shù)組的引用例int myTable = 23, 45, 65, 34, 21, 67, 78,46, 14, 18, 46, 98, 63, 88,98, 81, 64, 90, 21, 14, 23,54, 43, 55, 76, 22, 43, 33; for int row=0;row4; row+ for int col=0;col7; col+ System.out.printmyTablerowcol + ;System.out.println; 01234560234565342167781461418469863882988164902114233544

26、35576224333Arrays類常用的方法類常用的方法 int binarySearchtype a, type key 對(duì)關(guān)鍵字對(duì)關(guān)鍵字key在數(shù)組在數(shù)組a中進(jìn)展二分查找,但中進(jìn)展二分查找,但要求數(shù)組要求數(shù)組a必須已經(jīng)排序,否那么返回值必須已經(jīng)排序,否那么返回值無意義無意義 boolean equalstype a1, type a2 它斷定兩個(gè)數(shù)組大小是否一樣,并且每一它斷定兩個(gè)數(shù)組大小是否一樣,并且每一個(gè)元素是否相等。個(gè)元素是否相等。兩個(gè)兩個(gè)null數(shù)組是相等的數(shù)組是相等的數(shù)組拷貝數(shù)組拷貝 Java方法方法arraycopy 語法格式:語法格式: arraycopya, int n1

27、, b, int n2, int length 可將數(shù)組可將數(shù)組a從索引從索引n1開場后的開場后的length個(gè)元素中的數(shù)據(jù)個(gè)元素中的數(shù)據(jù)復(fù)制到數(shù)組復(fù)制到數(shù)組b中,中,b數(shù)組從第數(shù)組從第n2個(gè)位置開場存放這些數(shù)個(gè)位置開場存放這些數(shù)據(jù),假如數(shù)組據(jù),假如數(shù)組b不能放下復(fù)制的數(shù)據(jù),程序運(yùn)行將發(fā)不能放下復(fù)制的數(shù)據(jù),程序運(yùn)行將發(fā)生異常。生異常。 class ArrayTest public static void mainString args int elements = 1, 2, 3, 4, 5, 6 ;int hold = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 ; Syst

28、em.arraycopyelements, 0, hold, 0, elements.length; 向量向量Vector 1.向量向量Vector 向量向量Vector是是Java.util包包java.util包是專門保存各種常用工具類的類庫提包是專門保存各種常用工具類的類庫提供的一個(gè)工具類。它有類似數(shù)組的順序存供的一個(gè)工具類。它有類似數(shù)組的順序存儲(chǔ)的數(shù)據(jù)構(gòu)造,但是具有比數(shù)組更強(qiáng)大的儲(chǔ)的數(shù)據(jù)構(gòu)造,但是具有比數(shù)組更強(qiáng)大的功能。功能。2、 Vector構(gòu)造方法構(gòu)造方法 Vector類有三個(gè)構(gòu)造函數(shù):類有三個(gè)構(gòu)造函數(shù): public Vector 構(gòu)造一個(gè)空向量構(gòu)造一個(gè)空向量 public Ve

29、ctorint i 以初始存儲(chǔ)容量以初始存儲(chǔ)容量i構(gòu)造一個(gè)空的向量構(gòu)造一個(gè)空的向量Vector public Vectorint i, int j 以初始存儲(chǔ)容量以初始存儲(chǔ)容量i和容量增量和容量增量j構(gòu)造一個(gè)空的向量構(gòu)造一個(gè)空的向量Vector 下面的語句就利用構(gòu)造函數(shù)創(chuàng)立了一個(gè)向量序列:下面的語句就利用構(gòu)造函數(shù)創(chuàng)立了一個(gè)向量序列:Vector MyVector = new Vector100, 50;向量的常用方法向量的常用方法方方 法法說說 明明addElementaddElementObject objObject obj在向量尾部添加指定元素,在向量尾部添加指定元素,并且長度加一。并且

30、長度加一。 insertElementAtinsertElementAtObject Object obj,int indexobj,int index將指定對(duì)象將指定對(duì)象objobj插入指定位插入指定位置置indexindex處。處。capacitycapacity返回該向量的當(dāng)前容量。返回該向量的當(dāng)前容量。copyIntocopyIntoObjectObjectanArrayanArray把該向量的元素復(fù)制到指定把該向量的元素復(fù)制到指定數(shù)組中。數(shù)組中。elementAtelementAtint indexint index返回指定下標(biāo)處的元素。返回指定下標(biāo)處的元素。firstElement

31、firstElement返回該向量的第一個(gè)元素。返回該向量的第一個(gè)元素。lastElementlastElement返回向量的最后一個(gè)元素。返回向量的最后一個(gè)元素。 size size返回該向量的元素?cái)?shù)。返回該向量的元素?cái)?shù)。向量的常用方法向量的常用方法 Vector MyVector = new Vector; for int i=1;i=10;i+ MyVector.addElementnew Random; MyVector.insertElementAtmiddle,5; 字符串字符串 字符串字符串 內(nèi)存中連續(xù)排列的一個(gè)或多個(gè)字符內(nèi)存中連續(xù)排列的一個(gè)或多個(gè)字符 String 處理不變字符

32、串處理不變字符串 StringBuffer處理可變字符串處理可變字符串1、字符串聲明與創(chuàng)立、字符串聲明與創(chuàng)立 下面是聲明并創(chuàng)立字符串的語句:下面是聲明并創(chuàng)立字符串的語句: String str ; str = this is a Stirng. ; 也可以將上面二條語句合并為一條語句:也可以將上面二條語句合并為一條語句: String str = this is a String. ;2、字符串操作、字符串操作方法方法說明說明length獲得字符串的字符長度獲得字符串的字符長度equals判斷兩個(gè)字符串中的字符是否判斷兩個(gè)字符串中的字符是否相等相等toLowerCase轉(zhuǎn)換字符串中的英文字符為

33、小轉(zhuǎn)換字符串中的英文字符為小寫寫toUpperCase轉(zhuǎn)換字符串中的英文字符為大轉(zhuǎn)換字符串中的英文字符為大寫寫1求字符串的長度求字符串的長度 例:例: String str1 = Hello! ; String str2 = 你身體好嗎?你身體好嗎?; System.out.printlnstr1.length; System.out.printlnstr2.length; 2比較兩個(gè)字符串比較兩個(gè)字符串 String類中有三個(gè)方法可以比較兩個(gè)字符類中有三個(gè)方法可以比較兩個(gè)字符串是否一樣。串是否一樣。 public int compareToString str; public boolean

34、 equalsObject obj; public boolean equalsIgnoreCaseString str; 使用關(guān)系運(yùn)算符使用關(guān)系運(yùn)算符“= = 與與equals方法不同的是,方法不同的是,“= =斷定兩字符串對(duì)象是否是同一實(shí)斷定兩字符串對(duì)象是否是同一實(shí)例,即它們?cè)趦?nèi)存中的存儲(chǔ)空間是否一樣例,即它們?cè)趦?nèi)存中的存儲(chǔ)空間是否一樣 這里需要特別說明,比較二個(gè)數(shù)值這里需要特別說明,比較二個(gè)數(shù)值x、y是否相等,我們使是否相等,我們使用用x=y。而比較二個(gè)字符串相等那么不能使用。而比較二個(gè)字符串相等那么不能使用“=來來比較。比較。3字符串與數(shù)值的轉(zhuǎn)換字符串與數(shù)值的轉(zhuǎn)換 字符串字符串str轉(zhuǎn)

35、換為整型:轉(zhuǎn)換為整型: int x=Integer.paresIntstr; 字符串字符串str轉(zhuǎn)換為轉(zhuǎn)換為float型:型: float n=Float.paresFloatstr; 另外也可以將形如另外也可以將形如123.4等數(shù)值轉(zhuǎn)化為字符串等數(shù)值轉(zhuǎn)化為字符串 例如:例如: String str = String.valueOf123.4;4字符串與字節(jié)數(shù)組的轉(zhuǎn)化字符串與字節(jié)數(shù)組的轉(zhuǎn)化 要將一個(gè)字符串轉(zhuǎn)化為字節(jié)數(shù)組,可用以要將一個(gè)字符串轉(zhuǎn)化為字節(jié)數(shù)組,可用以下方法:下方法: byte d =字符串對(duì)象字符串對(duì)象.getBytes; 反之,要將一個(gè)字節(jié)數(shù)組轉(zhuǎn)化為字符串,反之,要將一個(gè)字節(jié)數(shù)組

36、轉(zhuǎn)化為字符串,那么用字符串的構(gòu)造方法就能到達(dá)目的。那么用字符串的構(gòu)造方法就能到達(dá)目的。 Stringbyte , int offset, int length 即從數(shù)組起始位置即從數(shù)組起始位置offset開場取開場取length個(gè)字節(jié)構(gòu)個(gè)字節(jié)構(gòu)造一個(gè)字符串對(duì)象。造一個(gè)字符串對(duì)象。StringBuffer類類 String類類創(chuàng)立的字符串對(duì)象是不可修改的,也就創(chuàng)立的字符串對(duì)象是不可修改的,也就是說,是說,String字符串不能修改、刪除或交換字符字符串不能修改、刪除或交換字符串中的某個(gè)字符,即串中的某個(gè)字符,即String對(duì)象一旦創(chuàng)立,那么對(duì)象一旦創(chuàng)立,那么內(nèi)容是不可以再發(fā)生變化的內(nèi)容是不可以再

37、發(fā)生變化的. 例:例: String s=new String“I love this game; StringBuffer類類能創(chuàng)立可修改的字符串序列,也能創(chuàng)立可修改的字符串序列,也就是說,該類的對(duì)象的實(shí)體的內(nèi)存空間可以自動(dòng)就是說,該類的對(duì)象的實(shí)體的內(nèi)存空間可以自動(dòng)的改變大小,便于存放一個(gè)可變的字符序列。的改變大小,便于存放一個(gè)可變的字符序列。 例:例:StringBuffer s=new StringBuffer“I love this game; s.append“ ok;StringBuffer類類StringBuffer類對(duì)象的常用方法類對(duì)象的常用方法1StringBuffer類對(duì)象

38、的擴(kuò)大類對(duì)象的擴(kuò)大 S t r i n g B u f f e r 類 提 供 兩 組 方 法 用 來 擴(kuò) 大類 提 供 兩 組 方 法 用 來 擴(kuò) 大StringBuffer對(duì)象所包含的字符,分別是:對(duì)象所包含的字符,分別是: 1 public StringBuffer appendObject obj append方法用于擴(kuò)大方法用于擴(kuò)大StringBuffer對(duì)象所包含的對(duì)象所包含的字符,該方法將指定的參數(shù)對(duì)象轉(zhuǎn)化為字符串后,將其字符,該方法將指定的參數(shù)對(duì)象轉(zhuǎn)化為字符串后,將其附加在原來的附加在原來的StringBuffer對(duì)象之后,并返回新的對(duì)象之后,并返回新的StringBuffer

39、對(duì)象。附加的的參數(shù)對(duì)象可以是各種數(shù)據(jù)對(duì)象。附加的的參數(shù)對(duì)象可以是各種數(shù)據(jù)類型的,如類型的,如int、char、String、double等。等。StringBuffer類類 2public StringBuffer insertint index,String str 該方法將指定的參數(shù)對(duì)象轉(zhuǎn)化為字符串后,將其該方法將指定的參數(shù)對(duì)象轉(zhuǎn)化為字符串后,將其插入在原來的插入在原來的StringBuffer對(duì)象中指定的位置,并對(duì)象中指定的位置,并返回新的返回新的StringBuffer對(duì)象。對(duì)象。 2 2StringBufferStringBuffer類對(duì)象的長度與容量類對(duì)象的長度與容量 一個(gè)一個(gè)St

40、ringBufferStringBuffer類對(duì)象的長度指的是它包含的類對(duì)象的長度指的是它包含的字符個(gè)數(shù);容量指的是被分配的字符空間的數(shù)量。字符個(gè)數(shù);容量指的是被分配的字符空間的數(shù)量。 1 1public int length 該方法返回當(dāng)前該方法返回當(dāng)前StringBufferStringBuffer類對(duì)象包含的字符類對(duì)象包含的字符個(gè)數(shù)。個(gè)數(shù)。 StringBuffer類類 2 2public int capacity 該方法返回當(dāng)前該方法返回當(dāng)前StringBufferStringBuffer類對(duì)象分配的字符類對(duì)象分配的字符空間的數(shù)量。空間的數(shù)量。3StringBuffer類對(duì)象的修改類對(duì)象的修改 public void setCharAtint index,char ch 該方法將當(dāng)前該方法將當(dāng)前StringBuffer對(duì)象中的對(duì)象中的index位位置的字符交換為指定的字符置的字符交換為指定的字符ch。StringBuff

溫馨提示

  • 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)論