11數(shù)組的概念ppt課件_第1頁(yè)
11數(shù)組的概念ppt課件_第2頁(yè)
11數(shù)組的概念ppt課件_第3頁(yè)
11數(shù)組的概念ppt課件_第4頁(yè)
11數(shù)組的概念ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、-數(shù)組的聲明與使用,1.數(shù)組的概念,2.一維數(shù)組的聲明與初始化,3.數(shù)組的訪(fǎng)問(wèn),4.增強(qiáng)for循環(huán)(for each),5.二維數(shù)組的聲明與初始化,2,數(shù)組概述,3,數(shù)組是用來(lái)存儲(chǔ)一組相同類(lèi)型數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu) 數(shù)組變量屬于引用數(shù)據(jù)類(lèi)型 數(shù)組中的元素可以是任何數(shù)據(jù)類(lèi)型 (基本類(lèi)型和引用類(lèi)型) 數(shù)組被創(chuàng)建好之后,它的大小是不能改變的,但是數(shù)組中的各個(gè)元素是可以被改變的,一維數(shù)組的聲明,一維數(shù)組的聲明方式: 數(shù)據(jù)類(lèi)型 數(shù)組變量名; 或 數(shù)據(jù)類(lèi)型 數(shù)組變量名; 例如: int a; double b ; Mydate c; Java語(yǔ)言中聲明數(shù)組時(shí)不能指定其長(zhǎng)度(數(shù)組中元素的個(gè)數(shù)),而需要在數(shù)組的創(chuàng)建階

2、段來(lái)指定。例如: int a5; /非法,4,數(shù)組對(duì)象的創(chuàng)建,Java中使用關(guān)鍵字new 創(chuàng)建數(shù)組對(duì)象,指定數(shù)組的大小,給數(shù)組元素的存儲(chǔ)分配空間。 格式:數(shù)組變量名 = new 數(shù)組元素的類(lèi)型 數(shù)組元素的個(gè)數(shù);,5,數(shù)組的初始化,在創(chuàng)建成功一個(gè)數(shù)組之后,它將完成如下三個(gè)動(dòng)作: 1. 創(chuàng)建一個(gè)數(shù)組對(duì)象 2. 在內(nèi)存中給數(shù)組分配存儲(chǔ)空間 3. 給數(shù)組的元素初始化一個(gè)相應(yīng)的數(shù)據(jù)類(lèi)型的默認(rèn)值. 在創(chuàng)建完數(shù)組后,可以對(duì)數(shù)組進(jìn)行初始化,也就是給數(shù)組的各個(gè)元素進(jìn)行賦值。 可以采用兩種方式為數(shù)組進(jìn)行初始化: 靜態(tài)初始化 動(dòng)態(tài)初始化,6,數(shù)組的靜態(tài)初始化,在數(shù)組定義的同時(shí),對(duì)數(shù)組進(jìn)行初始化 例如: int a

3、= 1,3,5,7,9,11; String s = “a”,”b”,”c”; 注意:數(shù)組的大小由大擴(kuò)號(hào)里的元素的個(gè)數(shù)決 利用這種方式進(jìn)行數(shù)組的初始化,其實(shí)完成了三步動(dòng)作: 數(shù)組聲明 數(shù)組創(chuàng)建 數(shù)組初始化,7,數(shù)組的動(dòng)態(tài)初始化,所謂數(shù)組的動(dòng)態(tài)初始化,就是將數(shù)組的定義和數(shù)組的初始化分開(kāi)來(lái)進(jìn)行。 例子: int a = new int2; a0 = 1; a1 = 10; 或者: int a; a = new int10; for (int i = 0;i10;i+) ai = 2*i+1; ,8,基本數(shù)據(jù)類(lèi)型數(shù)組的定義,在定義數(shù)組的時(shí)候,系統(tǒng)會(huì)給這個(gè)數(shù)組分配用于存放這個(gè)數(shù)組的內(nèi)存空間。它會(huì)在棧內(nèi)

