黑馬程式設計師 列舉 常量 結構

2021-06-05 23:39:24 字數 4764 閱讀 9344

---------------------- windows phone 7手機開發、.net培訓、期待與您交流! ----------------------

常量 語法:

const 型別 常量名

=常量值;

在定義時賦值,在其他地方不允許賦值

1、可以重複使用

2、防止寫程式被惡意修改

★列舉我們定義一種列舉型別並且在定義這種型別時我們要指定這個型別的所有的值。

語法:enum 自己起的型別名稱 

列舉的定義,一般和類定義在同乙個級別,這樣,在同一命名空間下的所有類就都可以使用這個列舉型別了。(方法/類中也可以)

列舉的作用:1)限制使用者不能隨意賦值,只能在定義列舉時列舉的值中選擇

2)不需要死記每乙個值是什麼,只需要選擇相應的值

注意:定義列舉時值不能是int型別

列舉型別的變數都可以強制轉換成乙個int型別。列舉的值在定義時都是有乙個預設編號的,編號從0開始。若讓其從1開始,只需要在第乙個值=1。

◆如何把乙個字串轉換成列舉型別

(自己定義的列舉型別)(enum.parse(typeof(自枚),"待轉換的字串"));

使用者輸入的值一定要try-catch.

典型的列舉型別:messagebox.show的引數(後面會學到)

★結構的定義

為什麼要用結構:

1)比如我們上課講得為了儲存乙個人的資訊,要宣告一組變數,當我們要儲存n個人的資訊時,就要宣告n租變數,麻煩

2)儲存乙個人的資訊的這幾個變數之間沒有關係,容易記亂

語法:訪問修飾符 struct 結構名 

定義結構成員 //變數和方法

定義好乙個結構後,就可以直接宣告相應的變數了。

宣告好變數後,通過變數名.成員名來訪問結構的成員

顏色-計算機原理,三種畫素 r 、

g、 b,每種可表示

2^8次方

,一共可以表示成

2^24次方。

紅色綠色

藍色可以調成不同顏色

1位元組=1b(byte)=8位=8bit

計算機能夠處理的最小單位

bps b/s bit per second

4月13日

♥陣列陣列可以幫我們一次宣告多個同型別的變數。這些變數是連續儲存的。

陣列宣告語法:

資料型別 陣列名=new 資料型別[陣列長度]

例如:int score = new

int[5]

就宣告了乙個長度為5的陣列,叫score。

通俗點說:就是宣告了乙個陣列,裡面包含了5個int型別的變數。

陣列名:score  裡面的5個int型別的變數叫做:陣列的元素

如何訪問陣列:通過下標(索引器)來訪問陣列。陣列名[編號]

比如,我們要向第0個元素賦乙個3,可以寫成score[0]=3;

int型別的陣列一旦被宣告後,裡面的元素被初始化成0

string和char型別的陣列預設值為空(null)

通過 陣列名.length 可以獲得陣列長度

小技巧:

console.clear();清屏,用於很多輸出

int sum = 0;

int score=new

int[10];

//對陣列中元素進行賦值

for (int i = 0; i console.writeline("請輸入第

個人的成績",i+1);

score[i] = convert.toint32(console.readline());

//sum+=score[i];

//通過乙個迴圈,求陣列中所有元素的和

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

sum += score[i];

console.clear();

console.writeline("

個人的平均成績為

:",score.length,sum/score.length);

//輸出陣列中的每乙個元素的值

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

console.writeline("第

個學生的成績為分?",i+1,score[i]);

注意:1、可以直接宣告時賦初值,int nums=

2、個數與宣告數必須一致,也可以對陣列個數。

for(int i=names.length-1;i>=0;i--) 倒著輸出陣列

例題:5個元素(2)  6(3)

0-4            0-5

1-3            1-4

2              2-3

規律:n個元素進行交換

1)需要交換n/2;

2)在乙個迴圈中第i個元素與第n-i-1個元素相交換

3)♥氣泡排序(排序方法很多)

定義:讓陣列中的元素兩兩比較,第i

個與第i+1

個比較,經過n(

i-1)遍兩兩比較,陣列能按照預期規律排序。

如果從大到小排序,兩兩比較用<

,成立則交換位置。

規律:1、n個元素需要比較

n-1趟,每一趟兩兩比較。

2、第i

趟比較的次數為

n-i

for (int i = 0; i < scores.length - 1; i++)//控

制迴圈比較的趟數,迴圈一次相當於比較一次

for (int j = 0; j < scores.length - i - 1; i++)//控制第趟需要兩兩比較的次數

♥方法(函式):用來復用**

功能:當我們在乙個程式中反覆寫了同樣的**,那麼一般情況下,我們可以把需要重複的**寫在一段**裡,只需要呼叫就行。方法是將一堆**進行重用的一種機制,方法就是一種**,這段**可能有輸入的值(引數),可能也有返回值。

定義方法的語法:

public代替訪問修飾符

[訪問修飾符][static] 返回值型別 方法名([引數])

方法體;

注意:1)一般情況下方法一般要定義在類中

