如何学习一门计算机语言

Mr.Hope ... 2020-6-3 教程
  • 快速上手
大约 5 分钟

# 如何学习一门计算机语言

提示

学习一门语言的基本顺序是:

  • 了解数据结构
  • 了解变量声明与赋值
  • 了解判断和循环体结构
  • 了解函数声明
  • 了解输入输出

本部分将以 JS 作为示例,展示什么是一门计算机语言,应该如何学习它们。

# 基础

首先,任何语言都是由一些基本结构组成的,下面介绍几乎所有语言共有的一些概念:

# 语句

语句可以简单理解为一个操作,它可以是赋值,也可以是执行,还可以是介于或者是可以归类到两者上的判断、声明、标记等。

请注意一条语句通常是一个计算机语言描述的最小操作。

比如:

let a = 1; // 赋值
alert("Hello word"); // 调用函数 执行操作
if (a > 2) {
  // 判断
}
1
2
3
4
5

# 代码块

通常情况下,在有了语句概念后,我们就要使用不同的语句顺序,完成不同的操作,但是某些操作总是固定的。

比如回家,总是 “掏出钥匙”-“插入钥匙”-“转动钥匙”-“开启房门”-“拔出钥匙”-“进入”-“关闭房门” 。

这些步骤每一步都可以理解为一个语句,但是由于其顺序基本是固定的,我们就可以设计一个代码块,来约束它们。

{
  “掏出钥匙”;
  “插入钥匙”;
  “转动钥匙”;
  “开启房门”;
  “拔出钥匙”;
  “进入”;
  “关闭房门”;
}
1
2
3
4
5
6
7
8
9

大多数语言会使用 { } 的形式,少数语言会使用统一的缩进进行表达。

# 数据结构

计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。

任何语言都是操作、计算(处理)、生成数据的。数据结构是一门语言存放数据的方式。不同的数据,需要定义不同的数据类型。了解了数据结构就了解了一门语言可以存储或处理何种数据。

大多数语言都包含了以下的一种或多种内容:

  • 数字:

    不同语言对数字有不同的处理方式,少数语言可能只有数字这一种类型,一些语言可能会拆分成整数与浮点数。一些底层语言(涉及到内存)可能会魔鬼的将数字拆分为: 整型、浮点数、无符号整型、长整型、无符号长整形、长浮点数。(说的就是您,C 语言)

  • 字符串:

    一些语言只有字符串这个概念,一些语言分为字符和字符串这个概念。

  • 布尔值:

    几乎所有语言都有布尔值,布尔值只有真和假两种类型。大多数会表示为 truefalse,少数会表示为 TrueFalse

  • 数组:

    大部分语言都有数组 (Array) 这个概念,它是一个有序的元素集合。很多底层语言就是靠数组实现的字符串 (因为字符串长度不固定)。在数组中,每个元素具有标号,从 0 开始依次递增。

    一些语言还有 Set 这个概念,Set 表示的是无序元素集合,所有元素没有先后与标号的概念,自然 Set 也无法存入相同的元素。

  • 对象:

    大部分语言的对象 (Object) 都是由键值对组成的,它是一个由键标记的元素集合,可以使用特定的键名写入或读取其对应的值。

    一些产生较晚的语言,将对象改为 Map,Map 表达一个映射,将对应的键映射到对应的值上。

  • 类:

    类 (Class) 是一个内容集合,它包含了自己的构造器、变量与方法。类在声明后,可以很轻松的使用构造器创建一个新的实例。每个实例可以用其内部的变量维护或表达一个状态,并可以使用它自身的方法来读取或是改变自己的状态。不同的类之间还可以进行继承。

# 变量

一个变量是数据的“命名存储”。我们可以使用变量来保存商品、访客和其他信息。

下面的语句创建(换句话说,声明或者定义)了一个名称为“message”的变量:

let message;
1

在有了变量之后,我们就可以将刚了解的数据结构赋值给变量,以变量来代替这些数据。

let user = "John";
let age = 25;
let message = "Hello";
1
2
3

# 条件

条件运算符用于判断,通过判断一个条件的真假,来执行不同的逻辑。这是每一门语言逻辑结构的基础。

let year = 2015;
if (year < 2015) {
  alert("Too early...");
} else if (year > 2015) {
  alert("Too late");
} else {
  alert("Exactly!");
}
1
2
3
4
5
6
7
8

# 循环

循环运算符的作用,是在条件控制下,零次或多次执行特定代码块。它使得重复执行成为了可能。

let result = 0;
let i = 1;

while (i <= 100) {
  // 计算1+2+3+...+100的结果
  i = i + 1;
  result = result + i;
}
1
2
3
4
5
6
7
8
for (let i = 0; i < 3; i++) {
  // 结果为 0、1、2
  alert(i);
}
1
2
3
4

# 函数

函数是程序的主要“构建模块”,

创建函数时,需要声明函数内容,函数内容由一系列语句(代码块) 构成。在声明函数后,使用函数即可多次调用一段代码。

例如:

function showMessage() {
  alert("Hello everyone!");
} // 声明一个函数

showMessage(); // 调用它
showMessage(); // 可以在任意时刻调用它
1
2
3
4
5
6

同时函数可以通过接受参数的形式来根据情况返回不同的结果,比如这是一个简单的求和函数。

function sum(sum1, sum2) {
  return sum1 + sum2;
}

sum(1, 2); // return 3
sum(5, 6); // return 11
1
2
3
4
5
6