上一篇中我們初步的了解了一些數據類型,不全面,本著認真求實的精神,我再對數據類型梳理 一下。
值類型之整數類型:
記得以前上C語言 課 的時候老師也曾讓我們看過這樣的表格要求記下來,當時也沒好好看認為記這個沒什麼用,可當我運行下面的代碼的時候就知道老師的良苦用心了:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Example { class Program { static void Main(string[] args) { short x = 32766; x++; Console.WriteLine(x); x++; Console.WriteLine(x); Console.ReadKey(); } } }
結果出人所料:
為毛是負的????這個時候就章現了取值范圍的偉大之處了 3268他超出了Short取值范圍了;
與此類似的經歷有很多,記得有一次老師叫我們寫一個程序錄入一個人的電話號碼,然後輸出,同桌說 “很簡單嘛,三下五除二就寫好了, ”代碼如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Example { class Program { static void Main(string[] args) { int x; Console.WriteLine(姓名:); String name = Console.ReadLine(); Console.WriteLine(電話號碼: ); x = int.Parse(Console.ReadLine()); //類型轉換 Console.WriteLine(你的名字叫: + name + + 你的電話是:{0}, x); } } }
結果不能運行,原因就是int的有效位只有 10位 電話號碼有11位 超出范圍了,可以用long型 替代。再對輸入與輸出篇補充一點 : Console.WriteLine(你的名字叫:+name) 中間的加號 + 表示的是連接2個字符串的意思,也就是合二為一的意思,當表達式中有一個String類型時 ,比如
int i =9;
String Str = ”HC666“
Console.WriteLine(Str+i);
運行輸出為: HC6669
這是因為當表達式中有String類型與int類型時 編譯器自動將int 型 轉化為String類型(隱式轉換)然後再連接起來。後面會學習隱式轉換。
本著學無止境的精神,對上一篇日記的探索我有了新的發現: 定義變量名稱時 用漢字也可以,並且不出錯。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Example { class Program { static void Main(string[] args) { String 姓名=HC666; int 年齡=16; double 身高=1.70; Console.WriteLine(姓名:{0},年齡:{1},身高:{2}, 姓名, 年齡, 身高); } } }其 實C#是支持多國語言編寫的,不僅是中文,用日文、韓文……也都可以,不過建議還是用英文吧!!正好練習英語。