4、存空間 中(Heap)給數(shù)組分配一個(gè)空間用來(lái)存放數(shù)組的引用變量。 以int類(lèi)型數(shù)組為例:,int arr;,棧內(nèi)存,堆內(nèi)存,9,基本數(shù)據(jù)類(lèi)型數(shù)組的創(chuàng)建,在創(chuàng)建簡(jiǎn)單數(shù)據(jù)類(lèi)型的數(shù)組的時(shí)候,系統(tǒng)會(huì)分配合適的空間用來(lái)存放該種數(shù)據(jù)類(lèi)型的數(shù)據(jù)的內(nèi)存空間(分配在堆內(nèi)存中),并且將這個(gè)數(shù)組的各個(gè)元素賦一個(gè)和數(shù)組類(lèi)型匹配的初值。 arr=new int10;,10,棧內(nèi)存,0,0,0,0,0,0,0,0,0,0,堆內(nèi)存,arr,基本數(shù)據(jù)類(lèi)型數(shù)組的創(chuàng)建,對(duì)于簡(jiǎn)單數(shù)據(jù)類(lèi)型的數(shù)組,當(dāng)對(duì)其進(jìn)行初始化時(shí),會(huì)將對(duì)應(yīng)的值付給對(duì)應(yīng)的各個(gè)數(shù)組元素。 例如: int arr=new int10; for(int i=0;i10;i

5、+) arri=i+1; ,11,arr,棧內(nèi)存,1,int對(duì)象,2,3,4,5,6,7,8,9,10,堆內(nèi)存,引用數(shù)據(jù)類(lèi)型數(shù)組的定義,引用類(lèi)型數(shù)組的定義和簡(jiǎn)單類(lèi)型數(shù)據(jù)類(lèi)型數(shù)組的定義相同,12,arr,棧內(nèi)存,堆內(nèi)存,String arr;,引用數(shù)據(jù)類(lèi)型數(shù)組的創(chuàng)建,引用數(shù)據(jù)類(lèi)型數(shù)組在創(chuàng)建的時(shí)候也是首先給數(shù)組元素分配內(nèi)存空間,然后給這些數(shù)組元素一個(gè)默認(rèn)的初始值null。,棧內(nèi)存,arr,null,String對(duì)象,null,null,null,null,null,null,null,null,null,堆內(nèi)存,arr = new String10;,13,引用數(shù)據(jù)類(lèi)型數(shù)組的初始化,在進(jìn)行引用數(shù)據(jù)

6、類(lèi)型數(shù)組的初始化的時(shí)候,和簡(jiǎn)單數(shù)據(jù)類(lèi)型數(shù)組的初始化有些不同,因?yàn)閿?shù)組本身是引用類(lèi)型,而現(xiàn)在數(shù)組元素也是引用類(lèi)型,所以這個(gè)時(shí)候需要給數(shù)組元素所引用的對(duì)象也分配內(nèi)存空間。,arr,棧內(nèi)存,*,String對(duì)象,*,*,*,*,*,*,*,*,*,堆內(nèi)存,one,two,thuree,four,five,six,seven,eight,nine,ten,String對(duì)象,arr0=new String(“one”); arr1=new String(“two”); arr9=new String(“ten”);,14,數(shù)組元素的引用,數(shù)組在定義并為之分配空間后,才可以引用數(shù)組中的每個(gè)元素 數(shù)組元素的

7、引用方式:arrayNameindex index 為數(shù)組元素下標(biāo)(索引) 數(shù)組元素下標(biāo)從0開(kāi)始; 長(zhǎng)度為n的數(shù)組,下標(biāo)取值范圍:0 n-1;,15,數(shù)組元素的引用,每個(gè)數(shù)組都有一個(gè)屬性length指明它的長(zhǎng)度,例如: arr.length 可獲取數(shù)組arr的長(zhǎng)度; 元素的索引必須小于數(shù)組的長(zhǎng)度,否則會(huì)產(chǎn)生數(shù)組越界異常,public class TestArray public static void main(String args) int a = 2, 4, 6, 7, 3, 5, 1, 9, 8; for(int i = 0; i a.length; i+) System.out.pr

8、int(ai + ); ,16,增強(qiáng)的for循環(huán),在JDK5.0中新增了一個(gè)增強(qiáng)的for循環(huán)語(yǔ)法: 例:,int arr = 2, 4, 6, 7, 3, 5, 1, 9, 8; for(int element : arr) System.out.print(element + ); ,for(type element : array) System.out.println(element); ,17,增強(qiáng)的for循環(huán),缺陷: 遍歷數(shù)組或集合時(shí)無(wú)法訪(fǎng)問(wèn)索引(下標(biāo))值 用途: 只適合遍歷顯示數(shù)組或集合中元素的內(nèi)容。,18,二維數(shù)組,Java并沒(méi)有真正的多維數(shù)組,二維數(shù)組可以看成以數(shù)組為元素的數(shù)組

9、。如: int a = 1, 4,5,6, 7,8;,19,二維數(shù)組的初始化,動(dòng)態(tài)初始化 int a = new int45; int b = new int3; b0 = new int2; b1 = new int3; b2 = new int5; 靜態(tài)初始化: int array = 1,2,2,3,3,4,5; int 32 array1 = 1,2,2,3,4,5; /非法的,20,二維數(shù)組示例,public class Test public static void main(String args) int a = 1,2, 2,3,4,5, 5,6,7; for(int i = 0; i a.length; i+) for(int j = 0; j ai.length;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論