数据类型有 基本数据类型 和 引用数据类型 两大类型。
数据类型
|
|
| 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();