C#基础知识06
冒泡排序法
让数组中的元素两两比较(第i个与第i+1个比较),经过
n(i-1)遍比较,数组中的元素能够按照预期规律排序.
要从大到校排序,用<比较.
规律:
1. N个数需要排N-1趟
2. 第j趟需要比较的次数为n-j次
例:
int temp, i, j;
int[] score = { 10, 20, 30, 40, 50, 60, 5, 4, 3, 7, };
//循环比较的趟数
for (i = 0; i < score.Length - 1; i++)
{ //循环每趟比较的次数
for (j = 0; j < score.Length - i - 1; j++)
{
if (score[j] < score[j + 1])
{
temp = score[j];
score[j] = score[j + 1];
score[j + 1] = temp;
}
}
}
for (i = 0; i < score.Length ; i++)
{
Console.WriteLine(score[i]);
}
Console.ReadKey();
int[] score = { 10, 20, 30, 40, 50, 60, 5, 4, 3, 7, };
//循环比较的趟数
for (i = 0; i < score.Length - 1; i++)
{ //循环每趟比较的次数
for (j = 0; j < score.Length - i - 1; j++)
{
if (score[j] < score[j + 1])
{
temp = score[j];
score[j] = score[j + 1];
score[j + 1] = temp;
}
}
}
for (i = 0; i < score.Length ; i++)
{
Console.WriteLine(score[i]);
}
Console.ReadKey();
方法(函数)
功能:
用来复用代码,当我们在一个程序中反复写同样代码.
一般情况下,可以把需要重复写的代码定义在一个方法中.需要使用的时候调用就行.
定义方法:
[访问修饰符][static] 返回值类型 方法名()
{
方法体;
}
命名规则:方法名开头大写,参数名开头小写,参数名和变量名要有意义.
方法的调用:对于静态方法(由static修饰的),如果在同一个类中,直接写名字调用.不同类中用类名称.方法名() 调用
注意:
1. 通常方法定义在类中.
2. 如果方法没有返回值用,则类型写void.
3. return可立即退出方法.
变量的作用域
在方法中定义的变量称为局部变量,其作用域从定义开始到其所在语句块(大括号)结束为止.
参数
在方法名后面的括号内定义变量,叫做定义这个方法的参数.
用于接收调用方传过来的数据.
注意:
1. 如果一个被调用方法有参数,那么调用方法时就必须传参数,并且传参数必须与被掉方法参数对应.
2. 当需要把数组传递给被调方法时,只需要在主调方法中写数组名
例:
class Program
{
static void Main(string[] args)
{
int num = 5;
Test(num);//调用
Console.ReadKey();
}
//被调用
public static void Test(int number)//形参
{
Console.WriteLine(number);
}
}
{
static void Main(string[] args)
{
int num = 5;
Test(num);//调用
Console.ReadKey();
}
//被调用
public static void Test(int number)//形参
{
Console.WriteLine(number);
}
}
返回值
当调用者想访问方法中变量时,可以通过返回值返回.
例如:
string input = Console.ReadLine();
方法前面能够定义一个变量收到被掉方法的值,是因为在被调方法中使用了返回值.
一旦一个方法有返回值,那么在方法中,就必须通过return语句返回一个值.
注意:一个方法只能有一个返回值.
练习题01
class Program
{ //让用户输入一个年份,写一个方法,判断是否闰年.
static void Main(string[] args)
{
Console.WriteLine("请输入年份");
int year = int.Parse(Console.ReadLine());
bool isleap = IsLeapYear(year);
if(isleap)
Console.WriteLine("{0}是闰年",year);
else
Console.WriteLine("{0}不是闰年",year);
Console.ReadKey();
}
public static bool IsLeapYear(int year)
{
bool result = false;//标记
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
{
result = true;//如果是闰年值为真
}
return result;//返回bool值
}
}
{ //让用户输入一个年份,写一个方法,判断是否闰年.
static void Main(string[] args)
{
Console.WriteLine("请输入年份");
int year = int.Parse(Console.ReadLine());
bool isleap = IsLeapYear(year);
if(isleap)
Console.WriteLine("{0}是闰年",year);
else
Console.WriteLine("{0}不是闰年",year);
Console.ReadKey();
}
public static bool IsLeapYear(int year)
{
bool result = false;//标记
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
{
result = true;//如果是闰年值为真
}
return result;//返回bool值
}
}