Java实验指导:从JDK配置到面向对象编程实战入门

发布时间:2026/10/24 11:58:20
Java实验指导:从JDK配置到面向对象编程实战入门

简介:这是一份面向Java课程上机实践的实验指导文档,适合高校计算机专业学生、Java初学者及需要系统实验训练的开发者使用。内容按68学时规划,分为Java基础、Java核心与企业级应用选学三大模块,覆盖运行环境安装配置、基本语法、面向对象、包/接口与异常处理、数组/向量和字符串、常用系统类、图形用户界面、多线程、图形与多媒体、综合应用,以及流与文件、网络编程和可选的JDBC、JSP/Servlet等十余个实验,每个实验均包含目的、要求、内容与具体操作指导。资源包仅含1个doc文档,大小约530KB,整体结构清晰,便于按实验模块逐一查阅。目前已有238人浏览学习,读者可跟随指导书逐项完成编码与调试,在反复实操中巩固Java知识,形成从基础语法到企业级应用的完整能力路径。

1. 先想通一个问题:Java 实验到底在练什么

第一次接触 Java 的人,十有八九会有这种体验:视频课看了一堆,语法仿佛记住了,合上电脑却一行代码都写不出来。这不是你笨,而是缺了动手这一环。编程和游泳一样,站在岸上看动作分解永远学不会,必须亲自下水呛几口。这份《java程序设计实验指导书》要解决的,正是“看会了却没练会”这个通病:它把 68 学时的上机任务拆成十多个实验,从安装 JDK、配置环境变量开始,一路讲到基本语法、面向对象、图形界面,再到文件、线程和网络编程。你不需要自己纠结“今天先学什么”,照着实验顺序往下做就行。它适合完全零基础、想通过动手真正学会 Java、却不知道怎么迈出第一步的人。

2. 为什么这条路值得走:实验顺序本身就是最佳学习路径

新人打开一本 Java 教材,最常见的反应是:厚厚一本,从数据类型到集合框架,从异常到反射,信息量太大,不知道从哪儿开始看。实验指导书恰好解决这个问题——它不按“知识体系”排,而是按“上机任务”排。你不需要理解完整的地图才能上路,只需要跟着路标一个路口一个路口地走。

2.1 先看地图:68 学时三大模块是怎么排的

拿到指导书先别急着动手,花十分钟把目录过一遍。这一份的安排非常清楚:Java 基础、Java 核心、企业级应用选学,三大模块,合计 68 学时。

Java 基础模块包含的是环境安装、基本语法、面向对象、包与接口、异常处理、数组和字符串、常用系统类、图形用户界面,以及一个综合练习。这个阶段解决的核心问题是“能不能写出一个能跑的 Java 程序”。Java 核心模块包括流与文件、线程、网络编程,解决的是“能不能写出有实际用途的程序”。最后的选学模块是 JDBC 数据库连接和 JSP 与 Servlet,方向是后端开发。

我第一次学 Java 的时候,完全没意识到这份目录的含金量,只觉得实验多、任务重。后来才明白,它走的是一条“由小到大”的路:基础模块帮你建立语言直觉,核心模块帮你接触真实系统常用的技术,选学模块则给你指了一条往后做后端开发的支线。对什么都不懂的新手来说,这种结构性特别重要——你不用自己定计划,跟着走就不会迷路。

2.2 从语法到对象:实验之间藏着一条认知升级线

很多人觉得 Java 比 Python 难上手,其实难的不是语法,而是“面向对象”这套思考方式。实验指导书的高明之处,在于它用三个连续实验帮你完成思维转变。

实验 2 练的是基本语法:声明一个整数变量、用 if 判断大小、写一个 for 循环把数字累加。这个阶段程序是线性的,从上往下执行,一切都还像数学作业。到了实验 3,要求你创建对象并使用对象。同样是输出一个日期,你不再是自己拼字符串,而是让一个日期对象替你做这件事:

// 创建日期对象,并调用它的 toString 方法输出信息 Date now = new Date(); System.out.println(now.toString());

这种转变是颠覆性的:以前是你自己干活,现在是“让对象干活”。实验 4 再往前走一步,让你接触包、接口和异常处理。接口是 Java 设计思想的浓缩——它告诉你,类与类之间除了继承,还能靠“约定”协作;异常处理则教你接受一个现实:程序出错是常态,关键是提前想好出错以后怎么办。

这一条线走下来,你会亲身体验从“过程式思考”到“对象式思考”的转变,这比任何人给你讲十遍“什么是封装、继承、多态”都管用。

2.3 实验指导书和视频教程的差别:一个被动看,一个主动做

