函数:能够独立完成某项功能的模块。
函数四要素:输入、输出、函数体、函数名
函数定义: (static/public) 返回类型 函数名(参数类型 参数名,参数类型 参数名) { 函数体 }
函数的调用: 返回变量类型 变量名 = 函数(实参值)
传值:四种方式
1.没有返回值,没有输入值
2.没有返回值,有输入值
3.有返回值,没有输入值
4.有返回值,有输入值
class Program { //在这里面输入 }
1.没有返回值,没有输入值
格式
public void Hanshu() { }
例
/// <summary> /// 这个函数是累加求和,没有输入值,没有返回值 /// </summary> public void Leijia() {//没有返回值,没有输入值 Console.Write("请输入一个正整数:"); int a = int.Parse(Console.ReadLine()); int sum = 0; for (int i = 1; i <= a; i++) { sum += i; } Console.WriteLine(sum); }
2.没有返回值,有输入值
格式
public void Hanshu(int a) { }
例
/// <summary> /// 累加求和,有输入值,没有返回值 /// </summary> /// <param name="a"></param> public void Leijia(int a) {//有输入值,没有返回值 int sum = 0; for (int i = 1; i <= a; i++) { sum += i; } Console.WriteLine(sum); }
3.有返回值,没有输入值
格式
public int/double Hanshu() { return 变量名; }
例
/// <summary> /// 累加求和,没有输入值,只有返回值(int) /// </summary> /// <returns></returns> public int Leijia1() { Console.Write("请输入一个正整数:"); int a = int.Parse(Console.ReadLine()); int sum = 0; for (int i = 1; i <= a; i++) { sum += i; } return sum; }
4.有返回值,有输入值
格式
public int/string Hanshu(int a /string a) { return 变量名; }
例
/// <summary> /// 累加求和,有输入值(int),有返回值(int) /// </summary> /// <param name="a"></param> /// <returns></returns> public int Leijia1(int a) { int sum = 0; for (int i = 1; i <= a; i++) { sum += i; } return sum; }
调用
static void Main(string[] args) { Hanshu hanshu = new Hanshu(); hanshu.Dayin(); Program pp = new Program(); int sum=pp.Leijia1(6); Console.WriteLine(sum); int sum=pp.Leijia1(); Console.WriteLine(sum); Console.Write("请输入一个正整数:"); int q = int.Parse(Console.ReadLine()); pp.Leijia(q); pp.Leijia(); pp.Leijia();
练习
/// <summary> /// 两个数比大小。无输入,有返回 /// </summary> /// <returns></returns> public double daxiao() { Console.Write("请输入第一个数:"); double a = double.Parse(Console.ReadLine()); Console.Write("请输入第二个数:"); double b = double.Parse(Console.ReadLine()); double da = 0; if (a > b) { da = a; } else { da = b; } return da; } static void Main(string[] args) //输入两个数比较大小,返回大的 Program Daxiao = new Program(); double i = Daxiao.daxiao(); Console.WriteLine(i);
/// <summary> /// 剪子包袱锤。有输入,无返回 /// </summary> public void jian(int i) { Random ran = new Random(); int j = ran.Next(1, 4);//1.剪子 2.包袱 3.锤 if (i == 1) { if (j == 1) { Console.WriteLine("平局(电脑出:剪子)"); } else if (j == 2) { Console.WriteLine("胜利(电脑出:包袱)"); } else if (j == 3) { Console.WriteLine("败北(电脑出:锤)"); } } else if (i == 2) { if (j == 1) { Console.WriteLine("败北(电脑出:剪子)"); } else if (j == 2) { Console.WriteLine("平局(电脑出:包袱)"); } else if (j == 3) { Console.WriteLine("胜利(电脑出:锤)"); } } else if (i == 3) { if (j== 1) { Console.WriteLine("胜利(电脑出:剪子)"); } else if (j == 2) { Console.WriteLine("败北(电脑出:包袱)"); } else if (j == 3) { Console.WriteLine("平局(电脑出:锤)"); } } else { Console.WriteLine("您的输入有误!"); } } static void Main(string[] args) //写一个函数,剪子包袱锤。 for (; ; ) { Console.WriteLine("请输入1,2,3(1=剪子,2=包袱,3=锤)"); int j = int.Parse(Console.ReadLine()); Program Jian=new Program(); Jian.jian(j); }