黑马程序员_笔记五

来源:互联网 发布:metatrader 4软件下载 编辑:程序博客网 时间:2024/05/18 00:07

------- Windows Phone 7手机开发、.Net培训、期待与您交流! ------- 

一:冒泡排序
中心思想:让数组中的元素两两进行比较,第i个和第i+1个进行比较,n个元素进行n-1趟比较,每一趟进行n-t(t为第几趟)次比较
例子:
int [] score={23,43,45,76,34,57,97,78};
for(int i=1;i<=score.Length-1;i++)
{
for(int j=1;j<=score.Length-i;j++)
{
if(score[j-1]<score[j])
{
int a=score[j-1];
score[j-1]=score[j];
score[j]=a;
}
}
}
for(int i=0;i<score.Length;++)
{
Console.WriteLine(score[i]);
}
经过以上的交换之后,输出的结果为score数组中的元素从大到小的排列。
二:方法(函数)
方法是将一堆代码进行重写,方法可能有参数也可能有返回值。
定义方法的语法:
[访问修饰符] [static] 返回值类型 方法名(参数)
{
方法体;
}
方法一般定义在类中,如果方法没有返回值,那么返回值类型就是void的,方法的命名一般采用的是Pascal命名法,方法名和参数名的命名尽量要有意义。
方法的调用:对于静态方法(static修饰的方法),如果在同一个类中调用该方法,调用时直接写方法名就可以,如果在另外一个类中调用该静态方法,可以用“类名.方法名()”来调用这个方法。
方法中使用return的作用是立即跳出该方法,并且不再执行return后的语句。
在方法中定义的变量叫做局部变量,作用范围为从定义开始到所在的语句块(即大括号)结束。
如何在一个方法中访问另一个方法中定义的局部变量?
(1)如果被调用方法想访问调用者中的变量,可以通过参数的形式来访问。在方法名后面的括号内定义变量,叫做定义这个方法的参数,这里定义的变量用于接收调用者传过来的值的。
注意:如果一个方法中一旦有参数,那么调用者就必须传参数,并且传参的个数与类型要与对应位置上的个数和类型一致。
例子
public static void main(string [] args)
{
int a,b;
a=10;
b=5;
add(a,b);
}
public static void add(int c,int d)
{
Console.WriteLine("{0}与{1}的和为{3}"c,d,c+d);
}
(2)如果调用者想访问被调用方法的变量,一般通过返回值来访问,例子:
public static void main(string [] args)
{
int a,b;
a=10;
b=5;
Console.WriteLine("{0}与{1}的和为{3}"a,b,add(a,b));
}
public static int add(int c,int d)
{
return c+d;
}
一个变量定义在方法之外类之内,一般把这个变量称作类的字段,它可以被这个类中的所有方法访问,但是static方法只能访问static变量(字段)。
注意:由const修饰的常量不能定义静态的。
当方法中的变量与类中的字段同名时,那么在调用这个变量时,一般是就近的原则,如果想访问类中的字段,方法是:类名.字段名。
定义一个静态字段的语法是:
static 数据类型 字段名=值;
什么叫方法重载?
(1)首先,方法要同名(一般在同一个类中或父类子类中)。
(2)参数的个数不同或者对应位置上的参数的类型不同。
(3)方法重载和返回值的类型无关。
方法的out参数
out是内部为外部变量赋值的,out一般用在函数需要多个返回值的场所。
out的实现步骤:
1.在方法的参数类型钱加out,那么传参数的时候也必须在调用方法的参数前加out,表明这个参数时传出的。
2.如果参数是以out形式传入的,那么在传入前可以不赋初值。
3.在方法中对于由out修饰的参数必须赋初值,并且必须在使用前赋值。
int.TryParse(string str,out int value)
这个方法的意思是将字符串str转换成int型的,转换成功的话整个表达式的返回值是转换后的值,如果转换失败那么返回的值是value中的值
out与ref的区别?
答:out用于传出值,在方法中必须对out参数赋值
ref是双向的,ref参数传递的是地址。

------- Windows Phone 7手机开发、.Net培训、期待与您交流! ------   详细请查看:http://edu.csdn.net/heima