我不是说视频课不能看,而是它对新手的“友好”是有代价的。看视频的时候,老师敲一行你暂停敲一行,看起来像在练习,实际上还是在被动跟随。更麻烦的是:只要你敲出来的代码和视频里有一点点不一样,报错就来了,而视频不会预判你犯的每一种错误,你只能卡在原地。

实验指导书的逻辑完全不同。它的每个实验都有明确的目标、要求和步骤,你是在“照着图纸做东西”,而不是“慢放老师的操作”。卡住的时候,你可以翻前面的章节、对照报错信息排查、甚至故意把代码改错再改回来,搞清楚到底哪个环节出了问题。这个过程里积累下来的排查能力,恰恰是将来工作里最值钱的能力。

我到现在都记得一个教训:早年间我跟着视频敲了一个下午,敲出一个连自己都看不懂的“代码缝合怪”。换成实验指导书之后,一个下午通了一个实验,每个步骤都明白自己在干什么。从那以后,凡是学新语言,我都先找实验手册,而不是先看视频。

2.4 做完这套实验,你能得到什么

往小了说,做完它,你就能独立写一个在命令行里运行的小程序。往大了说,这份指导书覆盖的知识,足够支撑你进入任何一个 Java 开发方向,无论是桌面应用、后端服务,还是 Android 开发。

具体说,四个核心收获。第一,环境不再是黑匣子。你知道 JDK、JRE、环境变量、class 文件各自是什么、负责什么。第二,你能写出一个包含面向对象思想的程序,不管是定义一个学生类、一个动物类,还是设计一个简单的银行账户系统。第三,你初步具备和报错信息相处的能力。看到 Exception 不再心慌,敢于读异常信息、定位出错行。第四,你亲身体验过文件读写、多线程、网络通信这些硬核技术,以后学 Spring Boot 或 Web 开发时,会发现很多概念“好像见过”。

记住一个前提:这里的收获来自于“做完”,而不是“看完”。哪怕只完成一半实验,只要你每一个代码都亲手敲过,效果都远好于把整本指导书读一遍。

3. 第一个例子跑起来:搭建环境并输出 Hello World

道理讲再多,不如亲手跑通一个程序。这一章我带你把实验 1 的核心步骤走一遍:下载安装 JDK、配置环境变量、编译并运行第一个 Java 程序。整个过程二十分钟能完成,前提是你手边有一台能上网的电脑。

3.1 安装 JDK:装的是开发工具包,不只是运行环境

很多新人第一次下载时会被 JDK 和 JRE 两个名词绕晕。简单说,JRE 是 Java 运行环境,装了它只能“运行”别人写好的 Java 程序;JDK 是 Java 开发工具包,里面包含了 JRE,还额外带了一整套开发工具,比如编译器 javac。

打个比方:JRE 是电影院,JDK 是电影院加上制片厂。你只想看电影,装 JRE 就够了;你要亲手拍电影,就必须装 JDK。

下载时选择和你操作系统匹配的版本,Windows 选 x64 安装包,macOS 选对应芯片的版本。安装路径默认即可,但这一步一定要记住装到了哪里,比如 Windows 上常见的C:\Program Files\Java\jdk-17。我建议你把路径复制到记事本里存起来,后面配置环境变量会用到。安装完成后,可以在命令行验证一下:

java -version

如果能看到类似java version "17.0.x"的信息,说明安装成功,可以进入下一步。注意,这一步验证的是 java 命令,它来自 JRE 部分;我们要的编译器 javac 会放在下面的环境变量配置里解决。

3.2 配置环境变量:让电脑知道 javac 在哪里

环境变量这个名字听起来很玄,其实它解决的是一个特别朴素的问题:你在命令行里敲java或javac的时候,操作系统怎么知道这个命令去哪找?

Windows 的配置方法如下。右键“此电脑”选“属性”,进入“高级系统设置”,点击“环境变量”。在“系统变量”列表里找到Path,双击编辑,点“新建”,把 JDK 安装目录下的bin文件夹路径加进去,例如C:\Program Files\Java\jdk-17\bin。保存退出。

macOS 或 Linux 用户则是在终端里编辑配置文件,在~/.zshrc或~/.bashrc末尾加一行:

export PATH=$PATH:/Library/Java/JavaVirtualMachines/jdk-17/Contents/Home/bin

为什么加的是bin目录?因为javac和java这两个命令的可执行文件就住在bin里。告诉操作系统这个地址以后,它在任何目录下都能找到这两个命令。配置完成后,重新打开一个命令行窗口,输入javac -version,能正常输出版本号,就说明环境配置成功。

