官术网_书友最值得收藏!

2.4 常量

變量是值允許被改變的,而常量是值不允許被改變的。程序中總是存在一些數(shù)據(jù),這些數(shù)據(jù)的值長而復雜,容易出錯。使用常量來表示這些數(shù)據(jù),為數(shù)據(jù)定義一個簡易名稱來參與程序的編寫,既使程序簡單易懂,又使數(shù)據(jù)不易出錯。

如將數(shù)值3.1415926定義為常量Pi,該數(shù)值是圓周率,但在程序中使用3.1415926數(shù)值較長,容易出錯,而使用常量Pi替代數(shù)值,使程序清晰且不易出錯。

常量是指在使用過程中不會發(fā)生變化的量,C++中可以含有常量指針、指向常量的變量指針、常量方法和常量參數(shù),但是C#中已經刪除了某些細微的特性,只能把局部變量和字段聲明為常量。應用程序中使用常量的好處如下:

□ 常量使程序更加容易修改。

□ 常量能夠避免程序中出現(xiàn)更多的錯誤。

□ 常量使用易于理解的、清楚的名稱替代了含義不明確的數(shù)字或字符串,使程序更加方便閱讀。

常量也可以叫作常數(shù),它是在編譯時已知并且在程序運行過程中其值保持不變的值。C#中聲明常量需要使用const關鍵字,并且常量必須在聲明時初始化。如下代碼聲明并初始化了一個靜態(tài)常量:

class Program
{
public const string USERPHONE = "13213103456";
}

讀者也可以使用一個const關鍵字同時聲明多個常量,但是這些常量之間必須使用逗號進行分隔。代碼如下:

class Program
{
public const int P = 12, S = 23, M = 45, N = 55;
}

注意

使用const關鍵字聲明常量時,通常使用大寫字母。如果沒有使用const,即使指定了固定的值,也不算是常量。

使用const關鍵字定義常量非常簡單,但是同時需要注意以下幾點:

□ const必須在字段聲明時就進行初始化操作。

□ const只能定義字段和局部變量。

□ const默認是靜態(tài)的,所以它不能和static同時使用。

□ const只能應用在值類型和string類型上,其他引用類型常量只能定義為null。否則會引發(fā)錯誤提示“只能用null對引用類型(string類型除外)的常量進行初始化”。

常量和變量經常會在程序開發(fā)中用到,但是什么情況下使用常量,什么情況下使用變量呢?很簡單,使用常量的情況一般有兩種:

□ 用于在程序中一旦設定就不允許被修改的值,如圓周率π。

□ 用于在程序中被經常引用的值,如銀行系統(tǒng)中的人民幣匯率。

如使用了常量和變量的程序,計算圓的面積,其執(zhí)行代碼和效果如練習2-3所示。

【練習2-3】

將圓周率定義為常量,將圓的半徑定義為變量,分別計算半徑為2和半徑為4的圓的面積,代碼如下:

int r = 2;                                            //半徑變量的聲明和初始化
const double P = 3.14;                                //定義圓周率常量
Console.WriteLine("半徑2的圓,面積為:{0}", P * r * r);  //輸出圓的面積
r = 4;                                                      //修改半徑的值為4
Console.WriteLine("半徑4的圓,面積為:{0}", P * r * r);  //輸出圓的面積

按F5鍵運行上述代碼,其執(zhí)行結果如圖2-5所示。同樣輸出的是“P * r * r”表達式的值,由于變量值的改變,其輸出結果也不同。

圖2-5 求圓的面積

在練習3的例子中,變量的作用并沒有體現(xiàn)出來。在C#中,一個功能通常被定義為一個方法,而功能中需要賦值的變量是方法的參數(shù),為方法的參數(shù)賦值,運行該方法,即可實現(xiàn)需要的功能。

主站蜘蛛池模板: 六安市| 莎车县| 图片| 汕尾市| 怀仁县| 枞阳县| 鹤山市| 清苑县| 乌兰浩特市| 弥勒县| 康乐县| 日土县| 荃湾区| 平顺县| 安平县| 灵寿县| 巩留县| 泸水县| 醴陵市| 繁昌县| 华安县| 鸡西市| 栾城县| 双柏县| 兴宁市| 方正县| 阳谷县| 宁武县| 前郭尔| 来凤县| 张北县| 丹巴县| 宿州市| 南部县| 宣威市| 海宁市| 土默特左旗| 宽城| 郧西县| 广西| 华安县|