随便玩玩之C#-5 变量

随便玩玩之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.变量是会变化的。

变量在使用的时候必须赋值,否则程序会报错。变量的赋值又叫做变量初始化。

在程序运行中,可以随时改变变量的值。

 

using System;

namespace ConsoleApp18
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("*************************");
            const string characterName="孙悟空";   //声明常量,常量永不改变
            string fruit="人参果";                 //声明变量,水果名称
            int count=3;                           //声明变量,数量,赋值为3
            Console.WriteLine("师徒四人来到了万寿山五庄观,看到了{0},{1}就打了{2}个分给了八戒和沙僧。",fruit,characterName,count);
            count = 4;                             //给变量count重新赋值4
            Console.WriteLine("实际从树上掉下来{0}个{1}。其中1个钻到土里了", count, fruit);
            
            Console.WriteLine("*************************");
            // 变量可随时重新赋值
            string weaponName;
            weaponName = "大刀";
            Console.WriteLine("一开始,东海龙王给{0}拿了一把{1},显然不好使。",characterName,weaponName);
            weaponName = "九股叉";
            Console.WriteLine("随后,又拿出一把{0},{1}说:太轻太轻了。",weaponName,characterName);
            weaponName = "画杆方天戟";
            Console.WriteLine("龙王无奈,拿出了珍藏宝贝,一柄{0},{1}还是嫌轻。",weaponName,characterName);
            weaponName = "金箍棒";
            Console.WriteLine("后来,龙婆和龙女出了一个主意,推荐了金海神针{0},重13500斤。", weaponName);
            
            Console.WriteLine("*************************");
        }
    }
}

 

随便玩玩之C#-5 变量

 

4.变量的作用域。这个先跳过。

5.常量。与变量相对,就是声明赋值之后,就不再变化的值。这个先跳过。

 

参考资料

1.什么是变量

变量是个盒子,里面可以装各种东西。装了苹果,当箱子和其它东西合作时,它就是苹果;装了鸭梨,和其它东西合作时,它就是鸭梨。

编译型语言的变量要求箱子是固定的,装水果的就装水果,装面点的就装面点,装配件的就装配件。
解释型语言的变量不做要求,随便装,爱装啥装啥。当它和水果合作时就拿它当水果用;当它和面点合作时就拿它当面点用。

广义的变量是相对于常量而言的,指可变动的量。变量是绝对的,常量是相对的,没有绝对意义上的常量。
链接:https://www.zhihu.com/question/20116757/answer/14029925
2.编程语言为什么有变量类型这个概念?
https://www.zhihu.com/question/425821639/answer/1532975527

随便玩玩之C#-5 变量

上一篇:Java基础之类加载器


下一篇:9.10Go之结构体之初始化结构体成员变量