提示:配置完环境变量必须重开命令行窗口,旧的窗口不会自动读取新的配置。我当年就在这一步卡了半小时,一度以为是安装出了问题。

3.3 第一个程序:Hello World 的编译与运行

环境就绪,现在写你的第一个 Java 程序。新建一个文本文件,改名为HelloWorld.java。注意扩展名,Windows 默认会隐藏后缀,你需要先在文件夹选项里把“隐藏已知文件类型的扩展名”关掉,否则容易写出HelloWorld.java.txt这种编译失败的名字。

在文件里输入以下内容:

public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, Java!"); } }

逐行解释一下。public class HelloWorld声明了一个公共类,类名是 HelloWorld,Java 要求公共类的名字必须和文件名一致,所以这个文件必须叫HelloWorld.java,大小写都要一致。public static void main(String[] args)是程序的入口,Java 虚拟机运行程序时从这里开始执行,这一行是固定写法,新手先记住它,以后自然会懂为什么必须是 static。System.out.println("Hello, Java!")的作用是在控制台输出一行文字。

保存后,在命令行窗口进入文件所在目录,依次执行两条命令:

javac HelloWorld.java java HelloWorld

第一条命令javac HelloWorld.java是编译:把源代码翻译成 Java 虚拟机能够理解的字节码文件HelloWorld.class。第二条命令java HelloWorld是运行:让虚拟机执行这个 class 文件中的 main 方法。

如果你看到输出:

Hello, Java!

恭喜,你的第一个 Java 程序跑通了。这一步虽然小,但它验证了整条链路——JDK 安装、环境变量、编译器、虚拟机——全部正常。从这一刻起,你就不再是“没写过 Java 程序的人”了。

3.4 从命令行到 IDE:实验 1 后半部分在做什么

实验 1 的后面还有两步:安装 JCreator 软件,以及浏览 SDK 自带的 Applet 小程序。用今天的眼光看,Applet 是早期网页内嵌 Java 应用的技术,已经退出主流,你只需要知道它存在过即可,不必深入研究。真正值得关注的是用 IDE(集成开发环境)写代码这件事。

我的建议是:第一个实验先用命令行。原因很简单,命令行强迫你亲眼看到“源文件编译成 class 文件”这个转化过程,报错也会明明白白摆在你面前。如果第一周就直接上 IDE,它会在后台替你完成编译,你反而看不到发生了什么,一旦程序报错,就只会盯着红色波浪线干着急。

命令行流程熟练以后,再切换到任意你顺手的 IDE。IDE 提供的语法高亮、代码补全、断点调试,都是在你已经理解基础机制的前提下才有意义的。记住一个顺序:先用笨办法,再用聪明工具。

4. 新手避坑指南:编译运行最常见的 5 个问题

这一章,我把新手前两周最容易踩的坑整理出来。每一条都是真实发生过、并且几乎人人都会遇到一次的问题。看完记住,能帮你省下不少抓狂时间。

4.1 java 不是内部或外部命令:环境变量配置不生效

现象:照着教程配置完 Path,重新打开命令行输入java -version,却提示“不是内部或外部命令”。

原因:绝大多数情况是命令行窗口没重开。环境变量的修改只对新开窗口生效,旧窗口还保留着之前的配置。另一个常见原因是 Path 里路径填错,比如bin拼成了bind,或者路径中多了一个分号。

解决:关掉所有命令行窗口,重新打开一个再试。如果还不行,执行echo %Path%查看当前生效的变量值,确认你的 bin 路径在不在里面。还有一种隐蔽情况:Windows 某些系统会同时存在多个 Java 安装,注意看 Path 里是不是有其他旧版 JDK 的路径排在前面。

4.2 找不到或无法加载主类:运行时把文件名写错了

现象:编译成功了,生成了 class 文件,但运行java HelloWorld时报“找不到或无法加载主类”。

原因:运行时命令写错了类名,或者 class 文件不在当前目录。必须记住一个区分:编译命令后面跟的是“文件名”,要带.java后缀;运行命令后面跟的是“类名”,不带后缀。

解决:先确认当前目录下存在HelloWorld.class,然后运行java HelloWorld。特别注意不要写成java HelloWorld.class,也不要把类名拼错。这是新手最容易犯的错误,而且报错信息看起来特别吓人,其实原因幼稚得很。

4.3 中文注释或中文字符串变乱码

现象:代码里写了中文注释,编译时提示“编码 GBK 不可映射字符”,或者程序跑起来以后中文输出全成了乱码。

原因:Windows 中文版系统的默认编码是 GBK,而现代编辑器默认用 UTF-8 保存文件。两边编码不一致,javac 编译时吃力,控制台输出也跟着乱。

