案例1:
static void Main(string[] args)
{
//方法调用
ComputeAvg();
Console.ReadKey();
}
//方法(函数)无返回值,无参数的方法
static void ComputeAvg()
{
Console.Write("请输入数学成绩:");
double mathScoure = double.Parse(Console.ReadLine());
Console.Write("请输入英语成绩:");
double englishScoure = double.Parse(Console.ReadLine());
double result = (mathScoure + englishScoure) / 2;
Console.WriteLine("平均分:{0}", result);
}
————————————————————————————————————————————————————————
案例2:两个数的乘积
static void Main(string[] args)
{
Console.Write("请输入a的值:");
int a = int.Parse(Console.ReadLine());
Console.Write("请输入b的值:");
int b = int.Parse(Console.ReadLine());
add(a, b);//带参数,无返回
double d = mul(a,b);//带参数 有返回
Console.WriteLine("两个数的积为:{0}", d);
string str = say();
Console.WriteLine(str);
Console.ReadKey();
}
static void add(int num1, int num2)
{
//定义带参数的方法(涵数)
Console.WriteLine("{0}+{1}={2}",num1,num2,(num1+num2));
}
//带参数,带返回值的方法
static double mul(double num1,double num2)//double
{
double result = num1 * num2;
return result;
}
static string say()//字符串
{
return "Hello";
}
————————————————————————————————————————————————————
案例3:比较两个数的最大值
static void Main(string[] args)
{
Console.Write("请输入第一个数a:");
double a = double.Parse(Console.ReadLine());
Console.Write("请输入第二个数b:");
double b = double.Parse(Console.ReadLine());
double d=big(a,b);
Console.WriteLine("输出两个数的最大值:{0}",d);
double e = big2(a, b);
Console.WriteLine("输出两个数的最大值:{0}", e);
bool f = big3(a, b);
Console.WriteLine("a>b是否为真:{0}", f);
Console.ReadKey();
}
/// <summary>
/// 获得两个数的最大值
/// </summary>
/// <param name="num1">第一个数字</param>
/// <param name="num2">第二个数字</param>
/// <returns></returns>
static double big(double num1, double num2)
{
double result = num1 > num2 ? num1 : num2;
return result;
// return num1 > num2 ? num1 : num2;
}
static double big2(double num1, double num2)
{
return num1 > num2 ? num1 : num2;
}
static bool big3(double num1, double num2)
{
return num1 > num2;
}
——————————————————————————————————————————————————————
案例4:本月实际用水 值传递
static void Main(string[] args)
{
Console.Write("请输入本月用水吨数:");
double i = double.Parse(Console.ReadLine()); //值传递,只是将实参的值复制了一份给形参,他们之间没有任何关联
double d=acc(i);
Console.WriteLine("该月水费为:{0}",d);
Console.ReadKey();
}
/*只要在方法(函数)遇到return关键字意味着该函数就终止了,
* 将会忽略return之后的语句*/
static double acc(double b)
{
if (b <= 3.5)
{
return 3.5 * b;
}
return 3.5 * 2.8 + 4.2 * (b - 3.5);
}
——————————————————————————————————————————————————————————
案例5:地址转换
static void Main(string[] args)
{
//传引用(传内存地址),对形参的更改,是会影响到实参的,因为形参和实参指向同一快内存地址
int[] qqq ={ 1, 2, 3, 4, 5 };
Console.WriteLine("引用前:");
for (int i = 0; i < qqq.Length; i++)
Console.Write(qqq[i] + " ");
dou(qqq);
Console.WriteLine();
Console.WriteLine("引用后:");
for (int i = 0; i < qqq.Length; i++)
Console.Write(qqq[i] + " ");
Console.ReadKey();
}
static void dou(int[] arr)
{
for(int i=0 ;i<arr.Length;i++)
{
arr[i] = arr[i] * 2;
}
}