什么是数据类型?
用来存储数据的,比如一个数字,或一行字,存储在内存中(不是硬盘),这些数据会随着程序的关闭而清空,并不会保存在本地,如不特意的输出,是看不见的!!一个程序里并不是变量也多越好,他们是占内存的,根据需要使用
C#的数据类型
类型 | 内存 | 数值范围 |
byte | 1 | -128 ~+127 |
sbyte | 1 | 0 ~255 |
short | 2 | -32 768 ~+32 767 |
ushort | 2 | 0~65 535 |
int | 4 | -2 147 483 648 ~ +2 147 483 647 |
uint | 4 | 0~ 4 294 967 295 |
long | 8 | -9 223 372 036 854 775 808 ~ +9 223 372 036 854 775 807 |
ulog | 8 | 0 ~ 18 446 744 073 709 551 615 |
char | 2 | 所有Unicode编码 |
string | 2 | 所有Unicode编码 |
bool | 1 | true(真)或false(假) |
float | 4 | +1.5e-324 ~ +1.7e308(精度15位) |
double | 8 | +5.05e-324~ +1.7e308(精度15位) |
decimal | 16 | +1.0x10e-28~ +7.9x10e28(精度28位) |
一共14个但是我们经常使用到只有五六个,分别是:
byte:字节(常用他的数组)
语法:byte a =100;
错误用法:byte a =130;
超出数值范围
int:代表整数
语法:int a = 100;
错误用法: int a =100.5;
只能表示整数,而且要在数值范围内
char:代表一个字
语法:char a =‘男’;
错误用法:char a =‘男的’;
这个类型只能赋值一个字,用的是单引号
string:代表字符串(一行字)
语法:string a ="小马哥的棺材板;
错误用法: string a =100.5;
字符串必须用双引号引起来
double:表示小数和整数
语法:double a =100.5;
double a =100;
错误用法: double a =“11”;
不是字符串类型不能使用双引号标识
这些是常用的吗,其他比较少使用
在编写程序时经常需要计算一下东西,如金额,库存这些都是需要计算的,而计算就必须通过变量来计算一般使用int,或double(一般使用这个),如果不带小数就使用int
注意:字符串(string)(char)是不能进行任何运算的,一般用于显示字符!!
除了字符,不同类型也可以进行加减乘除运算,
byte a = 10;
int b = 100;
int num =a + b;
Console.WriteLine(num);
//结果是110
字符串是不能进行运算的,编译器将报错
string a = “10”;
int b = 10;
int num = a + b;
Console.WriteLine(num);
当然也是有解决办法的,那就是数据类型的转换
string a = “10”;
int b = 10;
int c =Convert.ToInt32(a);
int sum = b + c;
Console.WriteLine(sum);
把字符串转成int类型
定义了(string)多个字符串,怎么把他们连接成句话
string a = “小马哥的”;
string b = “棺材板”;
string c = “按不住了!!!”;
使他们变成一句话
方法一(单纯的输出)(脑血栓专用):
string a = “小马哥的”;
string b = “棺材板”;
string c = “按不住了!!!”;
string d = a + b + c;
Console.WriteLine(d);
+号:起到的只是一个连接字符的作用,并不是把他们加起来,只是连接的意思,在能进行运算的类型才是加减乘除
方法二(单纯的输出):
如果只是单纯的输出没必要在用一个新的变量去接收他,直接在输出语句使用+号进行连接
string a = “小马哥的”;
string b = “棺材板”;
string c = “按不住了!!!”;
Console.WriteLine(a+b+c);
一样的效果
上面演视的都是在代码写死了的,我们也可以接收用户从键盘输入的数字
:
接收用户输入并且连接一句话,在显示出来
Console.WriteLine(“输入第1个字”);
string a = Console.ReadLine();
Console.WriteLine(“输入第2个字”);
string b = Console.ReadLine();
Console.WriteLine(a+b);
用户输入2个数字,求数字的和
Console.WriteLine(“输入第1个字”);
double a = Convert.ToDouble(Console.ReadLine());
Console.WriteLine(“输入第2个字”);
double b = Convert.ToDouble(Console.ReadLine());
double num = a + b;
Console.WriteLine(“结果是:”+num) ;
用户有可能会输入小数,所以使用double类型
如果用户输的不是数字,输入了无效的字符,如汉字等,程序就把报错
使用的double进行接收的,而你进来的数据是string(字符串)类型的,
汉字不能运算,所以程序报错、
解决办法:
可以在代码进行异常的处理
try{}:程序正常执行
catch{}:如果在try代码里的代码出现异常,就执行catch块里代码
try {
Console.WriteLine(“输入第1个字”);
double a = Convert.ToDouble(Console.ReadLine());
Console.WriteLine(“输入第2个字”);
double b = Convert.ToDouble(Console.ReadLine());
double num = a + b;
Console.WriteLine(“结果是:” + num);
Console.Read();
}
catch {
Console.WriteLine(“非法字符”); }
在次输入汉字时代码执行了catch块的内容
新手可以使用窗体程序编写计算器练习!!!
纯手打,点个赞呗~