黑馬程序員——冒泡排序、方法、參數、返回值

------- 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定義的常量不能定義靜態的。

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章