一、基本简介
1. 程序
- Program = Algorithms + Data Structure
- 软件 = 系统软件(OS) + 应用软件
- 用户 → 应用软件 → 操作系统 → 硬件
2. 人机交互
- GUI (Graphical User Interface) 图形化界面
- CLI (Commend Line Interface) 命令行方式
3. Windows基本命令
- dir (directory): 列出当前目录下的文件以及文件夹
- md(make directory): 创建文件目录
- rd (remove directory): 删除空文件目录
- del: 删文件
- cd (change directory): 进文件目录内
- cd… : 退回到上一级目录
- cd : 退回到根目录
- exit: 退出 dos 命令
4. 编程语言介绍
- 一代 机器语言:0101
- 二代 汇编语言:助记符(and2, 3 result → 汇编器 → 0101…)
- 三代 高级语言:面向过程 → 面向对象
二、 Java 简介
1. Java 版本介绍
- JavaSE:标准版,桌面应用
- JavaEE:企业版,Web应用
- JavaME:小型版,移动平台
2. Java 语言特点
- 面向对象:封装 继承 多态 / 类 对象
- 健壮性:内存管理
- 跨平台性:一次编译 多次运行
3. Java 两种核心机制
- JVM (Java Virtal Machine)
- GC (Garbage Collection) // 自动进行,也会内存泄漏、内存溢出
4. 编译运行过程
- 用户 (字节码文件) → JVM → 操作系统 → 硬件 (CPU)
- Java代码保存在 .java 结尾的源文件中
- 每个类/接口都单独占据一个.class文件
- 编译命令:javac 源文件名.java
运行命令:java 类名【无 .class】
5. JDK JRE
- JDK (Java Development Kit) 开发工具包 = JRE + 开发工具集 (javac.exe, jar.exe)
- JRE (Java Runtime Environment) 运行环境 = JVM + 核心类库
6. 版本变化
JDK 1.1 ~ 1.4 ~ 5.0(1.5) ~ 8.0(1.8) ~ 10.0 (18.3 年月记录)
7. 环境变量
- Path:Windows 执行命令时要搜寻的路径
- 目的:在任何文件路径下都可以执行Java操作
- 下载多个版本JDK,最后运行的版本取决于path
- 配置内容:
- JAVA_HOME = bin之前的路径
- path = %JAVA_HOME%\bin
8. Java开发工具
- 文本编辑工具:记事本
- 集成开发环境IDE (Integrated Development Environment)
三、Java语言的环境搭建
1. 下载安装JDK
- 下载地址:www.oracle.com
- 开发文档:JDK 11 Documentation - Home
文件说明:
- bin:开发工具(java.exe, javac.exe, javadoc.exe...)
- lib:jar包
- include:Java中引入C的类库
- src.zip:Java中开源的代码,类库...
2. 配置环境变量
3. 任意路径测试 javac, java, java -version
四、命令行编写运行Java程序
1. 步骤
- 新建文本文件【HelloWorld】 更改后缀为【.java】 编写【class HelloChina】及【main】
- 在文件路径下cmd执行【javac HelloWorld.java】 编译生成字节码文件 【HelloChina.class】
- 执行【java HelloChina】得到运行结果
2. 问题解决
a. 运行时提示“找不到或无法加载主类”
- 解决方案:设置环境变量【CLASSPATH = .;】
- CLASSPATH:指定类搜索路径,【.】代表当前目录
五、注释
- 单行注释 //
- 多行注释 /* … */
- 文档注释 /** (Java特有)
1) 单行、多行注释的内容不参与编译,.class内容不包含注释的信息
2) 多行注释、文档注释内容不可嵌套使用
3) 文档注释内容可以被JDK提供的工具 javadoc 解析,生成网页格式文件,体现该程序的说明文档
javadoc -d 目标文件名 -author -version 源文件
/**
Javadoc
@author Irena
@version V1.0
Javadoc Test
*/
public class HelloJava{
/**
This is main(), the entrence of this program.
*/
public static void main(String[] args){
System.out.println("Hello Java!");
}
}