程序引导课
概述
在计算机中,把代码称作程序语言,不同的程序由不同的语言编写,计算机中有很多编程语言,比如 C/C++、Python、Java、PHP、Go 等等。JavaScript 也是一种编程语言,它用来编写浏览器的脚本。它的主要用途是操纵 HTML 和 CSS,JavaScript 可以动态的修改 HTML 或者动态修改 CSS,页面有更好的交互。
计算机科学家尼古拉斯·沃斯(Niklaus Wirth)说过一句至理名言,程序等于 数据结构加算法。简单的说,就是数据加逻辑。
数据就是字面上的意思,比如你的身份证上,有你的姓名,性别,身份证号和户籍地址等信息,这些信息就被称作数据。
逻辑大致有两种,判断和循环。循环和判断在生活中很常见,流水线上重复做着的事情就是循环,而根据试卷的分数来确定是否及格的过程就是一种判断。
程序并不是凭空运行,至少需要获取一些基础数据,然后经过处理加工后,表达出来,就像人与人之间的对话。这个过程称作 输入和输出。
你可以尝试打开浏览器的控制台,输入一行代码:
prompt("哈喽,说句话吧!");
然后摁下回车,你会发现浏览器弹出了一个方框,它被称作模态框,模态框中展示了刚才代码中的问候语。当你输入任何信息点击确定后,这些信息也会再次展示到控制台上,程序获得了你输入的文本信息。
在刚才发生的过程中,浏览器弹出信息的过程叫做 输出,输出的形式有很多种,模态框只是其中的一种,所有程序向外表达信息的方式都可以称作输出,比如画面显示、播放声音、设备震动、把数据写到硬盘等等。反之,我们向模态框中输入文本并确定的过程称作 输入,输入的方式更多,鼠标键盘输入、触屏滑动、主动从电脑硬盘中读取数据等等。
数据抽象
程序中,数据分为两类,字面量 和 变量。
字面量表示数据字面上的意义,比如数字 1
就是数字 1
,程序不会把字面量 1
表示为其他意思。
变量就像一个容器,它被用来存储字面量,程序中可以动态更改变量存储的数据,所以变量是动态变化的。
比如把数字 666
存储到变量 a
中,可以写成:
a = 666;
注意,同数学上不一样的是,一个等号在程序中不是用来比较是否相等的,而是用来把数据存到变量中。
现在尝试输出变量 a
中的数据,可以使用代码 alert
:
alert(a);
你会发现浏览器又弹出一个框,并且展示变量 a
中的数据。
数据处理
程序可以处理各种各样的数据,比如最简单的数字计算:
a = 100 / 4;
alert(a);
上面代码中,变量 a
的值是 100 除以 4 的计算结果。
逻辑
程序的另一基本能力就是逻辑判断,比如一个变量存储了一张试卷的分数,我们可以通过逻辑判断判断这种分数是否及格:
a = 68;
if (a < 60) {
alert("不及格,回家挨鞭子");
} else {
alert("及格万岁");
}
上面的代码中,你需要连续输入多行,你可以在编辑器中先写好再复制到控制台中,或者使用 【shift】+【enter】在控制台中输入回车。
if-else
代码块等同于数学中的 如果...那么...否则...
逻辑判断。
所以上面代码的意思是:
如果 a 小于 50
那么就输入:不及格,回家挨鞭子
否则输入:及格万岁
实际上,上面的几行代码已经是一个简单的程序了。
小结
- 程序是由数据加逻辑构成
- 程序中的数据有两种,字面上直接表示其意义的是 字面量,用来存储数据的叫做 变量。
- 逻辑会使程序产生不同方向的结果