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

1.3 使用變量

前面我們已接觸了最基本的C#程序,下面聲明局部變量。變量聲明后可以賦值,可將值替換成新值,并可在計算和輸出等操作中使用。但變量一經聲明,數據類型就不能改變。在代碼清單1.10中,string max就是變量聲明。

代碼清單1.10 變量聲明和賦值

初學者主題:局部變量

變量是存儲位置的符號名稱,程序以后可對該存儲位置進行賦值和修改。局部意味著變量在方法或代碼塊(一對大括號{})內部聲明,其作用域“局部”于當前代碼塊。所謂“聲明變量”就是定義一個變量,你需要:

1.指定變量要包含的數據的類型;

2.為它分配標識符,即變量名。

1.3.1 數據類型

代碼清單1.10聲明的是string類型的變量。本章還使用了int和char。

·int是指C#的32位整型。

·char是字符類型,長度為16位,足以表示無代理項的Unicode字符[1]

下一章將更詳細地探討這些以及其他常見數據類型。

初學者主題:什么是數據類型?

數據類型(或對象類型)是具有相似特征和行為的個體的分類。例如,animal(動物)就是一個類型,它對具有動物特征(多細胞、具有運動能力等)的所有個體(猴子、野豬和鴨嘴獸等)進行了分類。類似地,在編程語言中,類型是被賦予了相似特性的一些個體的定義。

1.3.2 變量的聲明

代碼清單1.10中的string max是變量聲明,它聲明名為max的string變量。還可在同一條語句中聲明多個變量,辦法是指定數據類型一次,然后用逗號分隔不同標識符,如代碼清單1.11所示。

代碼清單1.11 一條語句聲明兩個變量

由于聲明多個變量的語句只允許提供一次數據類型,因此所有變量都具有相同類型。

C#變量名可用任何字母或下劃線(_)開頭,后跟任意數量的字母、數字或下劃線。但根據約定,局部變量名采用camelCase命名(除了第一個單詞外,其他每個單詞的首字母大寫),而且不包含下劃線。

設計規范

·要為局部變量使用camelCase風格命名。

1.3.3 變量的賦值

局部變量聲明后必須在讀取前賦值。一個辦法是使用=操作符,或者稱為簡單賦值操作符。操作符是一種特殊符號,標識了代碼要執行的操作。代碼清單1.12演示了如何利用賦值操作符指定miracleMax和valerie變量要指向的字符串值。

代碼清單1.12 更改變量值

從中可以看出,既可在聲明變量的同時賦值(比如變量miracleMax),也可在聲明后用另一條語句賦值(比如變量valerie)。要賦的值必須放在賦值操作符右側。

運行編譯好的程序生成如輸出1.3所示的結果。

輸出1.3

本例列出了dotnet run命令,以后會省略,除非要附加額外參數來指定程序的運行方式。

C#要求局部變量在讀取前“明確賦值”。此外,賦值作為一種操作會返回一個值。所以C#允許在同一語句中進行多個賦值操作,如代碼清單1.13所示。

代碼清單1.13 賦值會返回值,該值可用于再次賦值

1.3.4 變量的使用

賦值后就能用變量名引用值。因此,在System.Console.WriteLine(miracleMax)語句中使用變量miracleMax時,程序在控制臺上顯示:“Have fun storming the castle!”也就是miracleMax的值。更改miracleMax的值并執行相同的System.Console.WriteLine(miracleMax)語句,會顯示miracleMax的新值,即It would take a miracle.。

高級主題:字符串不可變

所有string類型的數據,不管是不是字符串字面值[2],都是不可變的(不可修改)。例如,無法將字符串"Come As You Are."改成"Come As You Age."。也就是說,不能修改變量最初引用的數據,只能重新賦值,讓它指向內存中的新位置。

[1] 某些語言的文字編碼要用兩個16位值表示。第一個代碼值稱為“高位代理項”(high surrogate),第二個稱為“低位代理項”(low surrogate)。在代理項的幫助下,Unicode可以表示100多萬個不同的字符。美國和歐洲地區很少使用代理項,東亞各國則很常用。——譯者注

[2] 即literal,是指以文本形式嵌入的數據。literal有多種譯法,沒有一種占絕對優勢。最典型的譯法是“字面值”“文字常量”和“直接量”。本書采用“字面值”。——譯者注

主站蜘蛛池模板: 桂林市| 乐东| 荆门市| 衡阳市| 军事| 黎川县| 武山县| 翁牛特旗| 余江县| 石首市| 长武县| 霍林郭勒市| 铅山县| 安阳市| 宝兴县| 若尔盖县| 韩城市| 江油市| 光山县| 兰溪市| 天气| 华坪县| 南川市| 昌乐县| 壶关县| 梁山县| 襄垣县| 贡嘎县| 浦江县| 宝鸡市| 镇江市| 班戈县| 鲁山县| 安塞县| 伊春市| 麻栗坡县| 南昌县| 云林县| 麻城市| 旬邑县| 长葛市|