黑馬程序員.Net培訓 C#基礎知識——數據類型

                                             ------- Windows Phone 7手機開發.Net培訓、期待與您交流! -------

一、數據類型的分類

任何一種高級語言都有數據類型,數據類型是用來表達現實世界中的各種不同類型數據的

C#中的數據類型可以分爲兩種: 值類型(value type)和引用類型(reference type)

 

1、值類型歸類如下

      ●簡單類型(simple type)

      ● 結構類型(struct type

      ●枚舉類型(enum type)

1.1、簡單類型

         1.1.1、int(整型) 爲有符號32位整數,取值範圍在-2,147,483,648~ 2,147,483,647之間。

         1.1.2、char(字符型 是整型的一種特殊情況)char類型的數據,只能一次存放一個字符,字符要求用單引號引起來,如:char number='a',並且char類型不能爲空,char number=null或者char number='';都是錯誤的 char可以隱式轉換爲ushort、int、uint、long、ulong、float、double或decimal。但是,不存在從其他類型到char類型的隱式轉換。

         1.1.3、decimal(小數型)共128個二進制位,具有28至29位十進制有效數字。適用於金融、貨幣等需要高精度數值的領域。如果希望實數被視爲decimal類型,請使用後綴m或M,例如:            

             decimal myMoney=99.9m;

                           如果沒有後綴m,數字將被視爲double類型,從而導致編譯器錯誤

        1.1.4、float/double(浮點類型)它們的差別在於取值範圍和精度:
                   float: 取值範圍在 1.5x10^-45~ 3.4x10^38之間, 精度爲7位數。

                  double: 取值範圍在 5.0x10^-324 ~ 1.7x10^308之間, 精度爲 15~16 位數。
       1.1.5、string(字符串類型)要求用雙引號""將字符串引起來。
       1.1.6、bool(布爾類型)只有兩個值true和false
1.2、結構類型

1.3、枚舉類型
 

2、引用類型歸類如下:

        和值類型相比,引用類型不存儲它們所代表的實際數據,但它們存儲實際數據的引用。在C#中提供以下引用類型

       對象類型

       類類 型

       接口

       代表元

     

二、數據類型的轉換

c#常見的類型轉換可分爲自動類型轉換(隱式轉換)和強制類型轉換(顯示轉換)、不同類型之間的相互轉換 三類。

1、自動類型轉換

     1.1、參與運算(算術運算和邏輯運算)的操作數和結果類型必須一致。當不一致時,只要滿足以下條件,系統自動完成類型轉換

              ◎兩種類型兼容  

                    例如:int和double兼容    

              ◎目標類型大於原類型

                   例如:double>int

                    int i = 20;
                    double d = i; //發生自動轉換

               ◎對於表達式

                   如果一個操作數爲double型,則整個表達式可提升爲double型。

    

2、強制類型轉換   

     2.1、語法:

           (數據類型名)待轉換的值;   如:int b=(int)3.14;

     2.2、當將大類型變量賦值給小類型變量時必須使用強制類型轉換,不能保證數據的精確度,例如:

         double d=19.8;
         int i=(int)d;//發生強制轉換,此處會丟失數據精度。

  

     2.3、強制性轉換的數據類型要兼容 

 

3、不同類型轉換

      如果是不同類型之間的相互轉換則需要用到一些方法來輔助完成;

     ●tostring()方法 一切類型都可以轉換成string類型

     ●Convert.toint32(待轉字符串);

        int  變量=Convert.toint32(待轉字符串)//把待轉字符串轉換成int類型後賦給變量。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("請輸入你的語文成績:");
            string chinese = Console.ReadLine();
            Console.WriteLine("請輸入你的數學成績:");
            string math = Console.ReadLine();
            

          //  Console.WriteLine("你的總成績爲:{0}", chinese + math);//以這樣的方法是錯誤的,同時體現了+的兩種意義

            int chineseScore = Convert.ToInt32(chinese);
            int mathScore = Convert.ToInt32(math);

            Console.WriteLine("你的總成績爲:{0}", chineseScore + mathScore);

            Console.ReadKey();
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章