版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
單元4使用方法、數(shù)組與String類單元4使用方法、數(shù)組與String類4.2技術(shù)與知識準備4.2.1方法在C語言中,我們自己寫過方法,那么使用方法有什么好處呢?方法是類的一種行為,方法會使我們的代碼容易修改、方便閱讀、實現(xiàn)封裝和重用。比如我們以前用過好多.NET定義好的類的方法,例如:Console.ReadLine(),ReadLine()就是系統(tǒng)定義好的方法。除了使用.NET提供的類的方法,我們也可以自己來定義方法。
單元4使用方法、數(shù)組與String類
定義方法方法定義:訪問修飾符<返回類型>方法名([<參數(shù)列表>]){[<語句組>][<return>[<表達式>];]}說明:1.什么是訪問修飾符呢?就是可訪問的級別,public是公共的,private是私有的。在程序中,如果將方法聲明為public,就表示可以在其他類中使用,如果聲明為private,那么就只能在該類中使用。2.返回類型是必選項,它指定了方法返回值的數(shù)據(jù)類型,可以指定為任何的數(shù)據(jù)類型,如int、double等。如果方法沒有返回值,那么必須使用void關(guān)鍵字來指定。3.方法名為方法的名稱,它的取名遵循C#的合法標識符規(guī)則,并且方法的命名應(yīng)當采用Pascal風(fēng)格,就是組成方法名的單詞直接相連,每個單詞的首字母大寫,例如ReadLine()。4.參數(shù)列表是可選的,在調(diào)用方法時,它用來給方法傳遞信息。聲明方法時,如果有參數(shù),則必須寫在方法名后面的小括號中,并且必須指定它的類型和名稱;若有多個參數(shù),需要用逗號(,)隔開,例如:”intn1,intn2”,聲明方法時的參數(shù),稱為形式參數(shù),簡稱形參。5.語句組即方法體,是調(diào)用方法時執(zhí)行的代碼塊。它是可選項,但一般都會有方法體。6.return為可選項,用于給方法返回一個指定數(shù)據(jù)類型的值。單元4使用方法、數(shù)組與String類
向方法中傳遞參數(shù)1.值傳遞我們要定義一個方法來計算累加,方法的名字取名為Fact,我們將n的值作為方法的參數(shù)傳入,將計算結(jié)果作為方法的返回值,修改代碼如下。staticvoidMain(string[]args){Console.WriteLine("inputnumber:");intt;t=int.Parse(Console.ReadLine());Console.WriteLine("sum="+Fact(t));}privatestaticlongFact(intn){longsum=0;for(inti=1;i<=n;i++)sum=sum+i;圖4.2運行結(jié)果
returnsum;}單元4使用方法、數(shù)組與String類2.按引用傳遞參數(shù)
除了上面的值傳遞參數(shù)外,我們還可以按引用傳遞參數(shù),這樣可以在方法調(diào)用之后,仍然保留對參數(shù)值的修改。按引用傳遞參數(shù),需要ref關(guān)鍵字修飾參數(shù),代碼如下。classProgram{staticvoidMain(string[]args){Console.Write("inputn=");intn=int.Parse(Console.ReadLine());Add(refn);Console.WriteLine("n="+n);}privatestaticvoidAdd(refintn){n=n+10;}單元4使用方法、數(shù)組與String類1.聲明語法數(shù)據(jù)類型[]數(shù)組名;例如:int[]a;2.指定數(shù)組大小要使用new關(guān)鍵字指定大小例如:int[]a;a=newint[5];可合并兩步為:int[]a=newint[5];3.初始化方法一:int[]a=newint[5]{1,2,3,4,5};方法二:int[]a=newint[]{1,2,3,4,5};方法三:int[]a={1,2,3,4,5};4.2.3數(shù)組單元4使用方法、數(shù)組與String類一般形式:foreach(<數(shù)據(jù)類型><循環(huán)變量>in<數(shù)組>){循環(huán)體}說明:1.<數(shù)據(jù)類型>是與數(shù)組的元素相匹配的數(shù)據(jù)類型。2.<循環(huán)變量>是一個普通的變量,一般用來表示數(shù)組中的元素例如:int[]a=newint[5]{1,2,3,4,5};intf=1;foreach(intiina)f=f*i;上述代碼執(zhí)行后,f的值為數(shù)組中所有元素的積,即120。4.2.4foreach語句單元4使用方法、數(shù)組與String類字符串是我們在程序當中非常常用的一種類型,在C#中有一個String類,它位于System命名空間中,屬于.NETFramework類庫,而我們以前一直在用的string只不過是String類在C#中的一個別名?,F(xiàn)在就讓我們一起來認識一下強大的String類。我們常常使用格式字符串和參數(shù)列表的形式輸出數(shù)據(jù),如:stringaddress=”江蘇蘇州”;Console.WriteLine(“我的籍貫是{0}”,address);其中的”我的籍貫是{0}”叫做格式字符串,格式字符串后面的部分叫做格式列表,格式字符串中的{x}叫做占位符。其實,String類提供了一個很強大的Format()方法來格式化字符串。Format()方法允許把字符串、數(shù)字或布爾類型的變量插入到格式字符串中,它的語法如下:stringstr=string.Format(“格式字符串”,參數(shù)列表);例如:stringstr=string.Format(“{0}+{1}={2}”,2,3,2+3);其中,“{0}+{1}={2}”就是一個格式字符串,{0}、{1}、{2}分別對應(yīng)于后面的2、3、2+3,占位符中的數(shù)字0、1、2分別對應(yīng)于參數(shù)列表中的第1、2、3個參數(shù),這條語句的運行結(jié)果為:2+3=5。4.2.5C#中的String類單元4使用方法、數(shù)組與String類排序采用的是冒泡排序法。假定有一組數(shù)據(jù):8,3,5,1,9,6,它們第一輪冒泡排序的過程如圖4.5所示,你能看出排序的規(guī)律嗎?4.2.6冒泡排序如圖4.5所示,你能看出排序的規(guī)律嗎?最大值到最后。冒泡排序就是從第一個元素開始,用它和它緊挨著的后一個元素比較,如果后面的元素小于前面的元素,就交換它們,否則保持原樣,然后轉(zhuǎn)移到后一個位置,重復(fù)以上過程,最后,最大的元素已經(jīng)定位,即最后位置。單元4使用方法、數(shù)組與String類第二輪比較如圖4.6所示。4.2.6冒泡排序第二輪下來,大家發(fā)現(xiàn)什么規(guī)律了嗎?次大值到最后第二的位置,并且第二輪的比較次數(shù)比上一輪減少了一次。依次類推,最終完成排序任務(wù)。單元4使用方法、數(shù)組與String類通過對以上小節(jié)內(nèi)容的學(xué)習(xí),我們了解了方法的定義、值傳遞、引用傳遞以及數(shù)組的定義使用等,現(xiàn)在是時候回到我們4.1節(jié)工作場景的任務(wù)中來了。分析:分別定義數(shù)組的輸入、輸出、排序、求平均值、求最大值最小值五個方法。其中前三個方法無返回值,第四個方法返回值為平均值,第五個方法有兩個返回值,但只能運用一個return語句,所以用return語句返回最大值,最小值采用引用傳遞。4.3回到工作場景1.輸入方法代碼如下。privatestaticvoidInputSZ(int[]a1){for(inti=0;i<a1.Length;i++){intx=int.Parse(Console.ReadLine());a1[i]=x;}}說明:a1.Length求出數(shù)組a1的長度,即數(shù)組的元素個數(shù)。
單元4使用方法、數(shù)組與String類4.3回到工作場景2.輸出方法代碼如下。privatestaticvoidOutputSZ(int[]a){for(inti=0;i<a.Length;i++){Console.Write(a[i]+"");}Console.WriteLine();}3.排序方法代碼如下。privatestaticvoidSort(int[]a2){inttemp;for(inti=0;i<a2.Length-1;i++){for(intj=0;j<a2.Length-i-1;j++)if(a2[j]>a2[j+1]){temp=a2[j];a2[j]=a2[j+1];a2[j+1]=temp;
}}}單元4使用方法、數(shù)組與String類4.3回到工作場景4.求平均值方法代碼如下。privatestaticdoubleAvg(int[]a){intsum=0;foreach(intiina)sum=sum+i;doubleaverage=(1.0*sum)/a.Length;returnaverage;}說明:求平均值用總成績除以數(shù)組的長度,為什么要乘以1.0呢?因為在C#中,整數(shù)除以整數(shù),結(jié)果為整數(shù),例如:100/21=4,與實際結(jié)果4.76相差甚遠,1.0*sum結(jié)果是實數(shù),實數(shù)/整數(shù),結(jié)果也為實數(shù)。單元4使用方法、數(shù)組與String類4.3回到工作場景5.求最大值最小值方法如下。privatestaticintMaxMin(int[]a,refintmin){intmax=0;for(inti=0;i<a.Length;i++){if(max<a[i])max=a[i];if(min>a[i])min=a[i];}returnmax;}說明:因為要返回兩個值(最大值和最小值),而只能運用一個return,因此最大值是通過return語句返回到主函數(shù)中,而最小值是通過引用傳遞將值傳遞到主函數(shù)中。單元4使用方法、數(shù)組與String類4.3回到工作場景6.主體函數(shù)staticvoidMain(string[]args){int[]a=newint[10];Console.WriteLine("pleaseinput10numbers:");InputSZ(a);Console.WriteLine("oriented:");OutputSZ(a);Sort(a);Console.WriteLine("aftersorted:");OutputSZ(a);intmin=a[0];intmax=MaxMin(a,refmin);doubleavg=Avg(a);Console.WriteLine("max={0},min={1},avg={2}",max,min,avg);}說明:引用傳遞的話,形參和實參前一定都要加上ref關(guān)鍵字,否則編譯出錯。單元4使用方法、數(shù)組與String類4.4工作訓(xùn)練營4.4.1項目訓(xùn)練1、訓(xùn)練內(nèi)容小陳去一軟件公司面試,主管要求小陳設(shè)計一個“數(shù)據(jù)排序”的程序項目,使用組數(shù)實現(xiàn)數(shù)據(jù)從大到小排序,例如:一組數(shù)據(jù):52976,輸出后是976522、訓(xùn)練目的掌握數(shù)組的初始化及冒泡排序法。3、訓(xùn)練過程仔細理清題目要求,選擇合適的初始化方法,設(shè)計出程序的答題步驟和具體的代碼處理過程,最后編寫出完整的C#語言源程序。分析:根據(jù)題目要求理清處理步驟單元4使用方法、數(shù)組與String類【步驟1】數(shù)組的初始化【步驟2】冒泡排序法:定義方法Sort,無返回值【步驟3】數(shù)組的輸出:定義方法OutPutSZ,無返回值單元4使用方法、數(shù)組與String類【關(guān)鍵代碼】staticvoidMain(string[]args){int[]a=newint[5]{5,2,9,7,6};Console.WriteLine("yuanshuzuwei:");OutPutSZ(a);Sort(a);Console.WriteLine("paixuhoushuzuwei:");OutPutSZ(a);}privatestaticvoidSort(int[]a1){inttemp=0;for(inti=0;i<a1.Length;i++)for(intj=0;j<a1.Length-1-i;j++)if(a1[j]<a1[j+1]){temp=a1[j];a1[j]=a1[j+1];a1[j+1]=temp;}}privatestaticvoidOutPutSZ(int[]a2){foreach(intiina2)Console.Write(i+"");Console.WriteLine();}}單元4使用方法、數(shù)
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車維修知識培訓(xùn)課件
- 羽絨生產(chǎn)知識培訓(xùn)課件
- 危險化學(xué)品企業(yè)特殊作業(yè)習(xí)題
- 中國青少年生殖健康可及性調(diào)查基礎(chǔ)數(shù)據(jù)報告
- 二零二五年度會展中心場地租賃與展會服務(wù)合同3篇
- 二零二五年度快手電商內(nèi)容創(chuàng)作者扶持協(xié)議3篇
- 二零二五年度技術(shù)轉(zhuǎn)讓合同標的和技術(shù)內(nèi)容5篇
- 二零二五年度合伙購置住宅合伙合同6篇
- 二零二五年度互聯(lián)網(wǎng)企業(yè)勞動合同勞動報酬保障合同3篇
- Unit2 第一課時 SectionA (1a-1d)說課稿 2024-2025學(xué)年人教版(2024)七年級英語上冊
- 江西省穩(wěn)派教育2025屆數(shù)學(xué)高二上期末教學(xué)質(zhì)量檢測模擬試題含解析
- 八年級歷史上冊(部編版)第六單元中華民族的抗日戰(zhàn)爭(大單元教學(xué)設(shè)計)
- 2022-2023學(xué)年北京市海淀區(qū)高二(上)期末英語試卷(含答案解析)
- 2021-2022學(xué)年統(tǒng)編本五四制道德與法治五年級上冊期末檢測題及答案(共6套)
- (BRB)屈曲約束支撐施工專項方案
- 期末達標測試卷(試題)-2024-2025學(xué)年人教PEP版英語四年級上冊
- 高職機電專業(yè)《液壓與氣動技術(shù)》說課稿
- 青島版四年級上冊簡便計算400道及答案
- 員工積分制管理實施方案細則
- GB/T 19752-2024混合動力電動汽車動力性能試驗方法
- 大灣區(qū)2023一2024學(xué)年第一學(xué)期末普通高中一年級聯(lián)合考試地理附有答案
評論
0/150
提交評論