那些刚接触编程的、没有什么基础的人在学习的时候, 经常会卡在“变量”这个地方, 明明看到的代码篇幅并不长, 可是心里头总是觉得看不明白它的意思, 也记不住它的作用, 更不知道怎么去使用它的。
实际上来说, “变量”是入门的第一把钥匙, 如果能把这个知识点学会的话, 那么后面要学的什么数据类型, 还有什么条件判断啊以及循环这些东西, 就会变得更容易上手一些了。
(一)先弄懂变量是什么
你可以把变量理解成一个用来存东西的盒子。在程序里面, 变量是用来存储数据的。数据的意思有很多例子, 比如像姓名、年龄、成绩这些东西, 再比如是否登录这样的状态信息。程序并不是一行接一行的死板文字, 它会根据存放在变量里面的内容不断发生变化, 这种特性也就是为什么我们会叫它“变量”这个名称的由来。
变量最核心的作用, 并不是那种能够书写编程语句的技能, 而是赋予程序去保存以及保留相关信息的能力。要是没有用到变量, 在编写软件的时候, 每一个地方都需要去反复输入那些完全一样的文本或者数值, 这样做起来特别费时费力, 而且整个系统缺乏应变能力与灵活性。
当你真正理解并学会运用变量的时候, 就可以着手设计出具备严密思维链路的指令集合, 从而避免让自己陷入仅仅只会机械式地模仿和记录标准规则这种浅层次的状态。
举一个非常简单的例子出来: 如果你想让程序记住一个人的名字是多少, 那么就可以选择把“张三”这个内容存放到一个变量当中去;想要对它进行修改操作的时候呢, 只需要重新给它进行赋值这样就可以了才对。
这个具体进行中的过程其实就是跟给盒子贴上标签这一样的意思存在, 其中标签上写出来的名称那就是变量的名字叫做变量名没错, 而放在盒子内部的真实内容是就是那个具体的数字或者是文字叫做变量值这样理解就行。
(二)变量怎么定义
定义变量这个动作其实是挺简单的, 你压根儿就不需要提前去把类型给声明出来, 你只要直接按照那个格式“变量名等于值”这么去写就行了, 比方说你去写name = “小明”, 再去写age = 18, 像这么去写的话, 它的这个好处是直观并且简洁的, 特别适合让初学者来进行快速的上手操作。
大家要记住一个至关重要的点, 就是等号在这里表示的是赋值的意思, 并不等同于数学概念里的相等关系。很多初学者在初次接触变量的时候, 经常会把这个符号和判断是否相等的符号给搞混。如果你能够对这一点有清晰的理解, 那么之后在学习条件判断的相关内容时, 就会感到轻松非常多。
你在给变量进行定义的时候, 是需要非常注意那个命名规则方面的事情的。变量的名字是绝对不可以用数字来开始作为开头的, 同时也不能够去使用那些系统的保留关键字。在这一点上比较提倡的做法是, 最好去选用那些有实际含义的英文单词或者拼音来进行代替。
我们可以举一些例子, 比如 score 和 age 这样的形式。一个起得好的名字, 它是能够让你的代码看起来变得更加清晰明了的, 并且在以后你自己再去回过头来看这段代码的时候, 也是可以方便自己去理解和看懂具体的意思的。
(三)变量命名技巧
变量名仅仅就是一个名字而已, 然而这个名字却直接地影响了你所写代码的效率方面。新手最容易出现的常见问题状况是, 把变量名起得过于随便, 比如连续地使用像a这样的字母、或者用b、用c进行拼接使用, 最终产生的结果是连自己都不清楚这些符号分别代表的是哪些具体的含义所在。
实际上存在着这样一种观点认为, 如果变量名称能够具备更高的具体细节表现程度, 那么对应的这部分的源代码就会拥有更好的便于维护的相关特性条件。
大家建议优先使用英文单词加上下划线这种方式, 比方说像下面这些例子所示, 这样的写法规则在习惯上是被认可的, 同时也能让变量的意思更容易被看出来, 对于完全没有任何基础的学习者而言, 这种办法比起大量堆砌字母缩写来说会显得更加更加容易让人接受。
命名的过程中, 人们经常陷入两个误区, 需要去避开, 第一个误区是不要使用中文变量名, 虽然在某些情况它能被运行, 但是对于规范的学习而言是不利的, 第二个误区是不要随意地使用系统保留字, 比如像if、for、class这些例子, 如果使用不当的话, 程序就会报错, 养成遵守规范的命名习惯, 可以使得你从一开始就走在正确的路径上面。
(四)变量值会变化
变量拥有最大的一个特点, 那就是它的值可以拿去被重新进行赋值。比如说, 先把名字叫作 score 的这个东西设定为数字60, 然后在以后的步骤里, 再把它修改成为数字90, 这个时候变量的这个名字还是没有发生变化, 但是它里面所存储的内容就已经完成了更新操作。
这种所谓的叫做“可变性”的情况, 使得程序可以根据不同的具体状况做出相关的应对反应。
初学者必须要特别去理解清楚这一点, 那就是变量名保持不变, 并不意味着变量的值也是保持不变的, 有很多人看到代码的运行结果和心中的预期是不一样的, 这往往是因为在前面某个步骤里面已经把那个给改掉了的, 学会顺着代码的执行顺序去看看变量是怎么变化的, 这是一个在入门阶段非常重要的能力。
你可以把它想象成是一个可以使用可替换标签的盒子, 盒子依然是那个盒子, 但是里面所放置的那些内容会发生改变, 当你理解了这一种思路之后, 你对于在同一个变量这里进行多次赋值的那种书写方式会更容易去接受, 同时你也能够以更为迅速的速度去弄懂那些其他人编写出来程序的真正含义。
(五)常见初学坑
变量学习这件事表面上看着挺简单, 其实新手朋友要是掉进坑里就麻烦了, 其中最常碰到的问题呢就是“先使用后定义”, 什么意思呢, 也就是那个变量还没进行赋值操作就直接拿去输出了, 这会导致程序报错, 解决问题的办法实际上一点都不复杂, 咱们只要坚持先定义好这个变量然后再去使用它按照书写的顺序来写代码就行了。
还有一个非常普遍的问题, 就是把字符串跟数字弄混掉, 打个比方来说, 像那个符号加上18的字符串, 它和纯粹的数值18这两个东西, 表面上看是极为相似的, 可是前者的本质依然是文本内容, 而后者的真正身份才是数字类型的数据,变量当中到底存放的是什么种类的信息, 这种状况是直接会影响到后面步骤里去执行的操作方法的, 因此, 如果能学会把像这一些基础的概念给区分清楚, 就可以大幅度地减少那些低级的错误发生了。
还有一种情况是变量名重复或者覆盖。比如说, 你本来想保存用户名, 但是后来你又用同一个变量去存储年龄了, 结果前面保存的那个信息就被替换掉了。所以, 变量要按照用途来进行清晰的分类, 不要为了图省事就随便胡乱使用一个名字。
(六)练习方法建议
学习变量的最佳方法并不是简单地死背定义, 而是不断去练习那个由定义到输出, 再到修改然后再次输出的完整流程。你可以先从保存姓名、年龄和城市这些基本信息开始练手, 接着再慢慢过渡到练习诸如成绩、兴趣爱好以及当前是否在线等更加贴近日常生活的信息。
建议那些完全没有接触过编程的初学者, 每天必须拿出十分钟的时间, 专门把心思放在练习变量上面去, 千万不可以一开始就急着去追求做一些那种非常复杂的项目, 而应该先把变量这个东西写熟练了、看懂了、以及用顺手了才重要, 只有能够非常熟练地使用变量, 那么在后面再去学习输入输出功能还有条件语句的时候, 整个人就会感觉到明显变得轻松多了。
最管用的练习办法, 就是把学习和修改这两件事结合起来去做。你可以把变量里面的那个值, 换成正正派派的、不一样的东西来看一看输出的结果会有什么变化;你也可以把变量的名字改成让人一眼就能看懂的写法, 来感受一感受代码到底是不是更容易读了。
用这种方法去学习的话, 你不仅能把知识点记得牢牢的, 而且会变得更加容易建立起那种属于程序员才有的思维模式。
(七)入门学习路线
如果你是完全没有基础的那种情况呢, 那么就非常建议你按照下面的这个先后顺序去进行学习好了, 首先就是需要对变量这个概念有一个理解, 接着就是应该去掌握那些数据都是什么类型, 再接着再去学习如何进行输入和输出操作, 最后才是进入所谓的条件判断以及循环这一块内容的学习之中, 之所以这样安排, 是因为这个顺序是比较符合那种刚刚入门的人的理解逻辑的, 所以一般是不太容易把自己给学乱的。
变量是后续所有语法的基础这一情况, 其实就是就像在进行搭积木工作的时候, 所使用的第一块底座这个事物, 只有这个底座的稳固程度达标了, 那么后面所出现的其他内容才能够被稳稳当当地放置住。
很多人往往会产生一种觉得很难的感觉, 这种难处的根源其实并不是说编程语言本身存在难以理解的特质, 而是因为在一开始学习的过程中, 没有能够将关于变量这一块的内容所涉及的知识基础给打结实了, 从而导致整体学习过程出现障碍的问题发生。
你要是能够真正地把变量的意思弄明白, 知道该怎么去定义它, 知道应该怎么给它进行命名知道怎么对它进行修改, 并且还能懂得避开那些容易出现的坑儿的话, 那么你就已经算是迈过了在入门这个过程中最为关键的一道门槛了。
至于说往后走, 无论是去编写那种小规模的程序代码, 还是打算去继续深入学习更深入层次的知识相关内容的话, 你在这些方面的发展进程肯定会变得顺利许多的。
如果你正在处于学习的状态之中, 不如在今天就直接动手去写上10个变量的练习作业, 这些变量可以包括姓名、年龄、成绩单上的分数、所在的城市以及个人的爱好等等内容, 这样做的目的在于把学到的知识真正转化为具体的操作能力, 从而让自身的进步速度变得更快一些, 另外你还想要继续深入了解哪一个基础层面的知识点呢?
欢迎你在后面进行留言回复给我, 我可以接着来帮助你把这些内容梳理得更加清楚。
#换个方式学一遍#