解决:最稳妥的方法是统一使用 UTF-8。在命令行编译时显式指定编码:

javac -encoding UTF-8 HelloWorld.java

同时把代码文件保存为 UTF-8 格式。如果你用的是记事本,保存时在“编码”下拉框里选 UTF-8。等你熟了以后,可以学习在 IDE 里统一设置项目编码,这个坑就不会再来了。

4.4 类是公共的,应在名为 HelloWorld.java 的文件中声明

现象:代码明明写对了,编译器却报“类 HelloWorld 是公共的,应在名为 HelloWorld.java 的文件中声明”。

原因:文件名和公共类名不一致,或者大小写不对。Java 是大小写敏感的,helloWorld.java和HelloWorld.java是两个完全不同的文件。很多新手用手写文件名时,把类的首字母大写写错了,文件保存名却全小写,就会翻车。

解决:把文件重命名,使文件名和公共类名完全一致,包括大小写。如果你的代码里声明了多个类,只有一个类可以声明为 public,其余类不加 public 修饰符。这个规则初学者不用深究,先记住“文件名必须等于公共类名”这一条即可。

4.5 程序运行后窗口一闪而过

现象:双击运行某个.class文件,或者在旧式环境下运行程序,控制台窗口弹出来一下马上消失,什么都没看清。

原因:程序执行太快,打印完结果整个进程就结束了,窗口自动关闭。这是正常现象,不是程序写错了,而是你选错了运行方式。

解决:解决办法有两个。一是在代码末尾加一行等待用户输入,让程序在结束前停下来:

import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, Java!"); System.out.println("按回车键退出程序"); Scanner scanner = new Scanner(System.in); scanner.nextLine(); } }

二是使用命令行方式运行,终端窗口停留在那里,输出结果看得清清楚楚。如果你以后用 IDE 开发,IDE 的输出窗口自带程序运行面板,也不会闪退,但你还是得明白这背后的原因是“进程结束,窗口关闭”。

5. 下一步学什么:从 Hello World 到能写完整项目

跑通第一个程序之后,你已经迈过了最容易放弃的阶段。接下来给你一条明确的路线,照着走就行。

第一步,把实验 2 和实验 3 做完。这是整个打基础阶段的核心:变量、选择、循环是程序的骨架,类与对象是 Java 的灵魂。这两个实验做完,你应该能做到:看到一个小需求,能想到需要哪些变量、用 if 还是 for、要不要定义一个类。学完实验 3,可以做一个小练习——设计一个“学生类”,包含姓名、学号、成绩三个属性,写一个方法打印学生信息,再在 main 里创建三个对象运行。这种练习花不了半小时,但对巩固面向对象概念特别有用。

第二步,做完实验 4 到实验 9。这六个实验覆盖包、接口、异常、集合中的数组与字符串、常用系统类、图形界面。它们会帮你建立两个重要认知:一是代码如何组织——用包分类、用接口约定、用异常兜底;二是程序如何与人交互——图形界面和事件处理不再是玄学,而是一套固定套路。如果你发现自己对图形界面特别感兴趣,可以试着做一个简单计算器;如果觉得图形界面很枯燥,也完全正常,后端开发不需要它,只要理解了事件机制即可。

第三步,看情况选择实验 10 到实验 12。文件、线程、网络编程在难度上明显上一个台阶,但它们对应着真实后端项目里天天用到的东西:日志文件要写磁盘、并发请求要开线程、客户端服务端要通信。这三个实验能跑通,你的简历上就真能写“熟悉 Java IO、多线程与网络编程基础”了。学到这一层,框架就可以提上日程了:先看一个简单的 Servlet 项目,理解请求和响应,再考虑学 Spring Boot。数据库方面,选学部分的 JDBC 实验给了你一条平滑的入口,先手写 JDBC,再用框架,底层原理再也不黑。

说说我的教训。我第一次学 Java 时,最遗憾的事是过早追求“看起来高级”的技术,基本语法还没写利索,就想学框架,结果报错看不懂、概念对不上,越学越没劲。后来我给自己定了一条规矩:每学一个新概念,就强迫自己写一个至少二十行的独立小例子,写完之后故意改坏它一次,观察报错长什么样。这个习惯帮我避开了“看完就忘、一写就错”的怪圈。从那以后,每学一门新语言我都强制走一遍这个流程,效率反而比盲目刷课高得多。

你现在手里的这份实验指导书,就是最适合新手的第一条路线。请不要再犹豫了,从安装 JDK 开始,动手把第一个 Hello World 跑起来,希望帮到你。

本文还有配套的精品资源,点击获取