# 计算机科学
**复杂的定义**:计算机科学是对信息技术,过程及其与世界的互动的研究。
**简单的定义**:计算机科学是使用计算机解决问题的研究。
## 计算机基础知识
计算机是执行基于指示计算的机器。
计算机是由两个部分组成:
- 硬件
- 软件
**硬件**:由计算机的物理组件组成。如果你可以踢它,打它,或者拿它扔它,它是硬件。
**软件**:不是物理组件。软件包含一组硬件指令。这些说明通常保存在计算机上的文件中。说明书不是英文或任何其他口头语言; 它们是一种特殊的语言,称为编程语言。
**总结**:硬件是你可以触摸的任何东西。软件提供告诉硬件要做什么的指令。
**程序**:是软件,或应用程序的同义词。从本质上讲,它是保存在您计算机上的文件,用编程语言编写,其中包含告诉计算机在程序启动时要执行的操作的说明。
**代码**:是文件中“指令”的同义词。它也是软件的代名词。“代码”只是计算机程序中的一堆单词和标点符号,用编程语言编写。
## 电脑硬件
要学习编程,首先必须了解计算机硬件的基础知识。
计算机硬件的不同组件各自用于各种目的。
组成计算机硬件的主要组件有6个:
- 在中央处理单元(CPU)
- 主记忆(Main Memory)
- 二级存储(Secondary Storage)
- 输入/输出设备(I / O Devices)
- 网络(Network)
- 总线(Bus)
![Alt](http://i2.bvimg.com/670299/5059dd20865ae3e9.png)
**CPU**:通常被称为计算机的“大脑”。它负责执行指令,例如程序中的代码。
**主内存**:也被称为“ 随机存取存储器”(RAM),用于存储:
1. 程序代码
1. 代码运行产生的数据。当您在计算机上打开Microsoft Word等应用程序时,运行Microsoft Word的代码将加载到主内存中。
**辅助存储**:在未主动使用时存储您的程序和数据(硬盘)。
**I / O**:设备允许人们与计算机进行交互。I / O设备允许人们将数据输入计算机(键盘,鼠标,麦克风)或输出数据给用户(显示器,打印机,扬声器)。
**总线**:是一组连接不同的硬件组件导线。这些线允许数据在不同的硬件组件之间传递。例如,当您在计算机上运行程序时,总线会将存储在辅助存储器中的数据(包括程序的实际代码)发送到主存储器。
**网络**:可以让你的计算机连接到世界各地的其他计算机。网络允许您从其他计算机发送和接收数据,例如发送给朋友或从朋友发送的电子邮件。
## 机器语言与编程语言
计算机和人类以不同的格式表示和理解信息。
无论何时将**数据**(例如Word文档)保存到计算机,计算机都会以特殊格式存储您键入的所有字符,称为二进制文件,也称为机器语言。
**二进制**:是一种由0和1组合而成的语言。键盘上的每个字符都有唯一的二进制表示,可以区分字符与其余字符。
**字符**:可以是字母,数位,标点符号,符号,空间,下一行的回报,标签等,每个角色都有一个独特的数字代码,从别人区别开来。您可以在ASCII表中查找每个字符的数字代码(ASCII代码),例如:[ASCII表](https://www.cs.cmu.edu/~pattis/15-1XX/common/handouts/ascii.html).
==请注意,字符“A”与“a”分开区分。==
1. 'A'的数字代码为:65
1. 'a'的数字代码为:97
这意味着,只要字符“a”出现在文档中,您的计算机就会以等于值97的二进制文件保存数据。
==请注意,97是一种人类可读的格式,称为“ 十进制 ”格式。“十进制”是以base-10表示的数值格式的名称,表示数字0-9用于形成值。==
**“二进制”格式**:意味着数值以base-2表示,这意味着数字0和1用于形成值。这可能听起来很抽象,但您可以使用数学公式将十进制数转换为二进制(以及二进制到十进制)。没有必要这样做 - 这只是为了您的信息。如果你真的想得到十进制数的二进制表示,你可以使用计算器,例如:[计算器](https://codebeautify.org/decimal-binary-converter).
当您保存Word文档并关闭Word应用程序时,您的计算机实际上将文档保存为0和1。人们设计的计算机可以被人类有效地使用。由于二进制语言不是人类有效的通信手段,因此人们以二进制格式查看Word文档是没有意义的。因此,当您稍后重新打开文档时,它将从二进制格式翻译成英语(或您使用的任何语言)。
**二进制(“ 机器语言 ”)**:被称为“ 低级语言”。它被认为是“低级”,因为它是机器理解的语言。
程序员用**编程语言**键入他们的程序。
一个**编程语言**被称为“**高级语言**”,因为它是人类能看懂的语言。
就像英语一样,编程语言也有自己的**一套规则或语法**。它还包含一组定义的单词,称为**关键字**(或“保留字”),在程序中使用时具有特定含义。
## 编程范例
正如人们进行交流的语言很多,程序员也可以使用许多不同的编程语言来创建程序。
知道几种不同编程语言的程序员将选择最适合在每种特定环境中使用的编程语言。例如,有些编程语言更适合于Web开发(制作网站),还有一些更适合移动开发(制作智能手机应用程序)。
除了诸如开发类型之类的细节之外,在更细粒度的层面上,编程语言被分类为不同的**编程范例**。
这是“范例”一词的简单定义。
**范例**:是一种思维方式和做事的方式。范式是一种心态。
**编程范例**:是一种基于编程风格或方法对编程语言进行分类的方法。
以下是一些常见类型的编程范例:
- 函数式编程范例
- 面向过程编程范例
- 命令式编程范例
- 面向对象的编程范例
例如,Java和C是编程语言的示例。在Java编程语言是一个示例**面向对象**的编程语言。的C编程语言是一个**面向过程**的编程语言。
目前,您不需要知道将编程语言分类为面向对象或过程的含义。但是,它只是有助于理解各种编程语言有不同的分类。
## 编写和保存您的代码
软件过程的第一步涉及**编程**,这只是意味着编写**代码**。程序员编写代码来创建**程序**。一个**程序**是一个简单的**应用程序**,做什么,或者达到某个目标,当应用程序的用户启动它。作为程序员,您的目标是确定您希望代码执行的操作,并编写代码。
当你想写一篇文章时,你可以使用Word或任何文本编辑器等计算机应用程序。您只需打开文本编辑器应用程序,创建文件,键入一些文本,然后以所需的文件格式保存文档,例如.docx或.pdf。
编写代码的过程类似。
您可以使用文本编辑器或**集成开发环境(IDE)**编写代码。一个**IDE**是一个包含所有你需要的程序,如文本编辑器,编译器,运行时环境和调试器。
一个**调试器**是一个工具,程序员用它来找到他们的代码,称为错误的**bug**。例如,错误可能阻止程序编译,阻止程序执行(运行),或者可能导致程序产生不正确的值。学习如何调试程序是一项技能,您将在职业生涯中发展。
您创建程序后,必须将内保存**代码文件**,称为**源文件**。一个源文件就是一个包含文件的**源代码**,这是你的程序的代码。将代码保存在源文件中需要使用根名称和扩展名命名文件。**根名称**是您为文件选择的唯一名称,由文件名的点(.)左侧出现的字符组成,扩展名显示在点的右侧。根据源代码的编程语言,为源文件指定预期的扩展名。例如,扩展名.java用于用Java编写的源文件,而扩展名.c用于用C编写的源文件。
## 编译和运行代码
假设您已经用C编程语言编写了一个程序并将程序保存为myprogram.c。接下来,您将需要运行代码以查看您的程序是否执行了您希望它执行的操作。
在运行(“ 执行 ”)代码之前,需要将源文件从C(高级语言)转换为二进制(低级语言)可执行文件。**可执行文件(或“ 可执行 ”)**是一个包含代码二进制转换的文件,启动后它将运行(“**执行**”)您的程序。此转换过程称为编译。
**编译**是将源文件中的源代码从较高级语言转换为较低级语言,然后在可执行文件中创建并保存该已转换代码的过程。
**编译器**是用于编译代码的计算机程序。它是IDE中包含的常用工具。使用IDE时,IDE可能会在您运行代码时为您运行编译程序。如果不使用IDE,则需要启动编译器并指定要为其编译的源文件。
如果您的程序在代码中不包含任何错误,它将生成可执行文件,并且编译过程成功完成。但是,如果您的程序包含一个或多个错误,则可能会导致错误,从而阻止编译器生成可执行文件。如果编译器产生错误,您将需要返回代码来调试它并纠正错误。
成功编译程序后,您可以运行(“启动”或“执行”)可执行文件,并且您的计算机将执行程序的指令。
更多JAVA学习、面试、工作讨论交流请+微信:**13430931359**
网友评论