数据类型有 基本数据类型 和 引用数据类型 两大类型。
数据类型
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 % == ) ? user + "是7的倍数" : user + "不是7的倍数"; Console.WriteLine(user / ); string end2 = (user / == ) ? "十位数是7" : "十位数不是7"; Console.WriteLine(end2);
string end3=(user%==)?"个位数是7":"个位数不是7"; Console.ReadLine();
2、“请输入您的成绩(0-100):”
如果大于等于60,输出“及格了!”
如果小于60,输出“不及格,继续努力!”
Console.Write("请输入你的成绩:"); string chengji = Console.ReadLine(); int chengji1 = Convert.ToInt32(chengji); string end = (chengji1>=) ? "及格!" : "不及格!!!"; 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 < || a == ? "小" : "大"; Console.WriteLine(end); Console.ReadLine();