程式的開發離不開變數和常量的應用。我們在學習vb的時候,也對變數和常量有了一定的瞭解,其實非常簡單,變數就是本身被用於儲存特定類型的資料,而常量則儲存不變的資料值。
一、變數
1.基本概念:
變數本身被用於儲存特定類型的資料,可以根據需要隨時改變變數中所儲存的資料值。變數具有名稱、類型和值。和類相同,使用變數之前也必須聲明變數,即指定變數的類型和名稱。
2.變數類型:
C#中變數類型根據定義可以分為兩種:一種是實值型別,另一種是參考型別。兩者的差異在於資料的儲存方式。實值型別的變數本身直接儲存資料,而參考型別則儲存實際資料的引用,程式通過此引用找到真正的資料。
(1)實值型別
實值型別主要包含整數類型、浮點類型以及布爾類型等。實值型別變數在堆棧中進行分配,所有效率很高。
A.整數類型:
在這裡說明了每個資料類型的範圍,是為了我們可以根據數值的大小選擇合適的資料類型,否則可能會導致運算溢出的處理。
例如:聲明一個byte類型的變數Android並初始化為255,並輸出。代碼如下:
static voidMain(string[] args) { byte android =255; //聲明一個byte類型的變數Android Console.WriteLine("android={0}",android ); //輸出byte類型變數Android Console.ReadLine(); }
結果顯示:
當byte類型的初始值換為256時,見代碼:
static void Main(string[] args) { byte android =256; //聲明一個byte類型的變數Android Console.WriteLine("android={0}",android ); //輸出byte類型變數Android Console.ReadLine(); }
則會出現以下錯誤:
這麼兩個簡單的例子,就非常形象的說明了資料類型範圍的重要性。
B.浮點類型:
主要處理含有小數的數實值型別,主要包含float和double兩種類型。
沒有特別指定的情況數值預設是double類型,如果需要使用float類型變數時,必須在數值的後面跟隨f或F,對其進行強制轉換。例如:
float theMySum = 9.27f; //使用f強制指定為float類型float theMySum = 9.27F; //使用F強制指定為float類型
將float類型轉換為double類型也是類似,只要將float寫成double,將f或F寫成d或D就可以了。
C.布爾類型:
主要用來表示true/false值,大多數被應用在流程式控制制語句,例如迴圈語句或if語句等中。
(補充:在定義全域變數時,如果沒有指定,整數類型和浮點類型的預設初始值為0,布爾類型為false。)
(2)參考型別
所有被稱為“類”的都是參考型別,主要包括類、介面、數組和委託。
下面是使用參考型別變數的一個應用程式:
class Program { class C //建立一個類C { public int Value =0; //聲明一個公用int類型的變數value } static void Main(string[]args) { int v1 = 0; //聲明一個公用int類型的變數v1,並初始化為0 int v2 = v1; //聲明一個公用int類型的變數v2,並將V1賦值給v2 v2 = 927; //重新將變數v2賦值為927 C r1=new C(); //使用new關鍵字建立引用對象 C r2=r1 ; //使r1等於r2 r2.Value=112; //設定變數r2的value值 Console.WriteLine("values:{0},{1}",v1,v2); //輸出變數v1和v2 Console.WriteLine("Refs:{0},{1}",r1.Value ,r2.Value ); //輸出參考型別對象的value值 Console .ReadLine (); }
運行結果為:
二、常量
常量就是固定不變的量,而且常量的值在編譯時間就已經確定了。在C#中,使用關鍵字const來建立常量,並且在建立常量時必須設定它的初始值,同時,一經設定,不允許修改。
例如:
const doublePI=3.1415926; //正確的聲明方式const int MyInt; //錯誤:定義常量時沒有初始化
此博為大家詳細的介紹了變數和常量,對於變數的兩種類型:實值型別和參考型別,我會在此後的部落格中通過一個樣本,協助大家更好的理解實值型別和參考型別的區別,敬請期待~