第二十一講 簡單陣列

2021-06-21 01:09:02 字數 3132 閱讀 4849

回顧

1. 我們自己寫的類就是自定義類,它屬於引用型別,而結構是值型別

2. 建構函式的主要作用是初始化物件中的資料成員

3. 多型的兩種表現形式是過載實現的編譯時多型和重寫實現的執行時多型

過載的特點:方法名必須相同,返回型別可以不同,引數列表必須不同

重寫的特點:方法名,返回型別,引數列表全都必須相同

4. 訪問修飾符實現了封裝。之所以要封裝是因為在類中有一些成員沒必要對外公開

5. 介面規定了物件通訊的契約,抽象類規定了程式內部實現類的公共行為的規範

主要內容

1. 陣列的概念以及為什麼使用陣列

即是一組相同型別資料組合在一起,使用乙個通用的名稱,通過分配下標訪問元素

陣列的下標從0開始

2. 陣列的申明和初始化

申明時必須明確陣列中儲存的資料型別

語法: 資料型別 陣列變數名

初始化必須說明陣列的大小,也可以一次性完成填充資料的操作

示例:int myint;  //申明陣列變數

myint=new int[7]; //初始化陣列

int myint1 = new int[7]; //一次性申明

int myint2 = new int[7]; //申明並填充

int myint3 = new int;

int myint4 = ;

3. 訪問陣列

陣列在宣告和初始化後,就可以使用索引器訪問其中的元素了

陣列只支援有整型引數的索引器

索引從0開始

索引錯誤將引發下標越界錯誤

使用length屬性可以獲得陣列長度

4. foreach迭代

foreach可以隱藏集合型別的內部實現方法,從而更加有效地處理集合型別元素。

通過foreach迴圈語句,可以迴圈列舉某集合的元素,並對各元素執行一次相關的嵌入語句

語法:foreach(型別 迭代變數 in 被迭代的表示式或集合變數)

5. 向陣列存放引用型別物件

看完筆記,寫**:

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace array1

set

}/// /// 年齡屬性

///

public int age

set

}public persons()

/// /// 建構函式

///

/// 姓名引數

/// 年齡引數

public persons(string str, int x) }}

上面的**只是在做物件引用在陣列的使用方式寫的,下面還有

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace array1

str = "*****===最普通的建立陣列的方式之二**********====";

console.writeline(str);

for (int i = 0; i < myarray2.length; i++)

str = "*****===最普通的建立陣列的方式之三**********====";

console.writeline(str);

double myarray3 = ;

for (int i = 0; i < myarray3.length; i++)

str = "*****===最普通的建立陣列的方式之四**********====";

console.writeline(str);

float myarray4 = new float[3] ;

//這裡使用陣列的乙個方法,可以獲取陣列指定維數中的項數,即長度

int x = myarray4.getlength(0);

for (int i = 0; i < x; i++)

str = "*****===最普通的建立陣列的方式之五二維陣列**********====";

console.writeline(str);

int[,] myarray5 = new int[2, 3];

myarray5[0, 0] = 12;

myarray5[0, 1] = 34;

myarray5[0, 2] = 45;

myarray5[1, 0] = 234;

myarray5[1, 1] = 345;

myarray5[1, 2] = 456;

console.writeline("*****迴圈輸出方式一*****");

int y = myarray5.getlength(0);//二維陣列中的第一維中的項數

int z = myarray5.getlength(1);//***

for (int i = 0; i < y; i++)

console.writeline("\n*****==隔離帶*****==");

}console.writeline("*****迴圈輸出方式二*****");

int a = 0;

foreach (int i in myarray5)

}str = "\n\n*****===最普通的建立陣列的方式之六物件引用**********====";

console.writeline(str);

persons pe = new persons ;

persons per =;

foreach (persons p in pe)

console.writeline("\n*****=另一種寫法也是可以的*****====");

foreach (persons p in per)

console.readkey();}}

}

最後看執行結果:

第二十一題

題目 猴子吃桃問題 猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了乙個第二天早上又將剩下的桃子吃掉一半,又多吃了乙個。以後每天早上都吃了前一天剩下的一半零乙個。到第10天早上想再吃時,見只剩下乙個桃子了。求第一天共摘了多少。my code 正向思考 index true remain0 0...

第二十一天

好久沒有寫點東西了。或許是為了忙個經濟師中級的考試,列印了很多的資料,每章一節一節地在消化,咀嚼著生硬的專業術語,那滋味,只有體會過了才知道。乙個晚上看下來,做夢也是這些內容,有點累,但是,為了目標,只有克服,努力前進。單位的專案要啟動了,事情特別多,給我們準備的時間就乙個禮拜,一開始拿到這個內容需...

第二十一天總結

今天學習了c 中的函式,感覺好難看懂,跟數學含糊一樣難,函式是一組一起執行乙個任務的語句。每個 c 程式都至少有乙個函式,即主函式 main 所有簡單的程式都可以定義其他額外 的函式。您可以把 劃分到不同的函式中。如何劃分 到不同的函式中是由您來決定的,但在邏輯上,劃分通常是根據每個函式執行乙個特定...