本系列教程将按照目录逐一深入 Java 核心知识,从基础语法到高级特性,每篇均附详细讲解与可运行代码示例。本篇作为开篇,带你全面认识 Java 语言,并完成第一个程序的编写与运行。
1. 什么是 Java?
Java 是由Sun Microsystems(现归属 Oracle)于 1995 年正式发布的一门面向对象、跨平台、高性能的编程语言。它由James Gosling领导开发,最初命名为Oak,后更名为 Java。
Java 的设计口号是“Write Once, Run Anywhere”(一次编写,到处运行),这一特性使其迅速成为企业级应用、移动开发(Android)、大数据(Hadoop)、金融系统等领域的首选语言之一。
2. Java 的主要特性
| 特性 | 说明 |
|---|---|
| 面向对象 | 支持封装、继承、多态,符合现实世界建模 |
| 平台无关性 | 通过 Java 虚拟机(JVM)屏蔽底层操作系统差异 |
| 自动内存管理 | 内置垃圾回收(GC),无需手动释放内存 |
| 健壮性 | 强类型、异常处理、空指针检查等机制 |
| 多线程支持 | 语言级内置多线程,便于开发高并发应用 |
| 安全性 | 提供沙箱模型、类加载器、字节码校验器等 |
| 丰富的 API | 标准库涵盖 I/O、网络、集合、并发、数据库等 |
3. Java 运行机制:JVM、JRE 与 JDK
要理解 Java 的跨平台原理,必须区分三个概念:
- JVM(Java Virtual Machine):执行 Java 字节码的虚拟计算机。不同操作系统有不同版本的 JVM,但字节码本身是统一的。
- JRE(Java Runtime Environment):包含 JVM 和运行 Java 程序所需的核心类库。如果只需运行程序,安装 JRE 即可。
- JDK(Java Development Kit):包含 JRE 外加开发工具(编译器
javac、调试器、文档生成器等)。开发 Java 必须安装 JDK。
执行流程:
源文件 (.java) → javac 编译 → 字节码 (.class) → JVM 解释/编译执行 → 运行结果4. 开发环境搭建(Windows / macOS / Linux)
4.1 下载 JDK
访问 Oracle JDK 下载页 或选择开源版本OpenJDK。建议使用 LTS 版本(如 Java 11、Java 17、Java 21)。
4.2 安装与配置环境变量
Windows:
- 运行安装包,记住安装路径(如
C:\Program Files\Java\jdk-21)。 - 打开“系统属性” → “高级” → “环境变量”。
- 新建系统变量
JAVA_HOME,值为 JDK 安装路径。 - 编辑
Path变量,添加%JAVA_HOME%\bin。 - 打开命令提示符,输入
java -version和javac -version验证。
- 运行安装包,记住安装路径(如
macOS / Linux:
使用包管理器(如 Homebrew 或 apt)安装,或手动解压 tar 包并设置JAVA_HOME和PATH。
4.3 选择开发工具(IDE)
- 入门推荐:使用文本编辑器(VS Code、Sublime)+ 命令行编译运行,加深理解。
- 专业开发:IntelliJ IDEA、Eclipse、NetBeans 等。
5. 第一个 Java 程序:Hello World
按照惯例,我们编写一个打印 “Hello, Java!” 的程序。
5.1 编写源代码
新建文件HelloWorld.java,内容如下:
/** * 第一个 Java 程序 * 文件名必须与 public 类名完全一致(HelloWorld) */publicclassHelloWorld{// main 方法是程序的入口,必须严格按照此格式publicstaticvoidmain(String[]args){// 向控制台输出文本System.out.println("Hello, Java!");// 演示基本数据类型和简单运算inta=10;intb=20;intsum=a+b;System.out.println("a + b = "+sum);}}5.2 编译与运行(命令行)
# 编译:生成 HelloWorld.class 字节码文件javac HelloWorld.java# 运行:启动 JVM 并执行字节码(不要加 .class 后缀)javaHelloWorld输出结果:
Hello, Java! a + b = 305.3 代码详解
public class HelloWorld:声明一个公共类,类名与文件名相同。public static void main(String[] args):Java 程序的入口方法,public表示可被 JVM 访问,static表示无需实例化,void表示无返回值,String[] args接收命令行参数。System.out.println():标准输出流,打印并换行。
6. 理解 Java 程序的基本结构
// 1. 包声明(可选)packagecom.example.demo;// 2. 导入其他类(可选)importjava.util.Scanner;// 3. 类定义(必须)publicclassMyClass{// 成员变量(属性)privateStringname;// 构造方法publicMyClass(Stringname){this.name=name;}// 方法publicvoidsayHello(){System.out.println("Hello, "+name);}// 入口方法(main)publicstaticvoidmain(String[]args){MyClassobj=newMyClass("World");obj.sayHello();}}7. Java 注释(为后续详细讲解铺垫)
Java 支持三种注释:
- 单行注释:
// 注释内容 - 多行注释:
/* 注释内容 */ - 文档注释:
/** 文档注释 */,可用javadoc生成 API 文档。
8. 常见问题与排错
| 错误现象 | 可能原因 | 解决方案 |
|---|---|---|
'javac' 不是内部或外部命令 | JDK 的 bin 目录未添加到 Path | 重新配置环境变量 |
错误: 找不到或无法加载主类 | 类名错误或未指定 classpath | 检查大小写,执行java HelloWorld(不加后缀) |
类 HelloWorld 是公共的,应在名为 HelloWorld.java 的文件中声明 | 类名与文件名不匹配 | 统一名称 |
9. 小结与预告
本篇我们了解了 Java 的历史、特性、运行原理,并亲手搭建了开发环境,写出了第一个 Java 程序。你已成功迈出 Java 学习的第一步。
下一篇我们将深入《Java 基础语法》,涵盖关键字、标识符、数据类型、变量、运算符、流程控制等核心知识,并配以大量代码示例。
📌 本系列所有代码均基于 Java 17 LTS 版本编写,建议读者使用相同或更高版本练习。如有疑问,欢迎在评论区交流讨论。
保持编码,持续进步!🚀