01-计算机、程序和Java概述
-
1.1 引言
- 该专题旨在学习如何通过编写程序来解决问题
-
1.2 什么是计算机
计算机是存储和处理数据的电子设备。
计算机包括硬件和软件两部分。硬件指的是计算机中可见的物理部分,而软件指的是提供不可见的指令,这些指令控制硬件并使得硬件完成特定的任务。一台计算机是由以下几个主要的硬件组件构成的:
- 中央处理器
- 内存(主存)
- 存储设备(磁盘和光盘)
- 输出设备(显示器和打印机)
- 输入设备(鼠标和键盘)
- 通信设备(调制解调器和网卡)
- 1.2.1 中央处理器
- 中央处理器是计算机的大脑,由控制单元和算术/逻辑单元组成。
- 控制单元:用于控制和协调其他组件的动作。
- 算术/逻辑单元:用于完成数值运算(加法、减法、乘法、除法)和逻辑运算(比较)。
- 1.2.2 比特和字节
- 计算机中字节是最小的存储单元。
- 计算机的存储能力是以字节和多字节来衡量的:
- 千字节(KB)大约是1000字节
- 兆字节(MB)大约是100万字节
- 千兆字节(GB)大约是10亿字节
- 万亿字节(TB)大约是1万亿字节
- 1.2.3 内存
- 计算机的内存由一个有序的字节序列组成,用于存储程序及程序需要的数据。
- 每个字节都有唯一的地址,以便于存储和获取数据。
- 内存中字节的内容永远非空,但是她的原始内容可能对于你的程序来说是毫无意义的。一旦新的信息被放入内存,该字节的当前内容就会丢失。
- 1.2.4 存储设备
- 磁盘驱动器
- 光盘驱动器(DVD和CD)
- USB闪存驱动器
- 1.2.5 输入和输出设备
- 1.2.6 通信设备
-
1.3 编程语言
- 1.3.1 机器语言
- 计算机的原生语言就是机器语言,是一套内嵌的基本指令集。这些指令都是以二进制代码的形式存在。
- 1.3.2 汇编语言
- 汇编语言使用短的描述性单词(称为助记词)来表示每一条机器语言指令。
- 1.3.3 高级语言
- 用高级语言编写的程序都称为源程序或源代码。由于计算机不能运行源程序,源程序必须被翻译成可执行的机器代码。翻译可以由另外一种称为解释器或者编译器的编程工具来完成。
- 1.3.1 机器语言
语言 | 描述 |
---|---|
Ada | 以Ada Lovelace(她研究机械式的通用型计算机)命名。Ada是为美国国防部开发的,主要用于国防项目 |
BASIC | 是Beginner’s All-purpose Symbolic Instruction Code(初学者通用符号指令代码)的缩写,是为了是初学者易学易用而设计的 |
C | 由贝尔实验室开发。C语言具有汇编语言的强大功能以及高级语言的易学性和可移植性 |
C++ | 基于C语言开发,是一种面向对象程序设计语言 |
C# | 读为“C Sharp”,是由Microsoft公司开发的面向对象程序设计语言 |
COBOL | 是COmmon Business Oriented Language(面向通用商业的语言)的缩写,是为商业应用而设计的 |
FORTRAN | 是FORmula TRANslation(公式翻译)的缩写,广泛应用于科学和数学应用 |
Java | 由Sun公司(现在属于Oracle)开发,是面向对象程序设计语言,广泛应用于开发平台独立的互联网应用程序 |
JavaScript | 是由Netscape公司开发的Web编程语言 |
Pascal | 以Blaise Pascal(Blaise Pascal是17世纪计算机器的先驱)命名,Pascal是一个简单的、结构化的、通用目的的语言,主要用于编程教学 |
Python | 是一种简单的通用目的的脚本语言,适合编写小程序 |
Visual Basic | 又Microsoft公司开发,方便编程人员快速开发基于Windows的应用 |
- 1.4 操作系统
- 操作系统的主要任务:
- 控制和监视系统活动
- 分配和调配系统资源
- 调度操作
- 1.4.1 控制和见识系统活动
- 操作系统跟踪存储设备中文件和文件夹的动态,还要确保不同的程序和用户同时使用计算机时不会互相干扰,另外,操作系统还负责安全处理,以确保未经授权的用户和程序无权访问系统。
- 1.4.2 分配和调配系统资源
- 操作系统负责确保一个程序需要使用哪些计算机资源,并进行资源分配和调配以运行程序。
- 1.4.3 调度操作
- 操作系统负责调度程序的活动,以便有效的利用系统资源。
- 多道程序设计允许多个程序通过共享一个CPU同时运行。
- 多线程允许单个程序同时执行多个任务。
- 多处理类似于多线程,区别在于多线程是在单个程序中并行运行多个线程,而多处理是采用多个处理器来并行运行多个程序。
- 操作系统的主要任务:
- 1.5 Java、万维网以及其他
- Java是由James Gosling在Sun公司领导的小组开发的。(2010年Sun公司被Oracle收购)
- 这种能在Web浏览器中运行的Java程序称为Java小程序(applet)。
- 用于安卓手机的软件也是采用Java进行开发的。
- 1.6 Java语言规范、API、JDK、JRE和IDE
- Java语言规范定义了Java的语法,完整的Java语言规范可以在docs.oracle.com/javase/specs上找到。
- Java库则在Java应用程序接口(API)中定义。
- JDK适用于开发和运行Java程序的软件。
- IDE是快速开发程序的集成开发环境。
- 1.7 一个简单的Java程序
- Java是从类中的main方法开始执行的。
- 类名都是以大写字母开头的。
- 一个字符串必须放入双引号中。Java中的每条语句都是以分好(;)结束,也称为语句结束符。
- Java源程序是区分大小写的。如果在程序中奖main替换成Main,就会报错的。
- print方法和println方法几乎一样,除了println方法在线上一个字符串后将移到下一行开始处,而print方法在完成显示后不会前进到下一行。
字符 | 名称 | 描述 |
---|---|---|
{} | 左花括号和右花括号 | 表示一个包含语句的块 |
() | 左圆括号和右圆括号 | 和方法一起使用 |
[] | 左方括号和右方括号 | 表示一个数组 |
// | 双斜杠 | 表示后面是一行注释 |
“” | 左引号和右引号 | 包含一个字符串(即一系列的字符) |
; | 分号 | 标识一个语句的结束 |
-
1.8 创建、编译和执行Java程序
-
Java源程序保存为.java文件,编译为.class文件。.class文件由虚拟机(JVM)执行。
-
源文件的扩展名必须是.java,而且文件名必须与公共类名完全相同。(如下图)
-
使用命令行执行程序时,不要使用扩展名.class。使用java ClassName来运行程序。如果在命令行使用java ClassName.class,系统就会尝试读取ClassName.Class。
-
如果运行一个不存在的类文件,就会出现NoClassDefFoundError的错误。如果执行的类文件中没有main方法或敲错了main方法(例如,将main错敲成Main),则会出现提示NoSuchMethodError。
-
-
1.9 程序设计风格和文档
-
1.9.1 正确的注释和注释风格
- 除了行注释(以//开始)和块注释(以/*开始)之外,Java还支持一种称为Java文档注释(javadoc comment)的特殊注释形式,该注释以//开始,以/结尾。
- 使用javadoc注释(/**…*/)来对整个类或整个方法进行注释。
package chapter01; public class Try { public static void main(String[] args){ //累加的一个变量 /* 这里只是为了掩饰注释的 这一行同样也是*/ int result=0; for(int i=0;i<args.length;i++){ result+=Integer.parseInt(args[i]); System.out.println(result); } } }
-
1.9.2 正确的缩进和空白
- 缩进用于展示程序中组成部分或语句之间的结构性关系。二院操作符的两遍应该各加一个空格。
-
1.9.3 块的风格
- 次行风格和行尾风格
package chapter01; public class BlockStyle { public static void main(String[] args){ Sys
-