您的位置:首页 > 编程语言 > C#

C#学习回顾笔记三:变量是什么,变量有什么作用

2017-09-20 14:33 411 查看
1)变量是什么?

变量是用于保存特定值的一种方式,通常对一个值进行处理时,有时候为了能多处使用这个值,或者说这个值很复杂很长,那就可以用变量来保存。比如用变量a来保存一个很长的值,那么之后要使用这个值时,直接对变量a进行处理即可,这样更加方便。

变量可以理解为一个抽屉。抽屉的作用是装东西,那么变量的作用就是装【值】。既然强调了变量可以理解为抽屉,这里也引入一个观念:每个抽屉都有一个不重复的编号,也就是这些抽屉的名字。所以变量的名字也不能重复。

2)为什么使用变量?

先来说说以前我们怎么输出的"HelloWorld",直接用Console.WriteLine("Hello World");就可以做到,但我们可以用更方便的方法来做这件事情:

class Program
{
static void Main(string[] args)
{
string s = "Hello World";
Console.WriteLine(s);
Console.ReadKey();
}
}


这样能达到跟Console.WriteLine("Hello World");一样的效果,但这样做却更好。如果需要在屏幕上输出十句以上的Hello World,那么Console.WriteLine(s);显得比Console.WriteLine("Hello World");更加轻松。

之后的编程我们需要经常使用变量来代替这种直接性处理值的操作,因为直接对值进行各种操作很麻烦,也不方便维护(不是说不可以直接对值进行操作)。

3)如何使用变量?

变量的声明方式是:变量类型 变量名 = 值;比如:



变量的声明基本遵照这种格式来。此时可以发现,前面的string、int、double又是什么?这就是变量的类型。string表示这个变量的值必须是string类型(通常也叫字符串类型),int表示这个值必须是int类型(通常也叫整数类型),double表示这个值必须是double类型。变量类型严格决定了这个值必须是哪种类型,比如int num = 125;这一句,如果改成int num = 16.7;就绝对会报红线的错误,因为16.7是double类型的值,而int类型的值不允许出现有小数点。一门语言里的变量类型有很多种,而且每个变量类型都有严格的取值范围划分。为何要定义的那么麻烦?实际上学到后面就会感觉到这样做的好处。总而言之现在需要先确定好要声明变量时,我们的值是什么类型,然后再确定好要使用的变量类型。

变量名通常来讲可以随意取名,但要时刻记住:名字瞎起是扯淡!我们需要严格定义好自己变量的名字,一方面防止自己
4000
忘记这特么写的什么鬼,另一方面也是方便其他人阅读自己的代码。在编写代码时,自己随意使用什么a、abc之类的命名方式,可能到后面自己都会忘记究竟在写些什么东西。既然可以随意命名,为何不写的更加通俗易懂点?比如声明一个变量保存手机号:string phoneNumber = "13121110156';这样看到phoneNumber就可能想到这句话是什么意思。

4)补充

接下来讲几个变量的常识:

1.变量类型有很多,现在需要注意的变量类型有两大类:字符串类型和数值类型。之所以强调这个,因为变量类型的不同,在程序中也会起到不同的作用。常见的字符串类型就是string类型,数值类型就是int、double类型等。比如声明一个变量保存手机号,既然手机号是整数数字,肯定想的是“为何不用int类型变量”,实际上,这涉及到变量类型的保存范围,int类型的变量,如果值越大,对性能影响也就越大。对int类型变量来说,塞的值越大,压力也就越大。所以这时候应该采用string类型,这种类型只是保存字符串,因为手机号从不参与算术运算,所以根本不需要用int类型来保存。int和double类型的值主要是针对可能出现算术运算的值,比如年龄:int
age = 12;,比如白菜价格:int price = 3;这些值都是可变化的。所以对于要声明何种类型变量保存何种值,需要现在就养成学会判断的情况。

2.变量相加会发生什么?字符串类型变量相加,会形成新的一个字符串。比如:

class Program
{
static void Main(string[] args)
{
string str1 = "12";
string str2 = "15";
string str3 = str1 + str2;
Console.WriteLine(str3);
Console.ReadKey();
}
}
将会输出1215,注意这里并不是12和15相加,因为是字符串类型,只是简单地按照左右顺序拼接在一起而已。那么数值类型的值相加呢?比如:

class Program
{
static void Main(string[] args)
{
int num1 = 12;
int num2 = 15;
Console.WriteLine(num1 + num2);
Console.ReadKey();
}
}


屏幕将会输出的是27,所以这就是数值类型变量与字符串类型变量不一样的地方。

3.变量类型的值变化问题。比如:

class Program
{
static void Main(string[] args)
{
string str1 = "Hello";
str1 = "World";
Console.WriteLine(str1);
Console.ReadKey();
}
}
在声明字符串变量str1并赋值为"Hello"之后,又执行了str1 = "World";相当于把之前的值替代了,可以大概理解为“Hello”消失不见了(实际上这个"Hello"在内存中还存在着,这里不详细讲为何),str1的值被新的值替代了。

4.变量类型推断。类型推断可以使用var关键字。编译器会自动根据等号右边的值判断出是什么变量类型。比如:var b = true;会自动识别这个b是bool类型的变量。var a = 12;会自动识别这个a是int类型变量。

5.特别强调程序里等号“=”的作用。在程序里的等号应该理解成“赋值给……”,比如int a = 12;就应该记成“声明一个int类型的变量并赋值12”,也就是将等号右边的值赋值给等号左边,而不应该单纯理解为“理解为a等于12”。在C#里只有双等号用于判断两个值是否相等(实际上还有一个equals(),这里不详细讲)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: