java學(xué)習(xí)-基礎(chǔ)第05章數(shù)組_第1頁(yè)
java學(xué)習(xí)-基礎(chǔ)第05章數(shù)組_第2頁(yè)
java學(xué)習(xí)-基礎(chǔ)第05章數(shù)組_第3頁(yè)
java學(xué)習(xí)-基礎(chǔ)第05章數(shù)組_第4頁(yè)
java學(xué)習(xí)-基礎(chǔ)第05章數(shù)組_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論