零、今日目标
我们在开发程序的时候都会处理大量的数据,这些数据有些是硬编码(直接写在程序中),有些是通过输入(输入可能来自键盘、互联网等)得到的。那么这些通过输入得到的输入我们如果像使用它的话就必须将其存储在内存中,C# 为我们提供了一种叫做变量的存储结构,方便我们在内存中存取数据。
在本篇文章我们会首先介绍常用五种基本类型,然后在常用五种基本类型的基础上讲解变量相关的内容,下面是我们基本的学习目标:
- 了解 C# 常用五种基本类型,掌握创建常用五种基本类型的文本值;
- 变量的声明和初始化;
- 何为隐式类型变量,以及如何使用隐式类型变量。
一、常用的五种基本类型
因为本系列文章主要面多人群是刚接触开发或从其它语言准备转到 C# 语言的开发人员,因此本小节不会介绍所有的数据类型,只介绍常用的五种基本数据类型:string、char、int、decimal。
1. string
string 读作 [strɪŋ] ,在 c# 中我们使用它存储字符串,例如 “你好,世界!”,“Hello World!”,“こんにちは せかい!” 等这些都是字符串,我们发现这三个字符串我都使用了 " ,这是因为在 C# 规定 string 类型的数据必须使用 " 包住。一般来说只要不是用于计算的数据都可以使用 string 类型来存储,下面的代码是在控制台打印出三种不同语言的 hello world :
Console.WriteLine("你好,世界!"); Console.WriteLine("Hello World!"); Console.WriteLine("こんにちは せかい!");
创建控制台程序并将上面的代码赋值到 main 方法中,运行程序你将会看到如下的输出:
2. char
char 读作 ***[tʃɑbaiː]***,在 C# 中 char 类型的数据只能包含一个字符,例如:‘你’,‘Y’,‘す’ 等这些都是字符,同 string 类型一样 char 类型的数据必须使用 ’ 包住。一般来说如果需要存储单个字母、数字等数据我们可以使用 char 类型,下面的代码在控制台打印出三种不同语言的单字:
Console.WriteLine('你'); Console.WriteLine('H'); Console.WriteLine('こ');
运行上述代码得到如下输出:
Tip:这里要注意的是 string 使用的是英文状态下的双信号,char 使用的是应为状态的下的单引号,初学者容易在这里出现错误。
3. int
int 读作 ***[ɪnt]***,它是用来存储整型数据的,例如 1,-20,9999 等这些都是整型数据,下面的代码在控制台中输出了三个 int 类型的数据:
Console.WriteLine(5); Console.WriteLine(2); Console.WriteLine(0);
Tip:注意,int 类型存储的是无小数位的数据,3.1415926、1.00这类数据都无法直接存入 int 类型中。
4. decimal
decimal 读作 ***[ˈdesɪml]***,它用来存储十进制数值,例如:1m,-20m,99.99m,在这三个数字后我都加上了 m 代表 decimal 类型的数值,这里的 m 被称为文本后缀,文本后缀告知编译器你希望使用的类型。下面的代码在控制台输出了三个 decimal 类型的数据:
Console.WriteLine(5.20m); Console.WriteLine(2.51m); Console.WriteLine(0m);
运行上述代码将得到如下的输出结果:
5. bool
bool 读作 ***[bu:l]***,经常被用在判断是非的情况下,它只能存储 true 和 false 两个值。下面的代码在控制台输出两个 bool 类型的数据:
Console.WriteLine(true); Console.WriteLine(false);
运行上述代码将得到如下的输出结果:
二、变量
上一小节我们所编写的代码都是硬编码,但是在实际开发中使用硬编码的情况少之又少,因此我们就需要用到变量这一结构。
1. 何为变量
变量,从字面上来说就是变化的量,是分配给计算机内存的标签,通过它我们可以很轻松的操作内存中存储的数据,它在自身的生存周期内是可以改变其存储的数据。
2. 声明变量
声明变量的首先就是为它指定数据类型,然后给它起一个名字,例如我们要声明一个 int 类型的变量 age,我们可以这么做:
int age;
这样我们就声明了一个新的变量,这个变量只能存储 int 类型的数据。
3. 隐式类型
所谓隐式类型就是我们在声明变量的时候不去定义变量的类型而是让编译器根据赋予的值自行推断变量数据类型。隐式类型使用 var 关键字声明。下面的代码就是隐式类型变量的声明方法:
var age=12;
因为我们给 age 赋予了 int 类型的值12,因此 age 数据类型就是 int 类型并且只能存储 int 类型的数据。隐式类型一般用在声明变量的时候数据类型不太明显或者无法提前指定可预测的类型的情况下。对于刚接触 C# 的同学,我建议在编写代码的收最好还是不使用隐式类型。
Tip:使用隐式类型声明变量我们需要注意的是必须在创建变量的同时为变量赋值,这样编译器才能推断出变量的数据类型。
4. 变量名声明规则
每个编程语言都有自己的变量声明规则, C# 也不例外,下表是 C# 的,命名规则。
5. 操作变量
操作变量分为取值、赋值和重新赋值三种。取值时我们只需调用变量的名称即可,如下代码:
int age=1; Console.WriteLine(age);
运行上述代码获得如下输出:
赋值又分为声明变量的同时赋值和是声明变量后赋值两种,代码如下:
//声明变量的同时赋值 int age=1; //声明变量后赋值 string firstName; firstName="张三";
如果要改变变量中存储的内容我们可以重新赋值,代码如下:
int age=1; Console.WriteLine("我的年龄 "+age); age=12 Console.WriteLine("我的新年龄 "+age);
运行上述代码获得如下输出:
三、总结
本篇文章主要讲解了 C# 中常用的五种变量类型、变量的声明以及如果使用,这篇文章对于初学者来说很重要,一定要仔细阅读并动手练习。
四、考核
1.以下哪个变量名的命名是错误的:
A. 1name
B. ok
C. _message
D. firstName
2.var age 这个代码存在什么问题:
A. 变量名不符合规范
B. age 存储一定是 int 类型
C. 在使用 var 关键字声明变量时必须同时赋值
D. var 不是数据类型不能用来声明变量
3.以下哪个变量声明是正确的:
A. string name=‘张三’;
B. int age=12m;
C. decimal =13.55m;
D. bool _isCat=false;
4.请在控制台打印出如下内容:我的名字叫 XX,今年 XX岁。将XX替换成对应的内容。
Tip:考核内容的答案请关注微信公众号“喵叔工作室”发送151d即可获得。