版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)組思政目標:
?邏輯是代碼設(shè)計中的關(guān)鍵,通過學(xué)習(xí)數(shù)組,加強邏輯思維能力
?通過編程訓(xùn)練,培養(yǎng)動手能力及團隊協(xié)作能力技能要求:
?掌握數(shù)組的基本概念、聲明及初始化
?了解數(shù)組的訪問與遍歷
?了解數(shù)組的Array類
?理解并掌握索引器的定義和使用實踐目標:
?能夠在編程中熟練使用數(shù)組
?能夠?qū)?shù)組進行基本的操作,為以后的編程做鋪墊第5章數(shù)組聲明和初始化訪問元素數(shù)組的基本操作聲明和初始化01PART數(shù)組是一個數(shù)據(jù)結(jié)構(gòu),用來存儲相同類型元素。其中,需要說明的有以下兩點。(1)數(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ù)組前,都需對其進行初始化。若一個數(shù)組沒有初始化,只進行了聲明,其中存放的數(shù)據(jù)會如何?數(shù)組的聲明聲明和初始化聲明數(shù)組,是為在其中存放數(shù)據(jù),在使用數(shù)組前,都需對其進行初始化。若一個數(shù)組沒有初始化,只進行了聲明,其中存放的數(shù)據(jù)會如何?數(shù)組的聲明聲明和初始化數(shù)組元素的默認值是有規(guī)則的,其規(guī)則如表所示。聲明和初始化數(shù)組元素默認值數(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ù)組名和索引來進行的,其中,索引從0開始。該代碼的作用是通過數(shù)組名和索引將數(shù)據(jù)存入數(shù)組中訪問元素讀取數(shù)據(jù)訪問元素若想訪問數(shù)組元素,除上述方式外,還可以通過循環(huán)遍歷,且循環(huá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中的元素進行輸出時,兩種數(shù)組復(fù)制方式的結(jié)果相同,即都成功完成了復(fù)制;但源內(nèi)容發(fā)生改變后,再進行輸出,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ù)組的基本操作Array類Array的常用方法數(shù)組的基本操作Array類方法作用Clear()將元素設(shè)置為默認輸出值0或nullClone()復(fù)制數(shù)組Copy()將當前一維數(shù)組復(fù)制到指定的一維數(shù)組中GetLength()獲取數(shù)組指定維的元素個數(shù)GetLowerBound()獲取數(shù)組中指定維度的下限GetUpperBound()獲取數(shù)組中指定維度的上限GetValue()獲取當前數(shù)組中指定元素的值Reverse()反轉(zhuǎn)給定的一維數(shù)組元素的順序SetValue()給當前數(shù)組中的指定元素賦值IndexOf()某個值在數(shù)組中首次出現(xiàn)的索引Sort()對數(shù)組元素進行排序CreateInstance()根據(jù)提供的參數(shù)創(chuàng)建一個Array類的新實例,即動態(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ù)制到目標數(shù)組中。(5)myArr.CopyTo(arrDes,index)將myArr復(fù)制到arrDes中,目標位置從index開始。(6)Copy和CopyTo方法完成的復(fù)制,源數(shù)組的改變不會影響目標數(shù)組。(7)Array.Sort(myArr)將myArr的元素按照升序排列。(8)Array.Clear(myArr,2,3)將myArr數(shù)組從index=2的位置開始,對3個值清零。索引器是一個與屬性很類似的類成員,可以具有g(shù)et和set兩個訪問器,分別用于實現(xiàn)讀和寫的功能。索引的主要不同之處在于:定義索引器時一定要使用this關(guān)鍵字,而不需要像定義屬性一樣要程序編寫人員定義一個屬性名字;索引器一定需要參數(shù);索引器不能定義為static。索引器主要用于為封裝在類內(nèi)部的數(shù)組或者集合提供一種類似于數(shù)組的訪問方式,類似于上述string示例的訪問方式。這樣,索引器同時兼具屬性的特性和數(shù)組的便利訪問特性。索引器是比數(shù)組更聰明的一類數(shù)組,或者說是像數(shù)組一樣有訪問的屬性。另外,可以用索引器對集合進行封裝。數(shù)組的基本操作索引器索引器定義的一般形式如下:訪問修飾符類型this[參數(shù)列表] { get{//返回參數(shù)所指定的元素值} set{//給參數(shù)所指定的元素賦值} }數(shù)組的基本操作索引器下面的示例將在類內(nèi)部定義一個int型數(shù)組,然后以索引器完成對該數(shù)組的封裝訪問。由于該數(shù)組定義為int類型,而索引器的目的就是實現(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《縣支中心資源獲取》課件
- 法理學(xué)第七章法的要素
- 世紀網(wǎng)通-中繼網(wǎng)關(guān)-x6-2.1技術(shù)規(guī)格及功能說明
- TCL王牌美之彩系列彩電農(nóng)村市場整合推廣傳播手冊
- 2024餐飲規(guī)章制度
- 《廉政從政專題黨課》課件
- GBT-氣相色譜-質(zhì)譜法測定沉積物和原油中生物標志物編制說明
- 2024水庫工程風(fēng)險防范與應(yīng)急管理合同范本3篇
- 2024無錫個人房產(chǎn)買賣房產(chǎn)證辦理合同3篇
- 2024房屋租賃押金合同2篇
- 2024年機動車檢測站質(zhì)量手冊程序文件記錄表格合集(根據(jù)補充要求編制)
- 公司未來發(fā)展規(guī)劃及目標制定
- 2024年01月11067知識產(chǎn)權(quán)法期末試題答案
- 中國特色大國外交和推動構(gòu)建人類命運共同體
- 《風(fēng)電場項目經(jīng)濟評價規(guī)范》(NB-T 31085-2016)
- 走遍德國 A1(課堂PPT)
- 照明公司個人工作總結(jié)范文
- 熱控專業(yè)施工質(zhì)量驗收范圍劃分表
- 2022年sppb簡易體能狀況量表
- 各類傳染病個案調(diào)查表集
- 全口義齒PPT課件
評論
0/150
提交評論