增加第一章的内容

master
高宏宇 4 weeks ago
parent 5a8e0d2bdc
commit c743ff4793

@ -1,4 +1,43 @@
## 1. 什么是面向对象?
- [1. How to learn Java?](#1-how-to-learn-java)
- [2. 什么是面向对象?](#2-什么是面向对象)
- [2.1. 用C来描述一个对象](#21-用c来描述一个对象)
- [2.2. C语言描述圆的总结](#22-c语言描述圆的总结)
- [2.3. 使用Java来实现](#23-使用java来实现)
- [2.3.1. 编译和运行Java](#231-编译和运行java)
- [3. JAVA的特点和历史](#3-java的特点和历史)
- [3.1. Java虚拟机](#31-java虚拟机)
- [3.2. Java的编译和运行](#32-java的编译和运行)
- [3.3. 基本概念](#33-基本概念)
- [3.3.1. JDK、API、IDE](#331-jdkapiide)
- [4. JAVA开发环境](#4-java开发环境)
- [4.1. 安装](#41-安装)
- [4.2. 运行](#42-运行)
- [4.2.1. 新建项目](#421-新建项目)
- [4.2.2. Hello world](#422-hello-world)
- [4.2.3. 包和源文件结构](#423-包和源文件结构)
- [4.3. Java代码结构](#43-java代码结构)
- [4.3.1. 关于指针](#431-关于指针)
- [5. 错误类型](#5-错误类型)
- [5.1. Syntax Errors](#51-syntax-errors)
- [5.2. Runtime Errors](#52-runtime-errors)
- [5.3. Logic Errors](#53-logic-errors)
- [5.4. Debug](#54-debug)
- [5.4.1. 设置中断](#541-设置中断)
- [5.4.2. 调试界面](#542-调试界面)
- [6. 小技巧](#6-小技巧)
- [6.1. 让Eclipse任何时候都进行提示代码补全](#61-让eclipse任何时候都进行提示代码补全)
- [6.2. 代码格式化](#62-代码格式化)
- [7. 本章节重点](#7-本章节重点)
## 1. How to learn Java?
- Java可以用在什么地方
- Java和其他语言有什么不同
- 为什么使用英语学习Java
- 什么是面向对象?
- AI时代如何学好Java
## 2. 什么是面向对象?
对象Object这个概念广泛存在于我们的生活当中一般只一个独立的个体具备一定的特性properties并有一定的动作能力capability。例如一个具体的人具备属性性别、年龄、升高...);同时具备一定的能力(说话、跑步、工作...
@ -6,7 +45,7 @@
下面用一个例子来说明面向对象编程的基本思想。
### 1.1. 用C来描述一个对象
### 2.1. 用C来描述一个对象
我们以一个简单的例子来分析面向对象这个例子是描述平面中的一个圆。这里我们需要两组参数来描述圆第一个参数是坐标位置X、Y另外一个是圆本生的描述例如大小半径r可能还有颜色等等简单来说我们目前只有半径。
@ -114,7 +153,7 @@ int main() {
}
```
### 1.2. C语言描述圆的总结
### 2.2. C语言描述圆的总结
1. 圆的结构体描述是一个抽象的描述因为结构体是类型定义并没有与其对应的变量这儿描述和后面的Java类的定义很像。
2. 声明一个结构体变量后就有一个真实的内存变量来描述一个特定的圆了这个变量是圆抽象描述的一个实例实体也叫做对象这个概念和Java的对象非常相似
@ -146,7 +185,7 @@ c1.print(); // C语言无法做到
当然面向对象不止有扩展结构体这样简单的功能,还需要学到相关的继承、多态、接口等高级特性,用来简化代码的编写。
### 1.3. 使用Java来实现
### 2.3. 使用Java来实现
接下来我们使用java来实现上述的功能这里主要是要把相关的函数作为结构体的一个部分。
@ -204,7 +243,7 @@ public class Circle_Test {
6. Java中类包含了函数这是C中结构体不具备的能力。
7. C和Java都有主函数Main他们的写法有什么不一样
#### 1.3.1. 编译和运行Java
#### 2.3.1. 编译和运行Java
把Java代码保存到Circle_Test.java的文件名中。
@ -238,9 +277,9 @@ The position x=1, y=1, radius=3.300000!
**javac是编译命令java是运行命令使用java虚拟机运行编译后的代码。关于虚拟机下面会讲到。**
## 2. JAVA的特点和历史
## 3. JAVA的特点和历史
### 2.1. Java虚拟机
### 3.1. Java虚拟机
在我们学习Java之前先来看看程序应用是如何运行的。
@ -256,23 +295,23 @@ The position x=1, y=1, radius=3.300000!
这种分层的设计理念我们在很多地方都用到例如网络的TCP/IP协议层软件系统当中的分层设计。分层的设计的目的就是为上层提供统一且稳定的服务而隔离下层的不同。从上图知如果操作系统是Windows无论硬件是Intel还是AMD上层的应用都可以不做修改的运行当然CPU架API: application programming interface JDK: Java Developing Kit IDE: Integrated Development Environment 构需要一致。而Java的高明之处就在于Java自己有虚拟机屏蔽了所有下层的不同只要是Java的应用在有Java虚拟机的平台上都可以运行。
### 2.2. Java的编译和运行
### 3.2. Java的编译和运行
![](img/20230302095100.png)
**bytecode是java编译后的二进制代码只能在java虚拟机上运行。**
### 2.3. 基本概念
### 3.3. 基本概念
**The Java Language Specification, API, JDK, and IDE**
#### 2.3.1. JDK、API、IDE
#### 3.3.1. JDK、API、IDE
1. API: application programming interface应用编程接口。Java提供了一套最基本的类包括文件操作、网络操作、数学运算、输出输出、数据结构等用来简化你的开发。这些其实是最基本的数据结构和操作函数只不过Java是按照类class的方式来组织类比C语言中的标准函数库是按照头文件和C文件来组织的。
2. JDK: Java Developing Kit是Java的开发套件。类比C语言可以看作是编译器、链接器这些命令行工具。不同的是Java没有链接只有编译工具Javac另外Java编译后的代码.class文件有叫做bytecode不能直接运行需要使用java虚拟机java运行。
3. IDE: Integrated Development Environment这是集成开发环境。一般人不会用写字板和命令行行Jdk来开发Java因为效率太低了。 
## 3. JAVA开发环境
## 4. JAVA开发环境
使用命令行和文本编辑器也可以编辑和运行Java但是效率很低因此我们需要一个集成开发环境IDE Integrated Development Environment来编辑、运行和调试Java代码。
@ -280,7 +319,7 @@ The position x=1, y=1, radius=3.300000!
**你可以使用任何IDE来开发Java但是考试的时候只提供 Eclipse。因此掌握Eclipse是必须的。**
### 3.1. 安装
### 4.1. 安装
Eclipse 是一个开放的框架基于Eclipse框架的有很多不同语言的IDE包括C、PHP、Python等我们只需要下载Java的IDE就可以了。访问 [Eclipse 官方网站](https://www.eclipse.org/downloads/packages/) ,下载 "Eclipse IDE for Java Developers";你需要根据你的平台来选择。
@ -288,7 +327,7 @@ Eclipse 是一个开放的框架基于Eclipse框架的有很多不同语言
解压缩后双击eclipse.exe 就可以运行。
### 3.2. 运行
### 4.2. 运行
启动Eclipse出现一个Workspace工作空间的选择。工作空间是一个目录Eclipse在这个目录中可以建立多个项目Project每个项目可以包含多个java源代码文件。Eclipse在每次运行的时候会让你选择Workspace这样Workspace->Project->Source code 就是Eclipse管理源代码的层级关系。
@ -302,7 +341,7 @@ Eclipse 是一个开放的框架基于Eclipse框架的有很多不同语言
除了菜单、工具条Eclipse大约分为上述4个区间。
#### 3.2.1. 新建项目
#### 4.2.1. 新建项目
在左边有"Create a Java project"的快捷方式新建一个项目也可以在File->New菜单中找到新建项目的功能。
@ -323,7 +362,7 @@ Eclipse 是一个开放的框架基于Eclipse框架的有很多不同语言
这个界面中项目名称不用说了JRE System Library 是虚拟机提供的库类似C语言中提供的标准库文件、算术、网络库等这些库中的类C语言中是头文件是可以在我们源代码中引用的src是一个特殊的文件夹所有的Java源代码必须在这个文件夹中。
#### 3.2.2. Hello world
#### 4.2.2. Hello world
我们建立一个简单的Hello world 程序,这里会使用到包的概念。
@ -382,7 +421,7 @@ public class Hello {
![](img/20230302095908.png)
#### 3.2.3. 包和源文件结构
#### 4.2.3. 包和源文件结构
![](img/20230302095923.png)
@ -423,7 +462,7 @@ Hello.java 这个文件的确在src文件夹中。
**如果需要改变源文件的位置请在Eclipse中的项目管理中进行支持文件的复制、移动、删除等操作。Eclipse始终会保持源代码中的package申明的正确性。这个功能其实在高级的IDE中叫做重构Refactor重构还有很多应用例如批量修改函数名、变量名等功能可以在菜单 Refactor 中找到更多的功能。**
### 3.3. Java代码结构
### 4.3. Java代码结构
总的来说Java是一种类C的语言基本语法和C十分相似。例如函数、变量名命名规则代码块判断、选择语句循环语句注解等都保持和C一致。
@ -451,7 +490,7 @@ public class Hello {
后续的学习中会学到更多关于语法方面的内容,这里只做一个初步的了解。
#### 3.3.1. 关于指针
#### 4.3.1. 关于指针
这里讨论指针比较早C中的指针是一个非常重要的概念在Java中关于类似C指针的概念有区别这里需要进行说明请大家先有个印象。
@ -460,11 +499,11 @@ public class Hello {
关于引用的具体内容我们放在函数和类中进行讲解。
## 4. 错误类型
## 5. 错误类型
错误类型包含三种Syntax Errors、Runtime Errors、Logic Errors。
### 4.1. Syntax Errors
### 5.1. Syntax Errors
语法错误,编译的时候发现,例如:
@ -476,7 +515,7 @@ public class ShowSyntaxErrors {
}
```
### 4.2. Runtime Errors
### 5.2. Runtime Errors
运行时错误运行时产生的错误例如空对象操作、0作为除数、文件不存在等。运行时错误是我们需要特别关注的因为会导致程序的流程异常产生意想不到的结果。例如下面这个例子
@ -490,7 +529,7 @@ public class ShowRuntimeErrors {
运行时错误也叫做异常Exception后面会专门讲到异常处理。
### 4.3. Logic Errors
### 5.3. Logic Errors
逻辑错误,简单说来就是语法没错、也没有运行时错误(异常),但是结果错误了。通常是编程者的算法错了,例如:
@ -505,7 +544,7 @@ public class ShowLogicErrors {
你认为上面代码的结果是什么?
### 4.4. Debug
### 5.4. Debug
**debug功能非常重要虽然考试不会直接考但是debug会极大的加快编码调试的效率请同学们一定重视。**
@ -541,13 +580,13 @@ public class Debug {
0,1,2,3,4,5,6,7,8,9,
```
#### 4.4.1. 设置中断
#### 5.4.1. 设置中断
![](img/20230302100434.png)
在需要中断(程序会在进入这一行之前暂停)的源代码行号前面双击,会出现一个蓝色的点,表示中断以及设置成功,接下来点击调试按钮就可以让程序运行,并且在设置中断的地方暂停。
#### 4.4.2. 调试界面
#### 5.4.2. 调试界面
eclipse的调试界面是单独的布局第一次运行调试会提示进入调试界面单击switch按钮就可以了。运行调试后出现下面的界面
@ -575,11 +614,11 @@ eclipse的调试界面是单独的布局第一次运行调试会提示进入
![](img/20230302100555.png)
## 5. 小技巧
## 6. 小技巧
为了方便我们的编程,以下两个小技巧是最常用到的。
### 5.1. 让Eclipse任何时候都进行提示代码补全
### 6.1. 让Eclipse任何时候都进行提示代码补全
代码补全是一个非常好用的工具当你输入一个字母的时候IDE会给你提示这样可以加快编码同时减少出错。可是缺省情况下Eclipse只在键盘输入点.)的时候进行代码提示。如果需要输入任何字母的情况下提示,可以按照以下方法进行设置。
@ -587,13 +626,13 @@ eclipse的调试界面是单独的布局第一次运行调试会提示进入
![](img/20230302100616.png)
### 5.2. 代码格式化
### 6.2. 代码格式化
菜单 Souorce->Format 或者快捷键 Ctl+Shift+F ,可以使当前代码快速美化。漂亮的代码缩进和编码规则会让代码更容易阅读。
**不同系统下 Eclipse 的快捷键可能并不相同注意参考你自己Eclipse的快捷键。**
## 6. 本章节重点
## 7. 本章节重点
1. JDK、API、IDE: P11-1.6
2. Java语言的基本结构P12-1.7

Loading…
Cancel
Save