方法(函数)
方法的好处:代码的重用(即重复使用),减少代码量。
1、方法的声明
2、方法的调用
3、方法的重载
4、方法的递归
1 方法的声明
函数就是将一堆代码进行重用的一种机制。
语法:
[public] static 返回值类型 方法名(参数列表)
{
方法体(函数体);
}
public:访问修饰符,公开的,公共的,哪都可以访问。
static:静态的返回值类型:如果不需要写返回值,写void
方法名:Pascal 每个单词的首字母都大些。其余字母小写
参数列表:完成这个方法所必须要提供给这个方法的条件。如果没有参数,小括号也不能省略。
//方法的小练习//计算两个整数之间的最大值,并且将最大值返回public static int GetMax(int n1,int n2)//方法的声明{return n1 > n2 ? n1 : n2;}
2 方法的调用
方法写好后,如果想要被执行,必须在Main()函数中调用。
调用语法:
类名.方法名(参数);
//方法的调用int max=Program.GetMax(1,2);Console.WriteLine(max);Consoel.ReadKey();
在某些情况下,类名是可以省略的,如果你写的方法跟Main()函数在同一个类中,这个时候类名可以省略。
3 主调函数和被调函数
主调函数和被调函数是相对而言的。以下面的代码为例,相对于主函数main来说,fun1和fun2都是被调函数,而main是主调函数,相对于fun3来说,fun2就是被调函数,fun3则是fun2的主调函数。
void fun1();int fun2();int fun3();int main(){fun1();cout << fun2() << endl;return 0;}int fun3(){int a = fun2();a++;return a;}
4 实参和形参
实参(argument):
全称为\”实际参数\”是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。
形参(parameter):
全称为\”形式参数\” 由于它不是实际存在变量,所以又称虚拟变量。是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数.在调用函数时,实参将赋值给形参。因而,必须注意实参的个数,类型应与形参一一对应,并且实参必须要有确定的值。
形式参数:形参是函数被调用时用于接收实参值的变量。
根据实际需要可有可无。没有形参时,圆括号也不可省;多个参数之间应用逗号分隔。参数包括参数名和参数类型。
形参的类型说明可有如下两种格式:
int max(int a,int b)/形参的类型在形参表中直接说明/
{ return (a>b?a:b);}
或
int max(a,b)
inta,b; /形参的类型在函数体前、函数名后说明/
{ return(a>b?a:b); }
前者为标准格式,后者为传统格式,通常用前者。
方法的重载
概念:指的是方法名相同,参数不同
参数不同的2中情况:
(1)个数相同,类型不同
(2)个数不同,类型相同
public static void M(int n1, int n2){int result = n1 + n2;}//public static int M(int a1, int a2)//{// return a1 + a2;//}public static void M(int n1, int n2, int n3){int result = n1 + n2 + n3;}public static double M(double d1, double d2){return d1 + d2;}public static void M(int n1, int n2, int n3){int result = n1 + n2 + n3;}public static string M(string s1, string s2){return s1 + s2;}
方法的递归
是指函数在运行过程中直接或间接调用自身方法的一种现象,称为方法的递归。
public static void TellStory(){//int i = 0;Console.WriteLine(\"从前有座山\");Console.WriteLine(\"山里有座庙\");Console.WriteLine(\"庙里有个老和尚和小和尚\");Console.WriteLine(\"有一天,小和尚哭了,老和尚给小和尚讲了一个故事\");i++;if (i >= 10){return;}TellStory();//方法的递归调用}
return的作用
1、在方法中返回要返回的值
2、立即结束本次方法。
while(true){Console.WriteLine(\"Hello World\");return;}Console.WriteLine(\"Hello World\");Console.ReadKey();