2018-12-13方法

方法

一、 為什么使用方法

方法就是將一堆代碼進(jìn)行重用的一種機(jī)制。方法就是一段代碼,這段代碼可能有輸入的值(參數(shù)),可能會(huì)返回值。

一個(gè)方法就像一個(gè)專(zhuān)門(mén)做這件事的人,我們調(diào)用它來(lái)做一些事情,它可能需要我們提供一些數(shù)據(jù)給它,它執(zhí)行完成后可能會(huì)有一些執(zhí)行結(jié)果給我們。要求的數(shù)據(jù)就叫參數(shù),返回的執(zhí)行結(jié)果就是返回值。

string s=Console.ReadLine()就是一個(gè)有返回結(jié)果的方法;Console.WriteLine("hello")就是一個(gè)有執(zhí)行參數(shù)的方法,只有告訴WriteLine被打印的數(shù)據(jù)它才知道如何打印;int i=Convert.ToInt32("22")則是一個(gè)既有參數(shù)又有返回值的方法。

有了方法寫(xiě)代碼就像拼積木,C#中的各種各樣的技術(shù)其實(shí)就是通過(guò)for、if等這些基礎(chǔ)的語(yǔ)法將不同的方法按照一定的邏輯組織起來(lái)。

二、 無(wú)參方法

(一) 如何定義方法

1. 組成

方法的定義必須包括以下3個(gè)部分

a) 方法名稱(chēng)

b) 方法的返回值

c) 方法的主體

[圖片上傳失敗...(image-7e0854-1544670350910)]

2. 語(yǔ)法

public 返回值類(lèi)型 方法名() {

//這里編寫(xiě)方法的主體

}

步驟一:定義方法名以及返回值類(lèi)型

步驟二:編寫(xiě)方法體

注:方法的修飾符包括public、protected、internal、private、virtual、sealed等,修改符可以是一個(gè)也可以是多個(gè),這些修飾符,我們暫時(shí)不用深究。

3. 方法的返回值

(1) . 如果方法具有返回值,方法中必須使用關(guān)鍵字return返回該值,返回值類(lèi)型為該返回值的類(lèi)型

return 表達(dá)式;

作用: 跳出方法、返回結(jié)果

(2) . 如果方法沒(méi)有返回值,返回值類(lèi)型為void

方法體中可以有return,也可以沒(méi)有return語(yǔ)句,但不允許給return語(yǔ)句指定表達(dá)式。

在返回類(lèi)型為void的方法中使用return的語(yǔ)句的作用是立即退出方法的執(zhí)行

(二) 方法的調(diào)用

方法是個(gè)“黑匣子”,完成某個(gè)特定的應(yīng)用程序功能,并返回結(jié)果.

在C#語(yǔ)言中,方法的調(diào)用主要采用以下二種方式:

(1) . 表達(dá)式=方法名()

(2) . 方法名()

如果沒(méi)有返回值,主要采用第二種,有返回值,則采用第一種

(三) 練習(xí)

(一) 定義方法的常見(jiàn)錯(cuò)誤

1. 方法的返回值類(lèi)型為void,方法中不能有return 返回值!

public void showInfo() {

return "我是一名學(xué)生";

}

2. 方法不能返回多個(gè)值!

public double getInfo() {

double weight = 95.5;

double height = 1.69;

return weight, height;

}

三、 帶參數(shù)的方法

(一) 為什么要用帶參數(shù)的方法

榨汁機(jī)會(huì)根據(jù)放入的不同水果,榨出不同的果汁

[圖片上傳失敗...(image-adfe8b-1544670350909)]

(二) 定義帶參數(shù)的方法

<訪問(wèn)修飾符> 返回類(lèi)型 <方法名>(<形式參數(shù)列表>) {

//方法的主體

}

(三) 調(diào)用帶參數(shù)的方法

方法名(參數(shù)1, 參數(shù)2,……,參數(shù)n)

(四) 問(wèn)題解決

1. 定義方法體

static string zhazhi(string fruit)

{

string juice = fruit + "汁";

return juice;

}

2. 調(diào)用

static void Main(string[] args)

{

Console.WriteLine( zhazhi("蘋(píng)果"));

}

(五) 練習(xí)

1. 練習(xí)1:

問(wèn)題描述

在保存了多個(gè)學(xué)生姓名的數(shù)組中,指定查找區(qū)間,查找某個(gè)學(xué)生姓名并顯示是否查找成功

分析

設(shè)計(jì)方法,通過(guò)傳遞三個(gè)參數(shù)(開(kāi)始位置、結(jié)束位置、查找的姓名)來(lái)實(shí)現(xiàn)

代碼

2. 練習(xí)二:常見(jiàn)錯(cuò)誤

調(diào)用方法時(shí)不能指定實(shí)參類(lèi)型!

//方法定義

public void addName(String name){

//方法體

}

//方法調(diào)用

addName(String "張三");

形參和實(shí)參數(shù)據(jù)類(lèi)型不一致!

//方法定義

public boolean searchName(int start ,int end ,String name){

//方法體

}

//方法調(diào)用

String s="開(kāi)始";

int e=3;

String name="張三";

searchName(s ,e ,name);

形參和實(shí)參數(shù)量不一致!

//方法定義

public boolean searchName(int start,int end,String name){

//方法體

}

//方法調(diào)用

int s=1;

int e=3;

searchName(s,e);

3. 練習(xí)3:數(shù)組作為參數(shù)

問(wèn)題描述

有5位學(xué)員參加了C#知識(shí)競(jìng)賽的決賽,輸出決賽的平均成績(jī)和最高成績(jī)

[圖片上傳失敗...(image-4c9caa-1544670350908)]

分析

將5位學(xué)員的決賽成績(jī)保存在數(shù)組中

設(shè)計(jì)求平均成績(jī)、最高成績(jī)的方法,并把數(shù)組作為參數(shù)

代碼

四、 作業(yè)

(一) 作業(yè)1:編程實(shí)現(xiàn)如下計(jì)算器效果:

[圖片上傳失敗...(image-1c0901-1544670350908)]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容