随便玩玩之C#-5 变量
1.什么是变量?
变量这个概念来源于数学。在数学中,变量表示尚未清楚的值(即变数),或一个可代入的值(见函数)。比如,方程式y=x+2,要向求出y的值就首先要确定x的值,这里的x就是变量。当x等于1时,y=3,当x=6时,y=8。x的值可以时任何数值,x是不确定的,是可变的,x就是变量。
而在计算机中,变量只是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储程序运行时可更改的程序信息。向计算机输入信息后,计算机把信息暂存在内存中, 这个信息存储的位置在内中的什么地方,我们看不到他,想使用这个信息的时候该怎么办?我们可以声明(定义或描述)一个变量标识符,来表示这个信息存储的内存位置,使用的时候,顺着这个变量标识符,从指定的内存地址中获取信息,然后让信息参与程序运行。如:我们这个项目需要一个医生,那么就给医生赋值,这个医生可以是华佗也可以是张仲景,当项目启动时,就把指定的医生叫过来干活。这里的医生就是个变量。
不要过分追究变量的定义,先用着,用的多了就不需要解释了。简单点,把变量看作盒子,可以装手机、钥匙、书本等物品。
2.变量的声明。
可以通过三个元素声明(定义或描述)变量:变量类型、变量名、变量值。
using System; namespace ConsoleApp17 { class Program { static void Main(string[] args) { Console.WriteLine("*************************"); string name; //定义一个字符串变量name, name = "刘德华"; //将一个值“刘德华”赋给变量name, //此时内存中有一个姓名的值“刘德华”, //可以使用变量name找到这个值,或可以提取这个值。 Console.WriteLine(name); //使用name变量,将这个值输出来。 Console.WriteLine("*************************"); } } }
如代码所示,先声明一个字符串变量name,然后将姓名"刘德华"赋值给这个变量,然后可以使用变量name输出"刘德华"这个姓名。(就像是先造个盒子,把手机放在盒子里,要使用手机时,就找这个盒子。)
声明变量语句中的string是类型标识符,表示的是变量类型,即这个变量是字符串变量,只能赋值字符串,不能将数字赋值这个变量。(这个盒子的尺寸规格只能放手机,不能放西瓜,要想放西瓜就再造个适合西瓜的盒子)。
声明变量语句中的name是变量名称,“name”这个名称,只能 由字母、数字、横杠(-)、下划线(_)组成,第一个必须是字母,且不能与C#语言已经存在的标识符相同。
赋值语句中的等号(=)是赋值符号。
赋值语句中的"刘德华"是一个具体的值。
也可以将变量的声明和赋值写在一行里,写一行还是写两行效果相同。
using System; namespace ConsoleApp17 { class Program { static void Main(string[] args) { Console.WriteLine("*************************"); string actName; //声明一个字符串变量name, actName = "刘德华"; //将一个值“刘德华”赋给变量name, string doctorName = "华佗"; //声明一个字符串变量name,并赋值为“刘德华” string 医生 = "华佗"; //声明一个字符串变量医生,并赋值为“华佗” //变量名称可以是中文,但不建议这样做 int age = 20; //声明一个整数变量age,并赋值为整数20 double price = 99.8; //声明一个浮点数(带小数的数值),并赋值为99.8 Console.WriteLine("*************************"); } } }
3.变量是会变化的。
变量在使用的时候必须赋值,否则程序会报错。变量的赋值又叫做变量初始化。
在程序运行中,可以随时改变变量的值。
4.变量的作用域。这个先跳过。
5.常量。与变量相对,就是声明赋值之后,就不再变化的值。这个先跳过。
参考资料
1.什么是变量
变量是个盒子,里面可以装各种东西。装了苹果,当箱子和其它东西合作时,它就是苹果;装了鸭梨,和其它东西合作时,它就是鸭梨。
编译型语言的变量要求箱子是固定的,装水果的就装水果,装面点的就装面点,装配件的就装配件。
解释型语言的变量不做要求,随便装,爱装啥装啥。当它和水果合作时就拿它当水果用;当它和面点合作时就拿它当面点用。