跳转到主要内容

Java基础入门:Hello World与环境搭建

📅 2026-07-08 📂 基础入门 ⏱ 3 min 631 words

Java基础入门:Hello World与环境搭建

什么是Java?

Java是一种广泛使用的面向对象编程语言,由Sun Microsystems于1995年开发。Java的设计理念是"一次编写,到处运行"(Write Once, Run Anywhere),这意味着Java程序可以在任何支持Java虚拟机(JVM)的平台上运行。

Java的优势

  1. 跨平台性:通过JVM实现"一次编写,到处运行"
  2. 面向对象:支持封装、继承、多态等面向对象特性
  3. 安全性:提供内存管理和异常处理机制
  4. 丰富的API:提供大量的类库和框架
  5. 强大的社区支持:拥有庞大的开发者社区和丰富的学习资源

开发环境搭建

1. 安装JDK

首先需要下载并安装Java Development Kit(JDK)。推荐使用Oracle JDK或OpenJDK。

# 检查Java版本
java -version

# 检查JDK版本
javac -version

2. 配置环境变量

在Windows系统中:

  1. 右键点击"此电脑" -> "属性" -> "高级系统设置"
  2. 点击"环境变量"
  3. 在系统变量中添加JAVA_HOME指向JDK安装目录
  4. 在Path变量中添加%JAVA_HOME%\bin

3. 选择IDE

推荐使用以下集成开发环境:

  • IntelliJ IDEA(推荐)
  • Eclipse
  • VS Code(安装Java扩展包)

第一个Java程序:Hello World

创建Java文件

创建一个名为HelloWorld.java的文件:

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

代码解析

  1. public class HelloWorld:定义一个公共类,类名必须与文件名相同
  2. public static void main(String[] args):主方法,程序执行的入口点
  3. System.out.println("Hello, World!"):输出"Hello, World!"到控制台

编译和运行

# 编译Java文件
javac HelloWorld.java

# 运行Java程序
java HelloWorld

输出结果:

Hello, World!

Java程序结构

// 导入语句
import java.util.Scanner;

// 类定义
public class ProgramStructure {
    // 成员变量
    private String name;
    
    // 构造方法
    public ProgramStructure(String name) {
        this.name = name;
    }
    
    // 成员方法
    public void sayHello() {
        System.out.println("Hello, " + name);
    }
    
    // 主方法
    public static void main(String[] args) {
        ProgramStructure ps = new ProgramStructure("Java");
        ps.sayHello();
    }
}

常见错误

1. 文件名与类名不匹配

// 错误:文件名为Hello.java,但类名为HelloWorld
public class HelloWorld {
    // ...
}

2. 缺少分号

// 错误:缺少分号
System.out.println("Hello World")  // 应该是 System.out.println("Hello World");

3. 大小写错误

// 错误:Java区分大小写
System.out.println("Hello World");  // 正确
system.out.println("Hello World");  // 错误

Java 21+ 新特性速览

Java 21 是最新的长期支持(LTS)版本,引入了众多现代化特性。了解这些新特性能让你写出更简洁、高效的代码。

虚拟线程(Virtual Threads)- Project Loom

虚拟线程是Java 21最重要的特性之一,它让并发编程变得极其简单高效:

// Java 21+ 虚拟线程示例
try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
    executor.submit(() -> {
        // 模拟网络请求
        Thread.sleep(1000);
        return "Hello from virtual thread";
    });
    executor.submit(() -> {
        Thread.sleep(1000);
        return "Hello from another virtual thread";
    });
}
// 所有任务完成后自动关闭

虚拟线程 vs 传统线程

特性 传统线程 虚拟线程
创建成本 高(操作系统级别) 极低(JVM级别)
数量限制 数千个 数百万个
阻塞影响 阻塞整个OS线程 不影响其他虚拟线程
适用场景 CPU密集型 I/O密集型

模式匹配(Pattern Matching)

// instanceof 模式匹配(Java 16+,Java 21完善)
Object obj = "Hello";
if (obj instanceof String s) {
    System.out.println(s.toUpperCase());  // 直接使用s,无需强制转换
}

// switch 模式匹配(Java 21正式GA)
String formatted = switch (obj) {
    case Integer i -> "int: " + i;
    case String s -> "string: " + s.length();
    case null -> "null";
    default -> "other: " + obj;
};

Records(记录类)

// 简洁的不可变数据载体
public record Person(String name, int age, String email) {}

// 使用
Person p = new Person("张三", 30, "zhangsan@example.com");
System.out.println(p.name());  // 访问字段
System.out.println(p);         // 自动toString: Person[name=张三, age=30, ...]

Sealed Classes(密封类)

// 限制子类范围
public sealed class Shape permits Circle, Rectangle, Triangle {
    abstract double area();
}

public final class Circle extends Shape {
    double radius;
    public double area() { return Math.PI * radius * radius; }
}

public non-sealed class Rectangle extends Shape {
    // 允许Rectangle的子类继续扩展
    double width, height;
    public double area() { return width * height; }
}

String Templates(字符串模板)- Java 21预览

// 使用STR.模板简化字符串拼接
String name = "Java";
String greeting = STR."Hello, \{name}! Welcome to Java 21.";

现代Java开发工具链

构建工具

工具 特点 适用场景
Maven 约定优于配置,生态成熟 传统企业项目
Gradle 灵活高效,基于Groovy/Kotlin DSL Android、大型项目
Apache Ant 老牌构建工具 遗留系统

JDK发行版选择

发行版 特点 推荐场景
Oracle JDK 商业支持,免费许可变更 企业商用
Eclipse Temurin 完全开源,社区支持 大多数场景
Amazon Corretto AWS维护,长期支持 AWS环境
Azul Zulu 免费社区版 开发测试
GraalVM 高性能,多语言支持 极致性能、Native Image

快速开始:使用SDKMAN!管理Java版本

# 安装SDKMAN!(macOS/Linux)
curl -s "https://get.sdkman.io" | bash

# 列出可用的Java版本
sdk list java

# 安装特定版本
sdk install java 21.0.3-tem

# 切换版本
sdk use java 21.0.3-tem

Java生态全景

主流框架

  • Spring Boot 3:企业级Java开发的事实标准,支持GraalVM Native Image
  • Quarkus:云原生Java框架,启动快、内存占用低
  • Micronaut:编译时依赖注入,适合Serverless场景
  • Helidon:Oracle推出的微服务框架

核心应用场景

领域 代表技术 市场份额
企业后端 Spring Boot, Jakarta EE 全球企业级开发第一
大数据 Hadoop, Spark, Kafka JVM生态核心
移动开发 Android SDK 全球第一大移动平台
云计算 AWS Lambda(Java), Serverless 持续增长

为什么学习Java?

  1. 就业机会多:全球前1000强企业约70%使用Java
  2. 语言设计优雅:面向对象思想的完美体现,学习Java有助于理解其他OOP语言
  3. 生态成熟:经过30年发展,几乎所有场景都有成熟的解决方案
  4. 性能持续优化:JIT编译器、GC算法不断迭代,Java 21+性能显著提升
  5. 向后兼容:Java以兼容性著称,老代码在新JVM上通常无需修改即可运行

总结

本教程介绍了Java的基础概念、开发环境搭建和第一个Java程序。Java作为一门成熟且广泛使用的编程语言,掌握其基础知识对于后续学习其他技术栈非常重要。记住多动手实践,编写代码是学习编程的最佳方式。