2)如果方法沒有返回值,返回值型別寫void

3)方法名的命名規則:方法名開頭大寫,引數名開頭小寫,引數名、變數名要有意義,如果方法名沒有引數,小括號不能省略

4)方法的呼叫,對於靜態方法,類名.方法名(),如果在同乙個類中,直接寫名字呼叫就行了

5)return可以立即退出所在的方法,無返回值的可以不用寫return;有返回值必須手寫return。

6)當形參是陣列時,傳陣列名;如果不是陣列名,而是幾個元素,就將陣列名加下標。

逐語句(f11)逐過程(f10):

逐過程當遇到方法呼叫時不再進去,逐語句:當遇到方法呼叫時進去除錯

★reflector可以看到微軟封裝的**

♥引數變數的作用域:

在方法中定義的變數成為區域性變數,其作用域從定義開始到其所在的大括號結束為止。

在方法中訪問區域性變數,可以通過引數來。當被呼叫者想得到呼叫者方法中的變數時,則可以讓呼叫者以引數的形式給被呼叫者

乙個變數一旦定義在方法外,類的裡面就叫做字段。這個變數就可以被本類的所有方法訪問。但是要注意,靜態方法只能訪問靜態字段。

由const修飾的常量不能宣告為static,但可以被static方法訪問。

在方法名後面的括號內定義的變數叫做定義這個方法的引數(形式引數)。

在這裡定義變數用於接收呼叫者傳過來的資料。

注意:如果乙個方法一旦有引數,那麼呼叫者就必須傳引數,並且傳引數的個數與對應位置上的型別必須一致。

int.parse(string)可以把string型別轉化成int型別,作用等同於convert.toint32();

每種型別都有其parse,即轉化成相應的型別

♥返回值

當呼叫者想訪問方法中的變數時,可以通過返回值返回。

例如:string s=console.readline();

int i=converttoint32("2");

為什麼方法前面能夠定義乙個變數接收到方法的值,是因為在方法中使用率返回值。

只要在方法中返回了值,那麼在呼叫方法時前面就應該用乙個變數來接受方法的返回值。

注意:乙個方法只能有乙個返回值。

一旦乙個方法有返回值那麼在這個方法體中就必須通過return語句返回乙個值,並且這個值與返回值型別是相同的

語法: return 值;

♥方法的過載

一般在同一類中,方法名相同,並且方法的引數個數不同,或者對應位置上的型別不同,才能構成過載。

注意:方法的過載和返回值沒有任何關係

★方法如何返回多個值?

可以通過引數來返回:out引數和ref引數(*)。

1、在方法引數前加out往外出傳參,呼叫方法時也需要加out代表接受引數。

2、如果引數前有out準備傳出,方法中必須對引數賦值,並且在使用前賦值,也必須有返回值。

3、如果引數是以out傳入的,在傳入前可以不用賦值

int.tryparse(string ,out int );返回值為bool型別,先檢測後轉換,第二個引數為轉換後的int型別,並且傳出。

ref表示引用傳遞,或者表示以位址的形式傳遞,既可以往外傳值,也可以往裡傳值。

out注重傳出,ref是雙向的

在傳參過程中,如果引數有out或ref修飾的話,那麼改變方法中引數的值,呼叫者方法中變數的值也會相應改變。

---------------------- windows phone 7手機開發、.net培訓、期待與您交流! ----------------------

詳細請檢視:

黑馬程式設計師 常量 列舉 結構 陣列

windows phone 7手機開發 net培訓 期待與您交流!1 常量的定義 const 資料型別 變數名 常量只能在初始化的時候賦值,可以把不經常改變的數定義為常量,這樣可以防止在寫程式時被惡意修改。常量可以重複使用。2 列舉的定義 上我們定義一種列舉型別並且在定義這種型別時制定這個型別的所有...

黑馬程式設計師 列舉 結構 常量日誌總結

windows phone 7手機開發 net培訓 期待與您交流!常量的定義用關鍵字const 比如 const double pi 3.14 常量是不可改變的量 只能在初始化的是後賦值 我們可以把程式中不可改變的量可以用常量來定義 列舉 列舉也可以叫窮舉 列舉是讓我們定義自定義一種資料型別 並且在...

黑馬程式設計師 C 之常量列舉

asp.net android ios開發 net培訓 期待與您交流!常量 不可改變的量 語法 const 型別 長兩名 常量值 列舉 定義列舉型別時要指定這個型別所有的值 語法 enum 型別名稱 注意 列舉一般和類在同乙個級別,方便這個命名空間裡所有的類使用 也可以定義在類裡。列舉示例 enum...