




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
----為你Java的夢(mèng)想插上翅膀J2SE(JDK5以上)開發(fā)
講師:孫雷TEL:
----為你Java的夢(mèng)想插上翅膀第5章數(shù)組一維數(shù)組、二維數(shù)組高級(jí)數(shù)組觀念----為你Java的夢(mèng)想插上翅膀一維數(shù)組對(duì)象聲明一個(gè)數(shù)組并初始數(shù)組內(nèi)容指定的索引值不可超出數(shù)組范圍會(huì)發(fā)生ArrayIndexOutOfBoundsExceptionlength為數(shù)組對(duì)象的屬性成員int[]score={90,85,55,94,77};
for(inti=0;i<score.length;i++)System.out.printf("score[%d]=%d\n",i,score[i]);----為你Java的夢(mèng)想插上翅膀一維數(shù)組對(duì)象當(dāng)您聲明一個(gè)數(shù)組時(shí),其實(shí)就是在配置一個(gè)數(shù)組對(duì)象一個(gè)完整的數(shù)組聲明方式如下int[]arr=newint[10];----為你Java的夢(mèng)想插上翅膀一維數(shù)組對(duì)象數(shù)據(jù)型態(tài)初始值byte0short0int0long0Lfloat0.0fdouble0.0dchar\u0000booleanfalse對(duì)象null----為你Java的夢(mèng)想插上翅膀一維數(shù)組對(duì)象int[]arr=newint[10];
System.out.print("arr初始值:");for(inti=0;i<arr.length;i++){System.out.print(arr[i]+"");arr[i]=i;}System.out.print("\narr設(shè)定值:");for(inti=0;i<arr.length;i++)System.out.print(arr[i]+"");System.out.println();----為你Java的夢(mèng)想插上翅膀一維數(shù)組對(duì)象在使用new新增數(shù)組時(shí)一并指定初始值
int[]score=newint[]{90,85,55,94,77};
for(inti=0;i<score.length;i++)System.out.printf("score[%d]=%d\n",i,score[i]);----為你Java的夢(mèng)想插上翅膀一維數(shù)組對(duì)象intlength=scanner.nextInt();
float[]score=newfloat[length];//動(dòng)態(tài)配置長(zhǎng)度
for(inti=0;i<score.length;i++){System.out.print("輸入分?jǐn)?shù):");floatinput=scanner.nextFloat();score[i]=input;}可以使用動(dòng)態(tài)的方式來聲明數(shù)組長(zhǎng)度,而不用在程序中事先決定數(shù)組大小----為你Java的夢(mèng)想插上翅膀二維數(shù)組對(duì)象二維數(shù)組使用「名稱」與「兩個(gè)索引」來指定存取數(shù)組中的元素以對(duì)象的方式來配置一個(gè)二維數(shù)組對(duì)象int[][]arr= {{1,2,3}, {4,5,6}};for(inti=0;i<arr.length;i++){for(intj=0;j<arr[0].length;j++)System.out.print(arr[i][j]+"");System.out.println();}int[][]arr=newint[2][3];----為你Java的夢(mèng)想插上翅膀二維數(shù)組對(duì)象以對(duì)象的方式來配置一個(gè)二維數(shù)組對(duì)象int[][]arr=newint[2][3];----為你Java的夢(mèng)想插上翅膀二維數(shù)組對(duì)象int[][]arr={{1,2,3}, {4,5,6}};int[]foo=arr[0];//將arr[0]所參考的數(shù)組對(duì)象指定給foofor(inti=0;i<foo.length;i++){System.out.print(foo[i]+"");}System.out.println();foo=arr[1];//將arr[1]所參考的數(shù)組對(duì)象指定給foofor(inti=0;i<foo.length;i++){System.out.print(foo[i]+"");}System.out.println();----為你Java的夢(mèng)想插上翅膀二維數(shù)組對(duì)象使用new配置二維數(shù)組一并指定初值聲明三維以上的數(shù)組int[][]arr=newint[][]{{1,2,3}, {4,5,6}};int[][][]arr={{{1,2,3},{4,5,6}},{{7,8,9},{10,11,12}}};int[][][]arr=newint[2][2][3];----為你Java的夢(mèng)想插上翅膀不規(guī)則數(shù)組intarr[][];
arr=newint[2][];arr[0]=newint[3];//arr[0]參考至長(zhǎng)度為3的一維數(shù)組
arr[1]=newint[5];//arr[1]參考至長(zhǎng)度為5的一維數(shù)組
for(inti=0;i<arr.length;i++){for(intj=0;j<arr[i].length;j++)arr[i][j]=j+1;}
for(inti=0;i<arr.length;i++){for(intj=0;j<arr[i].length;j++)System.out.print(arr[i][j]+"");System.out.println();}----為你Java的夢(mèng)想插上翅膀高級(jí)的數(shù)組操作一維數(shù)組的引用名稱之聲明將同一個(gè)對(duì)象指定給兩個(gè)引用名稱int[]arr=null;int[]arr1={1,2,3,4,5};int[]tmp1=arr1;int[]tmp2=arr1;
System.out.print(“通過tmp1取出數(shù)組值:");for(inti=0;i<tmp1.length;i++)System.out.print(tmp1[i]+"");----為你Java的夢(mèng)想插上翅膀高級(jí)的數(shù)組操作將同一個(gè)對(duì)象指定給兩個(gè)引用名稱System.out.print("\n通過tmp2取出數(shù)組值:");for(inti=0;i<tmp2.length;i++)System.out.print(tmp2[i]+"");
tmp1[2]=9;System.out.print("\n\n通過tmp1取出數(shù)組值:");for(inti=0;i<tmp1.length;i++)System.out.print(tmp1[i]+"");System.out.print("\n通過tmp2取出數(shù)組值:");for(inti=0;i<tmp2.length;i++)System.out.print(tmp2[i]+"");System.out.println();----為你Java的夢(mèng)想插上翅膀高級(jí)的數(shù)組操作將同一個(gè)對(duì)象指定給兩個(gè)引用名稱int[]arr1={1,2,3,4,5};int[]tmp1=arr1;int[]tmp2=arr1;----為你Java的夢(mèng)想插上翅膀高級(jí)的數(shù)組操作int[]arr之后,arr是一維數(shù)組的引用名稱,可以引用任何長(zhǎng)度的一維數(shù)組對(duì)象int[]arr1={1,2,3,4,5};int[]arr2={5,6,7};int[]tmp=arr1;
System.out.print("使用tmp取出arr1中的元素:");for(inti=0;i<tmp.length;i++)System.out.print(tmp[i]+"");
tmp=arr2;System.out.print("\n使用tmp取出arr2中的元素:");for(inti=0;i<tmp.length;i++)System.out.print(tmp[i]+"");System.out.println();----為你Java的夢(mèng)想插上翅膀數(shù)組復(fù)制使用循環(huán)作數(shù)組復(fù)制int[]arr1={1,2,3,4,5};int[]arr2=newint[5];
for(inti=0;i<arr1.length;i++)arr2[i]=arr1[i];
for(inti=0;i<arr2.length;i++)System.out.print(arr2[i]+"");System.out.println();----為你Java的夢(mèng)想插上翅膀數(shù)組復(fù)制使用System類別所提供的arraycopy()方法在JDK6中,也為Arrays類別新增了數(shù)組復(fù)制的copyOf()方法int[]arr1={1,2,3,4,5};int[]arr2=newint[5];
System.arraycopy(arr1,0,arr2,0,arr1.length);
for(inti=0;i<arr2.length;i++)System.out.print(arr2[i]+"");System.out.println();----為你Java的夢(mèng)想插上翅膀Arrays類名稱說明sort()幫助您對(duì)指定的數(shù)組排序,所使用的是快速排序法
binarySearch()讓您對(duì)已排序的數(shù)組(可以使用Arrays.sort())進(jìn)行二元搜尋,如果找到指定的值就傳回該值所在的索引,否則就傳回負(fù)值
fill()當(dāng)您配置一個(gè)數(shù)組之后,會(huì)依數(shù)據(jù)型態(tài)來給定默認(rèn)值,例如整數(shù)數(shù)組就初始為
0,您可以使用Arrays.fill()方法來將所有的元素設(shè)定為指定的值
equals()比較兩個(gè)數(shù)組中的元素值是否全部相等,如果是將傳回true,否則傳回
false----為你Java的夢(mèng)想插上翅膀數(shù)組比較不可用'=='比較兩個(gè)數(shù)組的元素值是否相等int[]arr1={1,2,3,4,5};int[]arr2={1,2,3,4,5};
int[]tmp=arr1;
System.out.println(arr1==tmp);System.out.println(arr2==tmp);----為你Java的夢(mèng)想插上翅膀數(shù)組比較deepEquals()與deepToString()int[][]arr1={{1,2,3}, {4,5,6}, {7,8,9}};int[][]arr2={{1,2,3}, {4,5,6}, {7,8,9}};int[][]arr3={{0,1,3}, {4,6,4}, {7,8,9}};
System.out.println("arr1內(nèi)容等于arr2?"+Arrays.deepEquals(arr1,arr2));System.out.println("arr1內(nèi)容等于arr3?"+Arrays.deepEquals(arr1,arr3));System.out.println("arr1deepToString()\n\t"+Arrays.deepToString(arr1));----為你Java的夢(mèng)想插上翅膀foreach與數(shù)組加強(qiáng)的for循環(huán)(EnhancedforLoop)J2SE5.0之前在J2SE5.0之后for(typeelement:array){
System.out.println(element)....}int[]arr={1,2,3,4,5};for(inti=0;i<arr.length;i++)System.out.println(arr[i]);int[]arr={1,2,3,4,5};for(intelement:arr)System.out.println(element);----為你Java的夢(mèng)想插上翅膀foreach與數(shù)組如果是對(duì)象的話二維數(shù)組String[]names={"caterpillar","momor","bush"};for(Stringname:names)System.out.println(name);int[][]arr={{1,2,3},{4,5,6},{7,8,9}};for(int[]row:arr){for(intelement:row){System.out.println(element);}}----為你Java的夢(mèng)想插上翅膀?qū)ο髷?shù)組以下產(chǎn)生幾個(gè)對(duì)象?以下的聲明產(chǎn)生幾個(gè)對(duì)象?以下產(chǎn)生幾個(gè)對(duì)象?int[]arr=newint[3];int[][]arr=newint[2][3];Integer[]arr=newInteger[3];----為你Java的夢(mèng)想插上翅膀?qū)ο髷?shù)組以下的聲明產(chǎn)生幾個(gè)對(duì)象?Integer[][]arr=newInteger[2][3];----為你Java的夢(mèng)想插上翅膀本章需要掌握的內(nèi)容1.會(huì)定義一維數(shù)組和二維數(shù)組2.會(huì)依次取出或設(shè)置一維數(shù)組和二維數(shù)組內(nèi)的元素3.記得數(shù)組元素默認(rèn)的初始值4.會(huì)使用System.arraycopy()復(fù)制數(shù)組5.會(huì)使用Arrays類進(jìn)行數(shù)組操作----為你Java的夢(mèng)想插上翅膀練習(xí)題1.隨機(jī)生成【1-100】之間的整數(shù),將這些數(shù)放到數(shù)組中,數(shù)組大小為100,然后查找88這個(gè)數(shù),返回其所在的索引位置。如果找不到,就找88+1,以此類推,直到找到,如果找到100還沒有找到,就打印“沒有找到”。如果找到,將找到的這個(gè)索引到0處的數(shù)組元素copy到一個(gè)新的數(shù)組進(jìn)行輸出。-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動(dòng)合同標(biāo)準(zhǔn)格式范文
- 簡(jiǎn)易自愿離婚合同模板
- 菜鳥驛站快遞柜租賃合同
- 餐飲企業(yè)戰(zhàn)略合作區(qū)域代理合同樣本
- 老舊農(nóng)村房屋轉(zhuǎn)讓合同范本
- 自行車安全培訓(xùn)課件
- 木工機(jī)械的現(xiàn)代控制技術(shù)考核試卷
- 木質(zhì)游藝器材制作工藝考核試卷
- 批發(fā)行業(yè)的品牌形象塑造考核試卷
- 合成材料在汽車制造領(lǐng)域的應(yīng)用研究考核試卷
- 2024年云上貴州大數(shù)據(jù)(集團(tuán))有限公司招聘筆試沖刺題(帶答案解析)
- 珠海市高級(jí)技工學(xué)校校企合作管理辦法修訂
- GB 31825-2024制漿造紙單位產(chǎn)品能源消耗限額
- 消防設(shè)施操作員報(bào)名工作證明(操作員)
- 小學(xué)四年級(jí)心理健康教育課
- 供應(yīng)商開發(fā)流程及質(zhì)量要求
- 2024年技術(shù)監(jiān)督質(zhì)檢職業(yè)技能考試-電力技術(shù)監(jiān)督上崗員(中國(guó)華能)筆試歷年真題薈萃含答案
- 反假幣測(cè)試附有答案
- 怎樣調(diào)動(dòng)員工積極性
- 2024年內(nèi)科護(hù)理學(xué)(第七版)期末考試復(fù)習(xí)題庫(kù)(含答案)
- 急診科培訓(xùn)急診科與其他科室的協(xié)作與溝通
評(píng)論
0/150
提交評(píng)論