------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
Console.Clear(); //清屏
有一款反编译.net程序的软件“reflector”,很牛。
冒泡排序:
让数组中的元素两两比较(第i个与第i+1个比较),经过n(i-1)遍两两比较,数组中的元素能按照我们预期的规律排序。
要从大到小排序,我们进行两两比较的时候用,
10,20,30,40,50,60,70 原始数据7个元素。
20,30,40,50,60,70,10 第1趟 比较6次
30,40,50,60,70,20,10 第2趟 比较5次
40,50,60,70,30,20,10 第3趟 比较4次
。。。。。
70,60,50,40,30,20,10 第6趟 比较1次
也就是n 个数需要排n-1趟。
第t趟比较的次数为:n-t次
i=0 第一趟
i=1 第二趟
趟数:i+1=t
int [] scores = {18,54,65,87,96,45,12,35,84,56}
for (int i=0;i<scores.Length-1;i++) //控制比较的趟数,循环一次表示比较了1趟
{
for(int j=0;j<scores;j++)
{
if(scores[j]<scores[j+1]) //从大到小排序,改成大于号就成从小到大排序。
{
int temp=scores[j];
scores[j]=scores[j+1];
scores[j+1]=temp;
}
}
}
方法(函数):
方法就是将一堆代码进行重用的一种机制。方法就是一段代码,这段代码可能有输入的值(参数),可能会返回值。
定义方法的语法:
[访问修饰符][static] 返回值类型 方法名([参数])
{
方法体;
}
l 命名规则:方法名开头大写,参数名开头小写,参数名、变量名要有意义。
l 方法的调用,对于静态方法(由static修饰),如果在同一个类中,直接写名字调用就行了。
l return可以立即退出方法。
注意:
1一般情况下,方法要定义在类中。
2如果方法没有返回值,则返回值类型写void。
3如果没有参数,()不能省略。
方法的调用:如果是静态方法(由static修饰的)则使用类名.方法名();
在类中调用本类的方法,可以只写方法名();
参数:
变量的作用域:
在方法中定义的变量称为局部变量,其作用域是定义所在的语句块{},出了语句块就释放掉了。
当被调用者想得到调用者方法中的变量时,则可以让调用者把这参数的形参传给调用者。
注意:如果一个方法一旦有参数,那么调用者就必须传参数,并且参数的数量和类型必须一致。
string s = “123”
//int a = Convert.ToInt32(s);
int a = int.Prase(s);
double b = double.Prase(s);
返回值:
当调用者想访问我们方法中的变量时,可以通过返回值返回。
例如:int a= Convert.ToInt32(“123”);
为什么方法前面能够定义一个变量收到方法的值,是因为在方法中使用了返回值。
只要在方法中返回了值,那么在调用方法中,前面就应该用一个变量来接收方法的返回值。
注意:一个方法只能有一个返回值。//也可以返回一个数组。
一旦一个方法有返回值,那么在这个方法体中,就必须通过return语句返回一个值,并且这个值要与返回值类型时相同的。
语法:
return 值;
一个变量一旦定义在方法外,类的里面就叫做类的字段。这个变量就可以被本类的所有方法访问。但是要注意,静态方法只能访问静态字段。
由const定义的常量不能定义静态的。