方法
一鸳惯、 為什么使用方法
方法就是將一堆代碼進行重用的一種機制芝发。方法就是一段代碼苛谷,這段代碼可能有輸入的值(參數(shù)),可能會返回值瓢湃。
一個方法就像一個專門做這件事的人赫蛇,我們調(diào)用它來做一些事情悟耘,它可能需要我們提供一些數(shù)據(jù)給它,它執(zhí)行完成后可能會有一些執(zhí)行結(jié)果給我們筏勒。要求的數(shù)據(jù)就叫參數(shù)旺嬉,返回的執(zhí)行結(jié)果就是返回值邪媳。
string s=Console.ReadLine()就是一個有返回結(jié)果的方法;Console.WriteLine("hello")就是一個有執(zhí)行參數(shù)的方法迅涮,只有告訴WriteLine被打印的數(shù)據(jù)它才知道如何打踊展辍;int i=Convert.ToInt32("22")則是一個既有參數(shù)又有返回值的方法据悔。
有了方法寫代碼就像拼積木传透,C#中的各種各樣的技術其實就是通過for、if等這些基礎的語法將不同的方法按照一定的邏輯組織起來屠尊。
二旷祸、 無參方法
(一) 如何定義方法
1. 組成
方法的定義必須包括以下3個部分
a) 方法名稱
b) 方法的返回值
c) 方法的主體
[圖片上傳失敗...(image-7e0854-1544670350910)]
2. 語法
public 返回值類型 方法名() {
//這里編寫方法的主體
}
步驟一:定義方法名以及返回值類型
步驟二:編寫方法體
注:方法的修飾符包括public、protected讼昆、internal托享、private、virtual浸赫、sealed等闰围,修改符可以是一個也可以是多個,這些修飾符既峡,我們暫時不用深究。
3. 方法的返回值
(1) . 如果方法具有返回值运敢,方法中必須使用關鍵字return返回該值校仑,返回值類型為該返回值的類型
return 表達式忠售;
作用: 跳出方法、返回結(jié)果
(2) . 如果方法沒有返回值迄沫,返回值類型為void
方法體中可以有return稻扬,也可以沒有return語句,但不允許給return語句指定表達式羊瘩。
在返回類型為void的方法中使用return的語句的作用是立即退出方法的執(zhí)行
(二) 方法的調(diào)用
方法是個“黑匣子”泰佳,完成某個特定的應用程序功能,并返回結(jié)果.
在C#語言中尘吗,方法的調(diào)用主要采用以下二種方式:
(1) . 表達式=方法名()
(2) . 方法名()
如果沒有返回值逝她,主要采用第二種,有返回值睬捶,則采用第一種
(三) 練習
(一) 定義方法的常見錯誤
1. 方法的返回值類型為void黔宛,方法中不能有return 返回值!
public void showInfo() {
return "我是一名學生";
}
2. 方法不能返回多個值侧戴!
public double getInfo() {
double weight = 95.5;
double height = 1.69;
return weight, height;
}
三宁昭、 帶參數(shù)的方法
(一) 為什么要用帶參數(shù)的方法
榨汁機會根據(jù)放入的不同水果,榨出不同的果汁
[圖片上傳失敗...(image-adfe8b-1544670350909)]
(二) 定義帶參數(shù)的方法
<訪問修飾符> 返回類型 <方法名>(<形式參數(shù)列表>) {
//方法的主體
}
(三) 調(diào)用帶參數(shù)的方法
方法名(參數(shù)1, 參數(shù)2,……酗宋,參數(shù)n)
(四) 問題解決
1. 定義方法體
static string zhazhi(string fruit)
{
string juice = fruit + "汁";
return juice;
}
2. 調(diào)用
static void Main(string[] args)
{
Console.WriteLine( zhazhi("蘋果"));
}
(五) 練習
1. 練習1:
問題描述
在保存了多個學生姓名的數(shù)組中积仗,指定查找區(qū)間,查找某個學生姓名并顯示是否查找成功
分析
設計方法蜕猫,通過傳遞三個參數(shù)(開始位置寂曹、結(jié)束位置、查找的姓名)來實現(xiàn)
代碼
2. 練習二:常見錯誤
調(diào)用方法時不能指定實參類型回右!
//方法定義
public void addName(String name){
//方法體
}
//方法調(diào)用
addName(String "張三")隆圆;
形參和實參數(shù)據(jù)類型不一致!
//方法定義
public boolean searchName(int start ,int end ,String name){
//方法體
}
//方法調(diào)用
String s="開始";
int e=3;
String name="張三";
searchName(s ,e ,name);
形參和實參數(shù)量不一致翔烁!
//方法定義
public boolean searchName(int start,int end,String name){
//方法體
}
//方法調(diào)用
int s=1;
int e=3;
searchName(s,e);
3. 練習3:數(shù)組作為參數(shù)
問題描述
有5位學員參加了C#知識競賽的決賽渺氧,輸出決賽的平均成績和最高成績
[圖片上傳失敗...(image-4c9caa-1544670350908)]
分析
將5位學員的決賽成績保存在數(shù)組中
設計求平均成績、最高成績的方法蹬屹,并把數(shù)組作為參數(shù)
代碼
四侣背、 作業(yè)
(一) 作業(yè)1:編程實現(xiàn)如下計算器效果:
[圖片上傳失敗...(image-1c0901-1544670350908)]