![C#程序設(shè)計(jì)項(xiàng)目化教程課件ch04_第1頁](http://file4.renrendoc.com/view11/M02/3F/14/wKhkGWWMGX6ABlrPAAE0fLtwVig599.jpg)
![C#程序設(shè)計(jì)項(xiàng)目化教程課件ch04_第2頁](http://file4.renrendoc.com/view11/M02/3F/14/wKhkGWWMGX6ABlrPAAE0fLtwVig5992.jpg)
![C#程序設(shè)計(jì)項(xiàng)目化教程課件ch04_第3頁](http://file4.renrendoc.com/view11/M02/3F/14/wKhkGWWMGX6ABlrPAAE0fLtwVig5993.jpg)
![C#程序設(shè)計(jì)項(xiàng)目化教程課件ch04_第4頁](http://file4.renrendoc.com/view11/M02/3F/14/wKhkGWWMGX6ABlrPAAE0fLtwVig5994.jpg)
![C#程序設(shè)計(jì)項(xiàng)目化教程課件ch04_第5頁](http://file4.renrendoc.com/view11/M02/3F/14/wKhkGWWMGX6ABlrPAAE0fLtwVig5995.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
單元4使用方法、數(shù)組與String類單元4使用方法、數(shù)組與String類4.2技術(shù)與知識(shí)準(zhǔn)備4.2.1方法在C語言中,我們自己寫過方法,那么使用方法有什么好處呢?方法是類的一種行為,方法會(huì)使我們的代碼容易修改、方便閱讀、實(shí)現(xiàn)封裝和重用。比如我們以前用過好多.NET定義好的類的方法,例如:Console.ReadLine(),ReadLine()就是系統(tǒng)定義好的方法。除了使用.NET提供的類的方法,我們也可以自己來定義方法。
單元4使用方法、數(shù)組與String類
定義方法方法定義:訪問修飾符<返回類型>方法名([<參數(shù)列表>]){[<語句組>][<return>[<表達(dá)式>];]}說明:1.什么是訪問修飾符呢?就是可訪問的級(jí)別,public是公共的,private是私有的。在程序中,如果將方法聲明為public,就表示可以在其他類中使用,如果聲明為private,那么就只能在該類中使用。2.返回類型是必選項(xiàng),它指定了方法返回值的數(shù)據(jù)類型,可以指定為任何的數(shù)據(jù)類型,如int、double等。如果方法沒有返回值,那么必須使用void關(guān)鍵字來指定。3.方法名為方法的名稱,它的取名遵循C#的合法標(biāo)識(shí)符規(guī)則,并且方法的命名應(yīng)當(dāng)采用Pascal風(fēng)格,就是組成方法名的單詞直接相連,每個(gè)單詞的首字母大寫,例如ReadLine()。4.參數(shù)列表是可選的,在調(diào)用方法時(shí),它用來給方法傳遞信息。聲明方法時(shí),如果有參數(shù),則必須寫在方法名后面的小括號(hào)中,并且必須指定它的類型和名稱;若有多個(gè)參數(shù),需要用逗號(hào)(,)隔開,例如:”intn1,intn2”,聲明方法時(shí)的參數(shù),稱為形式參數(shù),簡稱形參。5.語句組即方法體,是調(diào)用方法時(shí)執(zhí)行的代碼塊。它是可選項(xiàng),但一般都會(huì)有方法體。6.return為可選項(xiàng),用于給方法返回一個(gè)指定數(shù)據(jù)類型的值。單元4使用方法、數(shù)組與String類
向方法中傳遞參數(shù)1.值傳遞我們要定義一個(gè)方法來計(jì)算累加,方法的名字取名為Fact,我們將n的值作為方法的參數(shù)傳入,將計(jì)算結(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運(yùn)行結(jié)果
returnsum;}單元4使用方法、數(shù)組與String類2.按引用傳遞參數(shù)
除了上面的值傳遞參數(shù)外,我們還可以按引用傳遞參數(shù),這樣可以在方法調(diào)用之后,仍然保留對(duì)參數(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)變量>是一個(gè)普通的變量,一般用來表示數(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è)诔绦虍?dāng)中非常常用的一種類型,在C#中有一個(gè)String類,它位于System命名空間中,屬于.NETFramework類庫,而我們以前一直在用的string只不過是String類在C#中的一個(gè)別名。現(xiàn)在就讓我們一起來認(rèn)識(shí)一下強(qiáng)大的String類。我們常常使用格式字符串和參數(shù)列表的形式輸出數(shù)據(jù),如:stringaddress=”江蘇蘇州”;Console.WriteLine(“我的籍貫是{0}”,address);其中的”我的籍貫是{0}”叫做格式字符串,格式字符串后面的部分叫做格式列表,格式字符串中的{x}叫做占位符。其實(shí),String類提供了一個(gè)很強(qiáng)大的Format()方法來格式化字符串。Format()方法允許把字符串、數(shù)字或布爾類型的變量插入到格式字符串中,它的語法如下:stringstr=string.Format(“格式字符串”,參數(shù)列表);例如:stringstr=string.Format(“{0}+{1}={2}”,2,3,2+3);其中,“{0}+{1}={2}”就是一個(gè)格式字符串,{0}、{1}、{2}分別對(duì)應(yīng)于后面的2、3、2+3,占位符中的數(shù)字0、1、2分別對(duì)應(yīng)于參數(shù)列表中的第1、2、3個(gè)參數(shù),這條語句的運(yùn)行結(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ī)律嗎?最大值到最后。冒泡排序就是從第一個(gè)元素開始,用它和它緊挨著的后一個(gè)元素比較,如果后面的元素小于前面的元素,就交換它們,否則保持原樣,然后轉(zhuǎn)移到后一個(gè)位置,重復(fù)以上過程,最后,最大的元素已經(jīng)定位,即最后位置。單元4使用方法、數(shù)組與String類第二輪比較如圖4.6所示。4.2.6冒泡排序第二輪下來,大家發(fā)現(xiàn)什么規(guī)律了嗎?次大值到最后第二的位置,并且第二輪的比較次數(shù)比上一輪減少了一次。依次類推,最終完成排序任務(wù)。單元4使用方法、數(shù)組與String類通過對(duì)以上小節(jié)內(nèi)容的學(xué)習(xí),我們了解了方法的定義、值傳遞、引用傳遞以及數(shù)組的定義使用等,現(xiàn)在是時(shí)候回到我們4.1節(jié)工作場(chǎng)景的任務(wù)中來了。分析:分別定義數(shù)組的輸入、輸出、排序、求平均值、求最大值最小值五個(gè)方法。其中前三個(gè)方法無返回值,第四個(gè)方法返回值為平均值,第五個(gè)方法有兩個(gè)返回值,但只能運(yùn)用一個(gè)return語句,所以用return語句返回最大值,最小值采用引用傳遞。4.3回到工作場(chǎng)景1.輸入方法代碼如下。privatestaticvoidInputSZ(int[]a1){for(inti=0;i<a1.Length;i++){intx=int.Parse(Console.ReadLine());a1[i]=x;}}說明:a1.Length求出數(shù)組a1的長度,即數(shù)組的元素個(gè)數(shù)。
單元4使用方法、數(shù)組與String類4.3回到工作場(chǎng)景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回到工作場(chǎng)景4.求平均值方法代碼如下。privatestaticdoubleAvg(int[]a){intsum=0;foreach(intiina)sum=sum+i;doubleaverage=(1.0*sum)/a.Length;returnaverage;}說明:求平均值用總成績除以數(shù)組的長度,為什么要乘以1.0呢?因?yàn)樵贑#中,整數(shù)除以整數(shù),結(jié)果為整數(shù),例如:100/21=4,與實(shí)際結(jié)果4.76相差甚遠(yuǎn),1.0*sum結(jié)果是實(shí)數(shù),實(shí)數(shù)/整數(shù),結(jié)果也為實(shí)數(shù)。單元4使用方法、數(shù)組與String類4.3回到工作場(chǎng)景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;}說明:因?yàn)橐祷貎蓚€(gè)值(最大值和最小值),而只能運(yùn)用一個(gè)return,因此最大值是通過return語句返回到主函數(shù)中,而最小值是通過引用傳遞將值傳遞到主函數(shù)中。單元4使用方法、數(shù)組與String類4.3回到工作場(chǎng)景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);}說明:引用傳遞的話,形參和實(shí)參前一定都要加上ref關(guān)鍵字,否則編譯出錯(cuò)。單元4使用方法、數(shù)組與String類4.4工作訓(xùn)練營4.4.1項(xiàng)目訓(xùn)練1、訓(xùn)練內(nèi)容小陳去一軟件公司面試,主管要求小陳設(shè)計(jì)一個(gè)“數(shù)據(jù)排序”的程序項(xiàng)目,使用組數(shù)實(shí)現(xiàn)數(shù)據(jù)從大到小排序,例如:一組數(shù)據(jù):52976,輸出后是976522、訓(xùn)練目的掌握數(shù)組的初始化及冒泡排序法。3、訓(xùn)練過程仔細(xì)理清題目要求,選擇合適的初始化方法,設(shè)計(jì)出程序的答題步驟和具體的代碼處理過程,最后編寫出完整的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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 六年級(jí)語文橋聽評(píng)課記錄
- 北師大版數(shù)學(xué)八年級(jí)上冊(cè)4《平行線的性質(zhì)》聽評(píng)課記錄1
- 人教版數(shù)學(xué)七年級(jí)上冊(cè)《模式3:整式的加減》聽評(píng)課記錄
- 北師大版道德與法治八年級(jí)上冊(cè)第1課第3站《關(guān)愛他人生命》聽課評(píng)課記錄
- 八年級(jí)上冊(cè)歷史人教版同步聽課評(píng)課記錄第18課《從九一八事變到西安事變》
- 小學(xué)二年級(jí)上冊(cè)數(shù)學(xué)口算競(jìng)賽題
- 北師大版歷史九年級(jí)上冊(cè)第11課《英國資產(chǎn)階級(jí)革命》聽課評(píng)課記錄1
- (新人教版)八年級(jí)歷史上冊(cè)期末復(fù)習(xí)-第七八單元解放戰(zhàn)爭近代經(jīng)濟(jì)社會(huì)生活與教育文化事業(yè)的發(fā)展-復(fù)習(xí)聽課評(píng)課記錄
- 人民版道德與法治九年級(jí)上冊(cè)2.2《扛起你的責(zé)任》聽課評(píng)課記錄
- 水泥攪拌樁施工分包合同范本
- 浙江省杭州市2024年中考語文試卷(含答案)
- 世說新語原文及翻譯-副本
- 電力通信光纜檢修標(biāo)準(zhǔn)化作業(yè)指導(dǎo)書
- 種植二期手種植義齒II期手術(shù)護(hù)理配合流程
- 安全隱患舉報(bào)獎(jiǎng)勵(lì)制度
- 2024-2025學(xué)年深圳市南山區(qū)六年級(jí)數(shù)學(xué)第一學(xué)期期末學(xué)業(yè)水平測(cè)試試題含解析
- 工貿(mào)行業(yè)企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化建設(shè)實(shí)施指南
- T-CACM 1560.6-2023 中醫(yī)養(yǎng)生保健服務(wù)(非醫(yī)療)技術(shù)操作規(guī)范穴位貼敷
- 2024年全國統(tǒng)一考試高考新課標(biāo)Ⅱ卷數(shù)學(xué)試題(真題+答案)
- 人教版小學(xué)數(shù)學(xué)一年級(jí)下冊(cè)第1-4單元教材分析
- JTS-215-2018碼頭結(jié)構(gòu)施工規(guī)范
評(píng)論
0/150
提交評(píng)論