冒泡排序法
让数组中的元素两两比较(第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();
方法(函数)
功能:
用来复用代码,当我们在一个程序中反复写同样代码.
一般情况下,可以把需要重复写的代码定义在一个方法中.需要使用的时候调用就行.
定义方法:
[访问修饰符][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);
}
}
返回值
当调用者想访问方法中变量时,可以通过返回值返回.
例如:
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值
}
}