第 1 步 安装 JDK 并验证
JDK 包含编译器 javac 与运行时 java;只装 JRE 无法编译。
- 下载:选择 LTS 版本(JDK 17 或 21),Windows 选 x64 Installer(.msi)。
- 安装:一路默认即可,记下安装路径(如
C:\Program Files\Java\jdk-21)。 - 配置环境变量:新建系统变量
JAVA_HOME指向安装目录;在 Path 中追加%JAVA_HOME%\bin。 - 验证(重新打开一个命令行窗口):
java -version // 显示 java version "21.x" javac -version // 显示 javac 21.x echo %JAVA_HOME% // Windows:确认指向 JDK 目录 // PowerShell 中查看 $env:JAVA_HOME
常见报错
- "javac 不是内部或外部命令":Path 未配置或未生效——检查 Path 是否包含
%JAVA_HOME%\bin,并重开命令行窗口。 - java -version 与 javac -version 版本不一致:Path 中存在其它 Java 路径(如旧版 JRE 或 Oracle 自带的 java.exe),把
%JAVA_HOME%\bin移到最前面。
第 2 步 用命令行跑通第一个程序
先用命令行跑通,再上 IDE——这样出错时更容易定位。
- 新建目录(路径不要含中文与空格),在其中创建
Hello.java。 - 文件名必须与 public 类名完全一致(区分大小写)。
// Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, Java");
}
}
// 在该目录下执行 javac Hello.java // 编译,生成 Hello.class java Hello // 运行,注意不带 .class // 输出:Hello, Java
要点
- 编码问题:Windows 记事本默认可能存成 GBK,含中文时会编译报错或输出乱码。解决办法:文件另存为 UTF-8,或编译时指定
javac -encoding UTF-8 Hello.java。 - 类名与文件名不一致会直接编译失败。
- 运行时报"找不到或无法加载主类":多半是写了
java Hello.class或当前目录不对。
第 3 步 选择编辑器或 IDE
工具只影响效率,不影响语法学习。
- 入门阶段:命令行 + 轻量编辑器(VS Code / Notepad++)足够,能看清"编译—运行"的全过程。
- IntelliJ IDEA(社区版免费):新建 Project → 选择 JDK → 新建 class → 右键 Run。适合做课程设计与调试。
- Eclipse:教材与实验指导常用,界面与 IDEA 不同但流程一致(新建 Java Project → 新建 Class → Run)。
- 无论哪种 IDE,都要确认它使用的 Project SDK 指向刚安装的 JDK,而不是自带 JRE。
常见报错
- IDE 提示"找不到 SDK":在 Project Structure 中手动指定 JDK 安装目录。
- IDE 能运行但命令行不行:说明 IDE 自带了运行时,命令行环境仍需单独配置。
第 4 步 安装 MySQL 并建库
数据库课的实验需要真实执行 SQL。
- Windows 可用 MySQL Installer(选 Server + Workbench),或安装 MariaDB;也可用 SQLite 做轻量替代(无需服务)。
- 安装时记住 root 密码与端口(默认 3306)。
-- 登录后建立教材使用的"学生—课程"库
CREATE DATABASE school DEFAULT CHARSET utf8mb4;
USE school;
CREATE TABLE Student (
Sno CHAR(9) PRIMARY KEY,
Sname VARCHAR(20),
Ssex CHAR(2),
Sage SMALLINT,
Sdept VARCHAR(20)
);
CREATE TABLE Course (
Cno CHAR(4) PRIMARY KEY,
Cname VARCHAR(40),
Cpno CHAR(4),
Ccredit SMALLINT
);
CREATE TABLE SC (
Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY (Sno, Cno),
FOREIGN KEY (Sno) REFERENCES Student(Sno),
FOREIGN KEY (Cno) REFERENCES Course(Cno)
);
INSERT INTO Student VALUES ('201215121','李勇','男',20,'CS'),
('201215122','刘晨','女',19,'CS'),
('201215123','王敏','女',18,'MA');
INSERT INTO Course VALUES ('1','数据库','5',4),('2','数学',NULL,2),('3','信息系统','1',4);
INSERT INTO SC VALUES ('201215121','1',92),('201215121','2',85),('201215122','1',90);
常见报错
- 中文乱码:建库时指定
utf8mb4,客户端连接也要使用相同字符集。 - Can't connect to MySQL server:服务未启动(Windows 服务中启动 MySQL80)或端口被占用。
- 外码约束失败:插入 SC 前必须先有对应的 Student 与 Course 记录。
第 5 步 引入 JDBC 驱动
让 Java 程序连上 MySQL。
- 下载 MySQL Connector/J(mysql-connector-j-8.x.jar),与 MySQL 8 搭配使用。
- 命令行方式:把 jar 放在项目目录,编译与运行时用 classpath 指定(Windows 分隔符为分号)。
- IDE 方式:把 jar 加入项目的依赖库(Module Dependencies / Build Path)。
// 驱动类名(MySQL 8) com.mysql.cj.jdbc.Driver // 连接 URL(注意时区参数,否则常见报时区错误) jdbc:mysql://localhost:3306/school?useSSL=false&serverTimezone=UTC // 命令行编译运行(Windows) javac -cp ".;mysql-connector-j-8.0.33.jar" Main.java java -cp ".;mysql-connector-j-8.0.33.jar" Main
常见报错
- ClassNotFoundException: com.mysql.cj.jdbc.Driver:jar 未加入 classpath。
- The server time zone value ... is unrecognized:在 URL 后加
serverTimezone=UTC。 - Access denied for user:用户名或密码错误,或该用户未被授权从本机登录。
- Public Key Retrieval is not allowed:URL 追加
allowPublicKeyRetrieval=true(仅实验环境使用)。
在线环境 vs 本地环境
两类环境都已就绪,按场景选用。
- Java 在线运行:已可用——服务器已安装 OpenJDK 17,打开 Java 在线运行环境 即可编译并执行代码(禁文件写入、网络与执行外部程序,超时自动中断)。
- SQL 在线练习:已可用——打开 SQL 在线沙盒,内置教材"学生—课程"三表数据,可即时执行 SELECT 并查看结果表。
- 仍需本地环境的场景:图形界面(Swing / AWT)、文件读写、JDBC 连接 MySQL、调试与单步执行——按本页前面的步骤配置本地 JDK 与 MySQL。
- 建议用法:在线沙盒用于快速验证语法与算法思路;课程作业与上机实验在本地完成,报错信息更完整。
要点
- 学习阶段建议优先用本地环境:报错信息完整、调试方便,也更接近课程上机要求。
- 把示例代码复制到本地后再运行,比只看不练效果好得多。