此文章为本人的学习笔记,发表出来和大家分享,如有错误还请各位大神多多指教!
函数
函数(方法):定义在类中具有特定功能的一段独立小程序
函数(方法)的定义格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)
//形式参数是定义时的变量,实际参数。参数:参与运算的数据
{
执行语句;
return 返回值;
}
static是关键字,修饰符,可以修饰方法。静态的
定义方法的两个容易出错的地方:
1. 格式上的错误:方法不能定义在其他方法内,但是可以在其他方法里调用;
2. 定义思想的错误:需要一个方法,这个方法可以得到任意两个数值的和,选择Add方法(第一个)(下 面的例子)
如何定义函数:两个明确
- 明确这个函数的结果是什么(有没有结果),有结果就要有return,和返回值类型;
- 明确这个函数在实现过程中是否需要未知数参与运算,明确了以后就知道是否应该写参数。
函数的特点:
- 函数将功能代码进行封装;
- 定义函数便于对该功能的复用(重复使用),提高了代码的复用性;
- 函数只有在调用的时候才会执行。
注意:
- 函数中只能调用其他函数,不能再函数内定义函数;
- 定义函数时,函数的结果应返回给调用者,交给调用者处理。
class MethodDemo
{
static void Main(string[] args)
{
/*旧方法,计算3+4的和
int a = 3, b = 4;, c;
c = a + b;*/
//通过函数(将3,4分别传到Add方法中)
int c = Add (3, 4);
System.Console.WriteLine(c);//运行结果:7
}
//定义函数(方法),用于计算a+b的值
//int 是根据最后运行的结果选择的(返回值)
//Add是自定义的名称,static是修饰符,没有修饰符主方法中无法调用
static int Add(int a, int b)
{
return a + b;
}
static int PrintAdd(int a, int b)
{
System.Console.WriteLine(a + b);
}
//void关键字用来表示没有返回值的类型
statc void Print()
{
System.Console.WriteLine("Hello World");
return;//结束方法。当没有返回值的时候,可以不写return
}
}
函数的重载(overload):重复载入
概念:同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。
函数中小括号中的东西可以统称为参数列表。
99乘法表需求:
键盘输入一个数值(小于等于9),这个数是几,乘法口诀表就打印到第几行
class OverloadDemo
{
static void Main(string[] args)
{
}
/*函数重载的形式举例
static int Add(int a, int b)
{
return a + b;
}
static double Add(double a,double b)
{
return a + b;
}
static double Add(int a, double b)
{
return a + b;
}
static double Add(double a, int b)
{
return a + b;
}
static int Add(int a, int b, int c)
{
return a + b + c;
}
static int Add(double a, double b, double c)
{
double d = a + b + c;
System.Console.WriteLine(d);
return 0;
}
*/
//打印乘法口诀表
static int Print99()
{
Print99(9);//调用需求方法,避免方法重复
}
//根据需求打印
static int Print99(int x)
{
for(int i = 1; i <= x; i ++)
{
for(int j = 1; j <= i; j++)
{
System.Console.Write("{0}*{1}={2}"+"\t", j, i, j*i);
}
System.Console.WriteLine();
}
}
}