Rumah >pembangunan bahagian belakang >Tutorial C#.Net >C#学习日记03---数据类型
C#数据类型
C#语言是一种强类型的语言,在程序中用到的变量、表达式、数值等都必须要有类型。对于程序中每一个用于保存信息的量,使用时我们都必须声明他的数据类型,以便编译器为他分配内存空间。C#的数据类型可以分为两大部分:值类型和引用类型(常用的2个 String 和 Object)。
由于C#强类型的特点,因此在C#中一种数据类型也就是一个类。比如 整型 int他的真名为System.Int32();
由上表我们看的出,基本类型直接映射到基类库中的类型,因此两者之间可以互换,也就是说我们定义一个int型的变量,
int x = 12; (发现与C/C++定义数据类型类似)
可以写成这样: System.Int32 x = new System.Int32(12);
不同的类型定义的范围也有所不同:
float数据类型用于较小的浮点数,因为它要求的精度较低。
double数据类型比float数据类型大,提供的精度也大一倍(15位)。在C#编译器一般默认小数类型为double类型,
如果想指定该值为float,可以在其后加上字符F(或f),如:
float f = 12.3F;
decimal类型专门用于进行财务计算,高精度(28位)。
要把数字指定为decimal类型,可以在数字的后面加上字符M或(m),如:
decimal d=12.30M;
C#变量名命名规则:
1)、由字母、数字或下划线"_"组成
2)、必须由“字母”或下划线"_"开头,不能以数字开头
3)、不能是c#中的关键字 如:int、string、bool、Main、class等
4)、区分大小写 如:小写的a 和 大写的A 是两个变量
下面就写个例子吧,要求由用户输入 姓名 年龄 身高 工资 性别然后输出“我的名字是:XX,性别是:XX,今年XX岁,身高是:XX,工资是:XX”
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Example { class Program { static void Main(string[] args) { String name; //定义姓名为name char sex; //定义性别 uint age; //年龄(年龄不能为负数) double hight; //身高 decimal salary;//工资 Console.WriteLine("你叫什么名字啊?"); name = Console.ReadLine(); //输入姓名 Console.WriteLine("你的性别是:"); sex = Console.ReadKey().KeyChar; //写入性别 Console.WriteLine(); //换行 Console.WriteLine("你多大了?"); age =uint.Parse(Console.ReadLine()); //写入年龄(uint.Parse()是将读入的String类型转为uint类型, ReadLine() //的返回值是String 类型) Console.WriteLine("多高啊?"); hight = double.Parse(Console.ReadLine()); //写入身高 Console.WriteLine("工资多少呀?"); salary = decimal.Parse(Console.ReadLine()); //写入工资 Console.WriteLine("我叫{0},是个{1}孩子,今年{2}岁了,我的身高是{3}米,工资有{4}元",name,sex,age,hight,salary); //输出信息 } } }
得到的结果是:
唉! 又是这种黑面框,黑咕隆咚的丑死,以后学了Winform应该会好点吧 !
基于02日记中的输入与输出,通过查阅又get了一项新的输出技能,在上面的最后一行代码中有 {0},{1},{2}。。。可以有很多个,这一对“{}”叫占位符,,,(以下是我个人理解)就是我们在程序输出的时候挖 的一个又一个坑,然后再用第一个参数(“”中的内容是一个String类型的参数,参数与参数之间用逗号“,”隔开)后面的参数按顺序去填好 (有点俗阿)。
本着学无止境的探索精神,我又对他进行了一番探索; 当我们用占位符 的时候一定要按照{0},{1},{2}......这个顺序来吗?我试着改一下还是以上的代码,,后面的顺序改为这样 {0},{3},{1},{2},{10}。编译没有抱错但是运行输出的时候打印不出来,可能就是那个10的问题,原来不能跳着挖坑的,那就这样 {0},{3},{1},{2},{4},这次没跳了,交换了顺序,编译没错能运行,但是结果是这样:
完全丧失常理 了 结果乱了。仔细观察后发现其实那个0,1,2,3,4是 给后面参数编的序号,{}里面是谁的序号就调用谁。
本着每日三省吾身的好学精神我又有疑惑了,在02日记中我输出aaa与bbb的时候我用了双引号 “” 表示字符串,但是如果我想输出双引号该咋办呢?想了好久,去网上查了下才知道 可以用\加符号就可以输出啦,于是我写了个不要脸的程序:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Example { class Program { static void Main(string[] args) { Console.WriteLine("女神对我说:\"I Love You!!!\""); } } }
结果是:
(哈哈,,没羞没臊的)总之 双引号是成功输出来了
本着做一个勇于探索的人,我又发现:输出双引号的时候我用 \ 来不让他转义 ,那要是我想输出 \ 该咋办呢?
可能是在 \ 前面再加个 \ 试了下没错 \\能够 输出 \ 所以要输出\\就得 写\\\ 以此类推 感觉挺麻烦的,于是又找了个一劳永逸
的方法 “@" ,,,Console.WriteLine(@"\\\");
结果输出 \\\ 不变
以上就是C#学习日记03---数据类型的内容,更多相关内容请关注PHP中文网(www.php.cn)!