赋予数字名字:变量的诞生与进化
你已经掌握了提问的艺术,不再害怕未知的挑战。现在,是时候亲手构建你的数字世界了。
第一幕:变量的诞生
想象一下,你脑子里有两个数字:3 和 5。 你把它们加在一起:3 + 5。 但问题来了,你需要一个地方来“记住”这个结果,否则这个 8 就会在计算完的一瞬间消失在空气中。
于是你想到,用一个名字 a,来代替这个计算结果。用什么符号来表示这种“记住”的关系呢?你选择了 =。
a = 3 + 5恭喜你,发明了“变量”。 它就像一个带标签的盒子,帮你存住了数据。
第二幕:类型声明 —— 严谨的“标签派”
但你很快发现,电脑其实很笨。当你写下 a 的时候,它会困惑地问你:“这个 a,到底是个整数,是个小数,还是一段文字?”
为了不让电脑罢工,你决定在 a 的前面,贴上一个明确的标签。如果是整数(Integer),你就写上 int。以 Java 为例:
void main() {
int a = 3 + 5; // 明确告诉电脑,a 是整数
IO.println(a);
}恭喜你,掌握了“静态类型声明”。 在这类语言里,规矩就是规矩,标签贴上了,就不能乱改。
第三幕:类型推断 —— 聪明的“观察派”
写代码久了,你觉得每次都要手动贴标签(int, float, String...)实在太麻烦了!明明 3 + 5 的结果肯定是数字,电脑就不能自己动点脑子吗?
于是,你给电脑升了级。现在,你只需要告诉电脑:“这有一个变量!”(let)。以 TypeScript 为例,它会通过代码演变展示其“察言观色”的能力:
2
恭喜你,解锁了“隐式类型推导”。 电脑学会了通过上下文自动判断类型。
第四幕:动态类型 —— 自由的“万能派”
人类的欲望是无穷的。有一天,你突发奇想:我能不能上一秒用 a 装数字,下一秒用它装文字?
这一次,你扔掉了所有条条框框。在 Python 或 JavaScript 的世界里,变量就像一个万能背包,你想装什么,就装什么。
2
3
恭喜你,进入了“动态类型”的自由王国。 这种极高的灵活性,让你编写代码的速度大幅提升。
结尾:从记住到判断
从简单的 a = 3 + 5 开始,到千变万化的程序世界。编程,其实就是这样一步步,把复杂的世界抽象成数据,装进你的变量盒子里。
变量让你记住了数据。
但如果你的程序只会顺着执行,没法根据情况“转弯”,它就只是个复读机。 下一站,我们要让程序拥有大脑,聊聊逻辑判断的基石 —— 条件分支。
(本文整理自《程序员的入场券》系列教程)