在了解了变量的概念[1]之后,让我们来一起学习变量的声明与赋值。
我们知道,变量就好似一个“容器”,能用以保存可变化的值,就好像钱包也是一个容器,保存着可能变多或变少的钱。
就像我们在存钱之前得先有一个钱包一样,在程序的世界里,如果电脑要使用一个变量,也得先知道有变量的存在。就好像只有知道自己有一个螺丝刀,才能用它来拧螺丝一样,要让电脑能够使用变量,就得让电脑知道变量的存在。
让电脑知道变量存在的操作就是变量的声明。
// 声明一个变量,变量的名字叫count(中文意思为“数量”)
int count;
以上,是用代码的方式定义了一个变量,变量的名字为count。
之所以给变量设置了一个名字,是因为变量有了名字电脑才知道我们使用的是具体哪个变量。就好像每个人都有一个名字,这样我们才知道我们所称呼的是哪个具体的人。
那么什么又是变量的赋值呢?
我们之前提到过,变量就好似一个“容器”,保存着变化的值。
那么变量是如何保存值的呢?变量的值又是如何更改的呢?
让变量保存值或改变变量保存值的操作叫做变量的赋值。
// 让叫做count的变量保存“1”作为值
count = 1;
// 让变量count保存的值变成“2”
count = 2;
以上就是给变量赋值的过程[2],我们在第一次赋值时让变量count保存“1”作为它的值,之后第二次赋值时将变量的值改变为“2”。
这样,变量就保存了一个新的值,变量的值发生了改变。
那么问题来了,如果说赋值是把新的值赋予变量,那么变量在第一次赋值之前保存的值是什么呢?换句话说,如果不对变量赋值,那么变量的值是什么呢?
这就涉及到变量的默认值这个概念了。
所谓变量的默认值是指,如果变量在声明之后未被赋值,那么这个变量将会以一个默认值作为它的值,这个值也叫做初始值。
那么,我们之前声明的变量“count”在未被赋值之前的默认值是什么呢?
答案是:“0”。其实很好理解,刚被声明的变量在被赋值之前它的值(0)就是“什么都没有”的意思。
有了变量的默认值这个概念之后,让我们再回过头来看看“赋值”。
之前我们说:让变量保存值或改变变量保存值的操作叫做变量的赋值。
但我们知道,即使我们不给变量赋值,变量也会保存有一个默认值作为它的值,那么我们的第一次赋值实际上就是将默认值改为新的值。而在第一次赋值之后的每次赋值,都是将变量的旧值改变成变量的新值。
所以,实际上无论是第几次赋值,都是将变量的旧值改变成变量的新值。
所以我们对变量赋值概念的定义还可以再简化:
变量的赋值就是赋予变量新的值。
简而言之,变量的声明是要让电脑知道变量的存在,而变量的赋值就是改变变量保存的值。
-
关于变量的概念,可以看看我之前的文章《快速认识——变量》(https://www.jianshu.com/p/140fbeba4ecf) ↩
-
在代码中的 “=” 并不是 “等于” 的意思,而是 “使等于” 的意思。简单来说,第一行代码的意义是“让count的值等于 ‘1’ ”,其实就是把“1”作为值赋予变量count,也就是赋值的意思。 ↩