C# 基础学习第三天
函数:
就是将一堆代码进行重用的一种机制,函数就是一段代码(这段代码可能有输入值,可能会返回值,一个函数就是专门做一件事的人)
我们调用函数执行一些事情,它可能需要我们提供一些数据给它,它执行完成后会有一些执行结果给我们。要求的数据就是参数,返回的执行结果就是返回值。
leg:Console.ReadLine();返回结果的函数
Console.WriteLine("Hello");就是一个有执行参数的函数
int i = Convert.ToInt32("32");既有返回值,又有参数
总结:
函数就是一堆代码、参数就是我让他干一些事所需要的一些数据,返回值就是他做完这些事,给我返回的一个结果。
使用函数就是拼积木!!!语言就是胶水~怎么粘到一起。
自己写函数
static void Main(string[] args)
{
int i = ReadInt(); //调用ReadInt()函数
Console.WriteLine(i); //i就是参数, 请往屏幕上打印一些字, 提供参数
Console.ReadKey();
}
static int ReadInt()
{
string s = Console.ReadLine();//监听用户敲键盘的东西 把它拼接成字符串返回
int i = Convert.ToInt32(s);//既有返回值也有参数
return i; //return后,跟上要返回的数值
}
或者:
static int ReadInt()
{
string s = Console.ReadLine();
return Convert.ToInt32(s);//直接将toint32的值返回
}
1、调用进去,执行完后再回来。
2、若函数无返回值,则标记函数为void,若有返回值,必须给返回数据
以下:例子无返回值!
staic void SayHello()
{
int i = 3;
if(i>10)
{
return;
}
Console.WriteLine("哈喽哇!");
}
以下:例子有返回值!
static int CT(string s)
{
if(s=="tom")
{
return 1;
}
if(s=="jerry")
{
return 0;
}
return -1;//必须有返回值,答应函数返回一个Int类型的值了。
}
调用函数示例
static void Main(string[] args)
{
//调用最大值参数,并给两个参数赋值
Console.WriteLine(Max(30, 50));
Console.ReadKey();
}
//写一个最大值的函数,有两个参数
static int Max(int i1,int i2)
{
if (i1 > i2)
{
return i1;
}
else
{
return i2;
}
}
计算一个数组的和
int [] values={3,4,5,5,3};
int sum = Sum(values)
console.writeLine(sum);
console.readKey();
//values互相没有任何关系 随意更改
static int Sum(int[],values)
{
int sum = 0;
foreach(int i in values)
{
sum = sum +i
}
return sum;
}
确定函数参数原则:
自己能确定的数据自己内部解决,自己确定不了的数据通过参数传递。
例如:累加数组我能确定,但是具体累加什么数我是不能确定的。
例题:
string[] strs={"aa","333","ccc"};返回给我一个字符串,然后字符串使用我指定的分隔符进行分割,比如我指定用“|”分割,那么返回给我“aa|333|ccc”.
思路:返回类型 string 函数名 Join 参数:string[]strs,string seperator
static void Main(string[] args)
{
//Console.WriteLine(Max(30, 50));
//Console.ReadKey();
string[] strs = { "aa", "333", "ccc" };
string s = Join(strs, "|");
Console.WriteLine(s);
Console.ReadKey();
}
//函数名字必须大写开头、类的名字必须大写开头
//参数的名字、变量的名字都要小写开头,而且必须要有意义
static string Join(string[] strs, string seperator)
{
string result = ""; //声明一个字符串类型的result接收字符。
for (int i = 0; i < strs.Length - 1; i++)
{
result = result + strs[i]+seperator; //遍历第0个和第一个数组
}
if (strs.Length > 0) //长度必须大于0才有必要加最后一个元素
{
result = result + strs[strs.Length - 1]; //结果拼接
}
return result; //有返回值的函数,必须return "返回值"
}