我们都知道计算机很厉害,可以干很多事情,可以玩游戏,可以解题,可以播放音乐,可以画画,可以控制火箭卫星等等。为什么计算机可以干这么多不同的事情,它又是如何做到的呢?
其实呢,计算机它就是一台很精密的机器,它最擅长的是记忆,逻辑运算,所有的东西在它看来都是数据。要让计算机帮你干活,就得把你的工作转化成数据。
- 1.什么是变量 -
前面讲了那么多,那到底什么是变量。变量可以理解为就是一个可以变化的值,变化能够理解,值是什么?值可以是数字,图片,语音等等。专业的讲,变量是被命名的计算机内存区域。逛超市时,可以看到货架,货架上摆了各种各样的商品。每一个货架格子就可以看作成一个变量,这个货架格子你可以放辣条,也可以把辣条拿出来改放薯片,饼干等等。
- 2.为什么需要变量 -
大多数的可以存在的东西,都是因为解决了问题才得以留存。那变量可以解决什么问题呢?变量是计算机语言中能够存储计算结果或能表示值的抽象一个概念。
比如计算机的一个加法计算程序。我们要计算34787+8342的结果。笔算的话可能会拿出草稿纸,列出横竖式。
计算机的话,就可以设置两个变量,第一个数a,第二个数b,和为sum.
每次计算数字都是不一样的,下次的话,我们只需要把变量a和b的值修改一下就可以了,而公式不用变化。
第二个例子:我们都玩过游戏,游戏有排名,有血量生命值,有计分功能。酷跑游戏可以记录我们跑的距离。就可以设置一个变量 distance,把我们跑的距离给到distance,增加0.1m时,变量也相应增加0.1m就可以了。
对于那些需要变化的数字,图片,语音的话,我们都可以命名一个变量名,用来表示我们要存储的数据,每次要变动数据时,我们只需要找到变量名字,更改数据值就可以,其它的都不用做,变量会自己变化。
- 3.创建并使用变量 -
为了更好的理解,我们用接苹果游戏来讲。
通过上面的动图我们可以看见,每次当苹果落下碰到下面的碗时,左上角的score后面的数值就会加1。
score就是我们创建的变量名,用来记录接住苹果的个数。
下面看看如何在scratch中创建变量,进入到data积木种类中,点击make a variable,弹出一个窗口,需要我们填写变量名(变量名最好要有意义,看到变量名知道是干什么用的),默认选中适用于所有角色(也就是全局变量,属于变量的作用域),是否创建云变量等等你。在这里我们只需要填写变量名score,其他的都不用管。
创建完变量名后,接着就是使用了。点击开始,先把变量设置为0,当检测碰到碗时,让变量增加1就可以了。
上面就是变量的基本使用。变量难道就是这么点东西吗?也太简单了吧。当然不是,变量还有很多其它的特性。下面就简单讲一下,不同语言有点不一样。
- 4.其他特性 -
变量是一个很值得研究的问题,展开了说,你会发现每一个细节都有很多历史。
要使用变量,我们第一步就要先创建一个变量,接下来就需要给变量取一个合适名字了,变量命名不是随便写一个字母,时间久了就会忘记了。变量命名也有规则,有门派,一般用的比较多的是驼峰命名法,前面开始小写后面开始大写firstName,想要了解更多可以自己去研究,命名不能随意写主要是考虑到几个方面。第一个可读性,自己和其他人一眼看上去就知道你这个变量是干什么用的,第二个是变量名冲突,当变量多了以后,就容易出错,当我们按照一定规则来的话,就会极大的降低出错的可能性。
变量作用域也就是变量的有效使用范围,主要分为全局作用域和局部作用域,相对应的变量就叫做全局变量和局部变量。
全局变量是所有的角色都可以使用,比如游戏角色的生命值可以设置成全局变量,当生命值为0的时候,就可以停止所有的脚本。
当我们创建一个变量时,需要知道这个变量是用来干什么的,是用来记录数字的,字符串还是逻辑值的呢,这些都是我们需要想好的,当然了scratch不是很严格,会根据上下文判断。在一些其它语言中,需要我们在一开始的时候就确定数据类型,确定后就不能在变了,并且不能用来存储其它类型的数据了。
变量到这就结束了,有更多的问题需要讨论的可以在下面留言哦。