《C#程序設(shè)計》課件第5章數(shù)組_第1頁
《C#程序設(shè)計》課件第5章數(shù)組_第2頁
《C#程序設(shè)計》課件第5章數(shù)組_第3頁
《C#程序設(shè)計》課件第5章數(shù)組_第4頁
《C#程序設(shè)計》課件第5章數(shù)組_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)組思政目標(biāo):

?邏輯是代碼設(shè)計中的關(guān)鍵,通過學(xué)習(xí)數(shù)組,加強(qiáng)邏輯思維能力

?通過編程訓(xùn)練,培養(yǎng)動手能力及團(tuán)隊(duì)協(xié)作能力技能要求:

?掌握數(shù)組的基本概念、聲明及初始化

?了解數(shù)組的訪問與遍歷

?了解數(shù)組的Array類

?理解并掌握索引器的定義和使用實(shí)踐目標(biāo):

?能夠在編程中熟練使用數(shù)組

?能夠?qū)?shù)組進(jìn)行基本的操作,為以后的編程做鋪墊第5章數(shù)組聲明和初始化訪問元素數(shù)組的基本操作聲明和初始化01PART數(shù)組是一個數(shù)據(jù)結(jié)構(gòu),用來存儲相同類型元素。其中,需要說明的有以下兩點(diǎn)。(1)數(shù)組分為一維和多維,其訪問方式由相同數(shù)組名稱和不同索引來實(shí)現(xiàn)。(2)元素的類型可以是引用類型或者整型這些基本類型。聲明和初始化聲明和初始化在數(shù)組的分類中,一維數(shù)組的使用最普遍,其一般聲明方式如下:類型[]數(shù)組名稱=new類型[數(shù)組大小];數(shù)組的聲明聲明和初始化該聲明中,需要注意“=”左側(cè)的中括號位置。另外,類型可以為各種數(shù)據(jù)類型,數(shù)組大小指明了所能容納的元素個數(shù),數(shù)組的索引是從0開始的數(shù)組的聲明聲明和初始化類型[]數(shù)組名稱;數(shù)組名稱=new類型[數(shù)組大小];例如,聲明一個整數(shù)類型數(shù)組,數(shù)組共4個元素數(shù)組的聲明聲明和初始化在某些場合下,需要使用高維數(shù)組,其一般聲明方式如下:類型[,,…,]數(shù)組名稱=new類型[第一維大小,第二維大小,…,第N維大小];例如,聲明一個二維數(shù)組,數(shù)組共30個元素數(shù)組的聲明聲明和初始化聲明數(shù)組,是為在其中存放數(shù)據(jù),在使用數(shù)組前,都需對其進(jìn)行初始化。若一個數(shù)組沒有初始化,只進(jìn)行了聲明,其中存放的數(shù)據(jù)會如何?數(shù)組的聲明聲明和初始化聲明數(shù)組,是為在其中存放數(shù)據(jù),在使用數(shù)組前,都需對其進(jìn)行初始化。若一個數(shù)組沒有初始化,只進(jìn)行了聲明,其中存放的數(shù)據(jù)會如何?數(shù)組的聲明聲明和初始化數(shù)組元素的默認(rèn)值是有規(guī)則的,其規(guī)則如表所示。聲明和初始化數(shù)組元素默認(rèn)值數(shù)值類型0字符類型0枚舉類型0布爾類型False引用類型null數(shù)組的初始化一般采用如下方式:類型[]數(shù)組名稱=new類型[數(shù)組大小]{與數(shù)組大小相等個數(shù)的元素值列表};數(shù)組的初始化聲明和初始化初始化時,初值的個數(shù)必須與數(shù)組大小相等,否則會出現(xiàn)編譯錯誤數(shù)組的初始化聲明和初始化在C#中還有一種特殊的二維數(shù)組,即鋸齒數(shù)組。該種聲明方式不能跨語言,否則違背公共語言規(guī)范,不推薦使用。數(shù)組的初始化聲明和初始化訪問元素02PART數(shù)組的訪問是通過數(shù)組名和索引來進(jìn)行的,其中,索引從0開始。該代碼的作用是通過數(shù)組名和索引將數(shù)據(jù)存入數(shù)組中訪問元素讀取數(shù)據(jù)訪問元素若想訪問數(shù)組元素,除上述方式外,還可以通過循環(huán)遍歷,且循環(huán)遍歷更為常用。進(jìn)行循環(huán)遍歷時,為避免數(shù)組訪問出現(xiàn)越界錯誤,需要借助數(shù)組的Length屬性訪問元素數(shù)組遍歷——for循環(huán)訪問元素數(shù)組遍歷——foreach訪問元素數(shù)組復(fù)制一些場合中,我們需要使用數(shù)組復(fù)制聯(lián)系相關(guān)數(shù)組。復(fù)制的一種情況是將一個數(shù)組變量的引用傳遞給另一個數(shù)組;如果一個數(shù)組發(fā)生改變,那么引用同一數(shù)組的變量也要發(fā)生改變。另外一種情況是已經(jīng)復(fù)制的數(shù)組有自己的存儲空間。從執(zhí)行結(jié)果中可以發(fā)現(xiàn):對iDes1和iDes2中的元素進(jìn)行輸出時,兩種數(shù)組復(fù)制方式的結(jié)果相同,即都成功完成了復(fù)制;但源內(nèi)容發(fā)生改變后,再進(jìn)行輸出,iDes1結(jié)果發(fā)生改變,而iDes2仍不變。造成這種結(jié)果的原因在于:使用iDes1=iSrc完成的復(fù)制,賦值的是引用,本質(zhì)是令iDes1與iSrc指向相同的存儲空間,故隨著iSrc的改變,iDes1也會發(fā)生相同的改變;而iDes2則具有自己的存儲空間,所以在復(fù)制完成后,它便不再受iSrc的影響。訪問元素數(shù)組復(fù)制根據(jù)提供的一系列數(shù)值,求其和值、最大值、最小值訪問元素數(shù)組參數(shù)數(shù)組的基本操作03PARTArray的常用屬性數(shù)組的基本操作Array類屬性作用Length32位整數(shù),表示所有元素個數(shù)LongLength64位整數(shù),表示所有元素個數(shù)Rank獲取Array的維數(shù)(秩)IsFixedSize總是trueIsReadOnly總是falseArray的常用屬性實(shí)例數(shù)組的基本操作Array類Array的常用方法數(shù)組的基本操作Array類方法作用Clear()將元素設(shè)置為默認(rèn)輸出值0或nullClone()復(fù)制數(shù)組Copy()將當(dāng)前一維數(shù)組復(fù)制到指定的一維數(shù)組中GetLength()獲取數(shù)組指定維的元素個數(shù)GetLowerBound()獲取數(shù)組中指定維度的下限GetUpperBound()獲取數(shù)組中指定維度的上限GetValue()獲取當(dāng)前數(shù)組中指定元素的值Reverse()反轉(zhuǎn)給定的一維數(shù)組元素的順序SetValue()給當(dāng)前數(shù)組中的指定元素賦值IndexOf()某個值在數(shù)組中首次出現(xiàn)的索引Sort()對數(shù)組元素進(jìn)行排序CreateInstance()根據(jù)提供的參數(shù)創(chuàng)建一個Array類的新實(shí)例,即動態(tài)創(chuàng)建數(shù)組Array的常用屬性數(shù)組的基本操作Array類屬性作用Length32位整數(shù),表示所有元素個數(shù)LongLength64位整數(shù),表示所有元素個數(shù)Rank獲取Array的維數(shù)(秩)IsFixedSize總是trueIsReadOnly總是false數(shù)組的基本操作Array的方法演示數(shù)組的基本操作從程序的執(zhí)行結(jié)果可以看到:(1)CreateInstance(Type,Length)用于創(chuàng)建指定類型和大小的數(shù)組。(2)SetValue(value,index)用于給數(shù)組的索引為index的元素賦值value。(3)GetValue(index)獲取數(shù)組的索引為index的值。(4)Array.Copy(arrSrc,arrDes,Length)將源數(shù)組的前Length個值復(fù)制到目標(biāo)數(shù)組中。(5)myArr.CopyTo(arrDes,index)將myArr復(fù)制到arrDes中,目標(biāo)位置從index開始。(6)Copy和CopyTo方法完成的復(fù)制,源數(shù)組的改變不會影響目標(biāo)數(shù)組。(7)Array.Sort(myArr)將myArr的元素按照升序排列。(8)Array.Clear(myArr,2,3)將myArr數(shù)組從index=2的位置開始,對3個值清零。索引器是一個與屬性很類似的類成員,可以具有g(shù)et和set兩個訪問器,分別用于實(shí)現(xiàn)讀和寫的功能。索引的主要不同之處在于:定義索引器時一定要使用this關(guān)鍵字,而不需要像定義屬性一樣要程序編寫人員定義一個屬性名字;索引器一定需要參數(shù);索引器不能定義為static。索引器主要用于為封裝在類內(nèi)部的數(shù)組或者集合提供一種類似于數(shù)組的訪問方式,類似于上述string示例的訪問方式。這樣,索引器同時兼具屬性的特性和數(shù)組的便利訪問特性。索引器是比數(shù)組更聰明的一類數(shù)組,或者說是像數(shù)組一樣有訪問的屬性。另外,可以用索引器對集合進(jìn)行封裝。數(shù)組的基本操作索引器索引器定義的一般形式如下:訪問修飾符類型this[參數(shù)列表] { get{//返回參數(shù)所指定的元素值} set{//給參數(shù)所指定的元素賦值} }數(shù)組的基本操作索引器下面的示例將在類內(nèi)部定義一個int型數(shù)組,然后以索引器完成對該數(shù)組的封裝訪問。由于該數(shù)組定義為int類型,而索引器的目的就是實(shí)現(xiàn)對該數(shù)組的訪問,故索引器的類型也應(yīng)該定義為int類型數(shù)組的基本操作索引器數(shù)組的基本操作索引器觀察上述代碼不難發(fā)現(xiàn)索引器的特性。由于對index的判斷,避免了數(shù)組的越界錯誤。不過這也帶來一個問題,用戶如果訪問越界,異常不再觸發(fā),用戶不知道已經(jīng)越界。為避免出錯而不知的情況,程序采用了

溫馨提示

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

評論

0/150

提交評論