數據類型有 基本數據類型 和 引用數據類型 兩大類型。
數據類型
|
|
|
C#語言 |
.NET(通用語言) |
大小(字節) |
值區間 |
|
基本數據類型 |
值類型 |
整型 |
不能存在小數點,可以有負數 |
byte |
Byte |
1 |
0~255 |
short |
Int16 |
2 |
|
||||
int |
Int32 |
4 |
|
||||
long |
Int64 |
8 |
|
||||
浮點型 |
有小數點/負數 |
foat |
Single |
4 |
|
||
double |
Double |
8 |
|
||||
decomal |
Decimal |
16 |
|
||||
字符型 |
只能存在一個字符 |
char |
Char |
2 |
任意字符 |
||
布爾型 |
判斷對錯 |
bool |
Boolean |
1 |
True或false |
||
引用類型 |
字符串類型 |
string |
String |
|
字符序列 |
||
日期時間 |
DateTime |
|
|
|
|||
枚舉類型 |
ENUM |
|
|
|
|||
結構類型 |
struct |
|
|
|
string s=null; null 是一個空值/空數 在字符串里可以用
1、整型
int(最常用)
int a = 2;
2、浮點型:double(最常用)是C#默認小數類型,float用需加后綴f,decimal用需加后綴m。
double b = 3.14;
a = (int)b;
float c = 3.14f;
decimal d = 3.14m;
3、布爾型:用於判斷,只允許放TRUE或者FALSE。
int a = 10;
int b = 15;
bool bb = a<b;
Console.WriteLine(bb); //程序啟動就顯示TRUE。
4、日期時間
獲取當前時間
DateTime dt = DateTime.Now;
Console.WriteLine(dt); //就會顯示當前的時間
定義一個時間
DateTime kl = new DateTime(2017, 4, 8); //這里的逗號可以改為任意字符串
Console.WriteLine(kl); //時間就會修改(顯示)為2017-4-8 00::00:00
C#轉義字符
應用在字符類型中 用反斜杠表示
\’ 單引號 \” 雙引號 \\ 反斜杠 \0 空
\a 警告(產生峰鳴) \b 退格 \f 換頁 \n 換行
\r 回車 \t 水平制表符 \v 垂直制表符
例子:
Console.WriteLine("H:\\音樂\\戲劇\\郭德綱\\於謙");
Console.ReadLine();
常量:只能夠取值,不能重新賦值
const int f = 5;
f = 7;錯誤,不能重新賦值
基本的類型轉換
1、自動轉換(隱式轉換)--從值類型轉換到引用類型時候
2、強制轉換(顯式轉換)--從引用類型轉換到值類型時候,或者從浮點型轉換到整形
當從一個引用類型轉換到值類型時,必須引用類型中的數據元素,能夠轉換成值類型的容量范圍內的數據才行,否則不能轉。
⑴、用(),注:在被轉換的數據左邊加上小括號:(要被轉換成的數據類型);
例子:int a;double b=12.3;a=(int)b;
⑵、用convert;
例子: int a; float c; double b=12.3;
a=convert.ToInt32(b);
c=convert.Tosingle(b);
⑶、用parse,常用;
例子: int a; double b=12.3;
a=int.parse(b);
注:int a = 2;
string s = a.ToString();
例子:輸入三個數,求它們的和、差、積、商。
Console.WriteLine("請輸入a=");
double a = double.Parse(Console.ReadLine());
Console.WriteLine("請輸入b=");
double b = double.Parse(Console.ReadLine());
Console.WriteLine("兩個數的和為"+(a+b)+",兩個數的差為"+(a-b)+",兩個數的乘積為"+(a*b)+",兩個數的商為"+(a/b));
Console.ReadLine();
條件運轉符
例子:x=(x>12)?1:2 // 假如想x>12, 那么進入1 否則進入2
練習題:
1、“請輸入一個100以內的整數:”
“是不是7的倍數:是/不是”
“十位數是不是7:是/不是”
“個位數是不是7:是/不是”
Console.Write("請輸入一個100以內的整數:"); int user = Convert.ToInt32(Console.ReadLine()); string end1 = (user % 7 == 0) ? user + "是7的倍數" : user + "不是7的倍數"; Console.WriteLine(user / 10); string end2 = (user / 10 == 7) ? "十位數是7" : "十位數不是7"; Console.WriteLine(end2); string end3=(user%10==7)?"個位數是7":"個位數不是7"; Console.ReadLine();
2、“請輸入您的成績(0-100):”
如果大於等於60,輸出“及格了!”
如果小於60,輸出“不及格,繼續努力!”
Console.Write("請輸入你的成績:"); string chengji = Console.ReadLine(); int chengji1 = Convert.ToInt32(chengji); string end = (chengji1>=60) ? "及格!" : "不及格!!!"; Console.WriteLine(end); Console.ReadLine();
3、“請輸入第一個數:”
“請輸入第二個數:”
“請輸入+ - * /:”
結果:
//用戶輸入3個內容,分別是數字1,數字2,運算符 Console.Write("請輸入第一個數:"); int a1 = Convert.ToInt32(Console.ReadLine()); Console.Write("請輸入第二個數:"); int a2 = Convert.ToInt32(Console.ReadLine()); Console.Write("請輸入運算符(+/-):"); string ysf = Console.ReadLine(); //根據用戶輸入的內容,進行運算,輸出結果 int end = ysf == "+" ? a1 + a2 : a1 - a2; Console.WriteLine(end); Console.ReadLine();
4、“請輸入一個1-100的整數:”
如果這個數小於50,輸出“小”
如果這個數大於等於50,輸出“大”
如果這個數是66,輸出“小”
Console.Write("請輸入一個1-100的整數:"); int a = Convert.ToInt32(Console.ReadLine()); string end = a < 50 || a == 66 ? "小" : "大"; Console.WriteLine(end); Console.ReadLine();