### 清华大学《Java程序设计》实验指导书知识点概览
#### 实验一:Java开发环境的安装与配置
**知识点概述:**
本实验旨在引导学生熟悉Java开发环境的基本配置,包括JDK的安装、环境变量的设置、文本编辑器的使用以及简单程序的编写与调试。
1. **JDK的安装步骤:**
- **平台适应性:** 了解不同操作系统(如Windows、Unix)下的JDK安装流程。
- **资源获取:** 通过官方渠道(http://java.sun.com)下载最新版本的JDK。
2. **环境变量PATH和CLASSPATH的作用与设置:**
- **PATH的作用与设置:** PATH环境变量用于指定命令行解释器能够访问的命令路径。设置方法因操作系统而异,如在Windows系统中,可通过“控制面板”-“系统”-“高级系统设置”-“环境变量”进行设置;而在Unix系统中,则通过修改.bashrc或/etc/profile等文件实现。
- **CLASSPATH的作用与设置:** CLASSPATH环境变量用于告知JVM去哪里查找用户自定义的类库。同样地,其设置方式也随操作系统不同而有所区别。在Windows环境下,同样通过环境变量设置;而在Unix环境下,则需在命令行中添加或修改CLASSPATH变量。
3. **文本编辑器的使用:**
- **TextPad或JCreator:** 选择适合自己的文本编辑器(如TextPad、JCreator等),学习基本的编辑技巧,如语法高亮显示、代码自动补全等。
- **编写简单Application程序:** 使用所选编辑器编写简单的Java Application程序,并通过命令行编译和运行。
4. **编译与执行Java程序:**
- **常见错误提示及解决方法:** 在编译过程中可能会遇到的各种错误信息(如找不到类文件、编译错误等),以及如何根据错误提示定位问题所在。
**实验内容详解:**
1. **JDK安装:** 通过官方网站下载最新版JDK并完成安装过程。
2. **环境变量配置:** 根据操作系统类型(如Windows、Unix),配置PATH和CLASSPATH环境变量。
3. **编写HelloWorld程序:**
- **创建项目目录结构:** 在计算机上创建指定目录(例如`D:\学号\src`和`D:\学号\class`)。
- **编写代码:** 在TextPad或JCreator中编写一个简单的HelloWorld.java程序。
- **编译与运行:** 在DOS提示符下使用`javac`命令编译程序,并使用`java`命令执行。
4. **包的概念与使用:**
- **创建包:** 创建两个不同的包a和b,并在各自包内创建类A和B。
- **跨包引用:** 在类B中实例化一个类A的对象。
- **编译类:** 分别编译类A和类B。
**思考题解析:**
1. **JVM简介:** JVM(Java虚拟机)是一种可以执行Java字节码的虚拟机,它负责解释并执行Java程序,是Java跨平台特性的核心。
2. **PATH和CLASSPATH的理解:**
- **PATH的作用:** 指令路径,用于告知操作系统在哪些目录下查找可执行文件。
- **CLASSPATH的作用:** 类路径,用于告知JVM在哪里查找用户自定义的类文件。
---
#### 实验二:货物进销管理系统
**知识点概述:**
实验目的是通过编写一个货物进销管理系统来加深对Java中文件读写操作、实用类(如Vector、ArrayList)、字符串类(如String、StringBuffer)以及面向对象编程的理解。
1. **文件读写操作:**
- **文件格式:** 理解Inventory.dat和Transactions.dat文件的数据结构与格式。
- **读取数据:** 使用Java的文件输入输出流API读取文件内容。
- **写入数据:** 根据处理逻辑将结果写入Shipping.dat和Errors.dat文件。
2. **实用类的使用:**
- **Vector与ArrayList:** 学习这两种集合类的区别及应用场景。
- **String与StringBuffer:** 理解字符串操作的基本方法。
3. **面向对象编程:**
- **类的设计:** 定义库存记录类、事务处理类等。
- **对象的创建与使用:** 实例化对象并调用相应方法处理业务逻辑。
**实验内容详解:**
1. **文件处理:**
- **读取库存记录:** 从Inventory.dat中读取所有库存记录。
- **读取事务处理记录:** 从Transactions.dat中读取并解析事务处理记录。
- **生成发货记录:** 根据发货单(以'O'开头的事务)生成发货记录。
- **记录错误信息:** 当库存数量不足以满足发货需求时,记录错误信息到Errors.dat。
- **更新库存记录:** 最终更新库存记录到NewInventory.dat。
2. **面向对象设计:**
- **类的设计:** 定义库存记录类(包含Item number、Quantity等属性)和事务处理类(区分发货单和到货单)。
- **对象的创建与使用:** 创建库存记录对象和事务处理对象,模拟实际业务流程。
3. **实用类的应用:**
- **Vector与ArrayList的选择:** 根据实际需求选择合适的数据结构存储库存记录。
- **字符串操作:** 使用String和StringBuffer类处理文件中的文本信息。
**总结:**
这两个实验不仅覆盖了Java基础环境的搭建与配置,还深入到了具体的项目实践,有助于学生全面掌握Java编程的核心技术和实际应用能力。通过这些实验,学生能够更好地理解Java语言的特点及其在软件开发中的应用价值。