程序引导课


概述

在计算机中,把代码称作程序语言,不同的程序由不同的语言编写,计算机中有很多编程语言,比如 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
那么就输入:不及格,回家挨鞭子
否则输入:及格万岁

实际上,上面的几行代码已经是一个简单的程序了。

小结

  • 程序是由数据加逻辑构成
  • 程序中的数据有两种,字面上直接表示其意义的是 字面量,用来存储数据的叫做 变量
  • 逻辑会使程序产生不同方向的结果