上一篇中我們初步的瞭解了一些數據類型,不全面,本着認真求實的精神,我再對數據類型梳理 一下。
值類型之整數類型:
數據類型 | 特徵 | 取值範圍 |
---|---|---|
sbyte | 8位有符號整型 | -128~127之間 |
byte | 8位無符號整型 | 0~255之間 |
short | 16位有符號整型 | -32768~32767之間 |
ushort | 16位無符號整型 | 0~65535之間 |
int | 32位有符號整型 |
-2147483648~2147483647之間 |
uint | 32位無符號整型 | 0~4294967295之間 |
long | 64位有符號整型 | -2^63~2^63-1之間 |
ulong | 64位無符號整型 | 0~2^64-1之間 |
記得以前上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 + "\t" + "你的電話是:{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#是支持多國語言編寫的,不僅是中文,用日文、韓文……也都可以,不過建議還是用英文吧!!正好練習英語。