C# 變量 1.簡單類型
簡單類型就是組成應用程序中基本構件的類型,例如,數(shù)值和布爾值(true或false)。與復雜類型不同,簡單類型沒有子類型或特性。
有很多數(shù)值類型是因為在計算機內(nèi)存中,把數(shù)字作為一系列的0和1來存儲。對于整數(shù)值,用一定的位(單 個數(shù)字,可以是0或1)來存儲,用二進制格式來表示。以N位來存儲的變量可以表示任何介于0到(2N_1)之間 的數(shù)。大于這個值的數(shù)因為太大,所以無法存儲在這個變量中。
例如,有一個變量存儲了兩位,在整數(shù)和表示該整數(shù)的位之間的映射應如下所示:
如果要存儲更多數(shù)字,就需要更多的位(例如,3位可以存儲0到7的數(shù))。
這樣得到的結(jié)論是要存儲每個可以想象得到的數(shù),就需要非常多的位,這并不適合PC。即使可以用足夠多 的位來表示每一個數(shù),用這么多的位存儲一個表示范圍很小的變量(例如0到10)的效率非常低下,因為存儲器 被浪費了。其實表示0到10之間的數(shù),4位就足夠了,這樣就可以用相同的內(nèi)存空間存儲這個范圍內(nèi)的更多 數(shù)值。
相反,許多不同的整數(shù)類型可用于存儲不同范圍的數(shù)值,占用不同的內(nèi)存空間(至多64位),這些類型如表 3-1所示。
類 型 | 別 名 | 允許的值 |
sbyte | System.SByte | 介于-128和127之間的整數(shù) |
byte | System. Byte | 介于0和255之間的整數(shù) |
short | System. Int 16 | 介于- 32 768和32 767之間的整數(shù) |
ushort | System.Ulntl6 | 介于0和65 535之間的整數(shù) |
int | System.Int32 | 介于- 2 147 483 648和2 147 483 647之間的整數(shù) |
uint | System.UInt32 | 介于0和4 294 967 295之間的整數(shù) |
long | System.Int64 | 介于- 9 223 372 036 854 775 808和9 223 372 036 854 775 807之間的整數(shù) |
ulong | System.UInt64 | 介于0和18 446 744 073 709 551 615之間的整數(shù) |
注意:
這些類型中的每一種都利用了.NETFraraeworic中定r義的標準類塑?如第1章所述使用標準類型可以在語當 之間交互操作。在C#中這些類型的名稱是Framework中定義的類型的別名,表3-1列出了這些類型在.NET Framework庫中的名稱。_
—些變量名稱前面的“u”是unsigned的縮寫,表示不能在這些類型的變量中存儲負數(shù),參見表3-1中的“允 許的值” 一列。
當然,還需要存儲浮點數(shù),它們不是整數(shù)。可以使用的浮點數(shù)變量類型有3種:float、double和decimal。 前兩種可以用±m(xù)x2e的形式存儲浮點數(shù),其中m和e的值因類型而異。decimal使用另一種形式:土m><10% 這3種類型、它們所允許的m和e的值,以及它們在實數(shù)中的上下限如表3-2所示。
類 型 | 別 名 | m的 最小值 | m的 最大值 | e的 最小值 | e的 最大值 | 近似的 最小值 | 近似的 最大值 |
float | System.Single | 0 | 224 | -149 | 104 | 1.5 X 10*45 | 3.4 X 1038 |
double | System-Double | 0 | 253 | -1075 | 970 | 5.0 X 10'324 | 1.7 X 10308 |
decimal | Systcm-Decimal | 0 | 296 | -28 | 0 | 1.0 X 10'28 | 7.9 X 1028 |
除數(shù)值類型外,另外還有3種簡單類型,如表3-3所示。
類 型 | 另IJ 名 | 允許的值 |
char | System.Char | 一個Unicode字符,存儲0和65 535之間的整數(shù) |
bool | System. Boolean | 布爾值:true或false |
string | Systcm.String | 一個字符序列 |
注意組成string的字符數(shù)量沒有上限,因為它可以使用可變大小的內(nèi)存?
布爾類型bod是C#中最常用的一種變量類型,類似的類型在其他語言的代碼中非常豐富。當編寫應用程 序的邏輯流程時,一個可以是trae或丨se的變量有非常重要的分支作用。例如,考慮一下有多少問題可以用true 或false(或yes和no)來回答。執(zhí)行變量值之間的比較或檢查輸入的有效性就是后面使用布爾變量的兩個編程 示例。
點擊加載更多評論>>