编程入门
Java 入门教程:从零开始学 Java
零基础学 JavaScript 异步编程:从回调到 async/await
Rust 所有权与借用机制入门
Go 语言零基础教程 - 并发编程入门
Go 语言入门教程:并发编程基础(Goroutine 与 Channel)
Python 零基础入门:从第一行代码到独立编程
本站点使用 MrDoc 构建
-
+
Java 入门教程:从零开始学 Java
> 分类:编程入门 | 语言:Java | 难度:⭐ 零基础 ## 学习目标 学完本篇,你将能够: - ✅ 理解 Java 的运行机制和"一次编译,处处运行" - ✅ 安装 JDK 并配置环境变量 - ✅ 编写、编译、运行第一个 Java 程序 - ✅ 掌握基本语法、数据类型和流程控制 - ✅ 避开新手最常见的 5 个坑 --- ## 前置知识 本教程面向**零基础**读者,你只需要: - 一台电脑(Windows / macOS / Linux 均可) - 基本的文件操作能力(新建文件夹、打开终端) - 不需要任何编程经验 --- ## 一、Java 程序的执行流程 Java 之所以能跨平台,核心在于它的**两步执行**机制:先编译成字节码,再由 JVM 解释执行。  1. 编写 `.java` 源文件 2. 用 `javac` 编译为 `.class` 字节码 3. JVM 加载字节码并运行 > 💡 不同操作系统装不同的 JVM,但字节码是通用的——这就是"一次编译,处处运行"。 --- ## 二、安装 JDK ### 1. 下载 前往 [Oracle JDK 下载页](https://www.oracle.com/java/technologies/downloads/) 或使用开源的 [Adoptium JDK](https://adoptium.net/),选择 JDK 17(LTS)。 ### 2. 安装与配置 **Windows:** ```bash # 下载 .msi 安装包,双击安装 # 配置环境变量 JAVA_HOME = C:\Program Files\Java\jdk-17 # 将 %JAVA_HOME%\bin 添加到 Path ``` **macOS / Linux:** ```bash # macOS (Homebrew) brew install openjdk@17 # Ubuntu / Debian sudo apt install openjdk-17-jdk ``` ### 3. 验证 ```bash java -version # openjdk version "17.0.x" javac -version # javac 17.0.x ``` 看到版本号就说明安装成功 ✅ --- ## 三、Hello World ### 1. 编写代码 新建文件 `HelloWorld.java`: ```java public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` ### 2. 编译运行 ```bash javac HelloWorld.java # 编译,生成 HelloWorld.class java HelloWorld # 运行,输出 Hello, World! ``` ### ⚠️ 注意事项 - 文件名必须和 `public class` 的名字**完全一致**(区分大小写) - `main` 方法签名是固定的:`public static void main(String[] args)` - 每条语句以**分号**结尾 --- ## 四、基本语法 ### 4.1 注释 ```java // 单行注释 /* * 多行注释 * 可以写很多行 */ /** * 文档注释(用于生成 API 文档) */ ``` ### 4.2 变量与常量 ```java // 变量 int age = 25; String name = "小明"; // 常量(不可修改) final double PI = 3.14159; ``` ### 4.3 命名规范 | 类型 | 规范 | 示例 | |------|------|------| | 类名 | 大驼峰 | `HelloWorld` | | 方法/变量 | 小驼峰 | `getUserName` | | 常量 | 全大写+下划线 | `MAX_SIZE` | --- ## 五、数据类型 Java 是**强类型语言**,每个变量必须声明类型。  ### 5.1 基本类型(8 种) | 类型 | 大小 | 范围 | 示例 | |------|------|------|------| | `byte` | 1 字节 | -128 ~ 127 | `byte b = 100;` | | `short` | 2 字节 | -32768 ~ 32767 | `short s = 30000;` | | `int` | 4 字节 | ±21 亿 | `int i = 42;` | | `long` | 8 字节 | ±922 亿亿 | `long l = 999999L;` | | `float` | 4 字节 | 6~7 位精度 | `float f = 3.14f;` | | `double` | 8 字节 | 15 位精度 | `double d = 3.14;` | | `char` | 2 字节 | Unicode 字符 | `char c = 'A';` | | `boolean` | 1 位 | true / false | `boolean ok = true;` | ### 5.2 引用类型 ```java String greeting = "你好,Java!"; // 字符串 int[] scores = {90, 85, 78}; // 数组 Object obj = new Object(); // 对象 ``` > 💡 `String` 不是基本类型!它是引用类型,但 Java 对它有特殊优化。 --- ## 六、流程控制 ### 6.1 条件语句 ```java // if-else int score = 85; if (score >= 90) { System.out.println("优秀"); } else if (score >= 60) { System.out.println("及格"); } else { System.out.println("不及格"); } // switch String day = "MON"; switch (day) { case "MON": System.out.println("周一"); break; case "FRI": System.out.println("周五"); break; default: System.out.println("其他"); } ``` ### 6.2 循环语句 ```java // for 循环 for (int i = 1; i <= 5; i++) { System.out.println("第 " + i + " 次循环"); } // while 循环 int n = 10; while (n > 0) { n -= 2; } // for-each(遍历数组) int[] nums = {1, 2, 3, 4, 5}; for (int num : nums) { System.out.println(num); } ``` ### 6.3 break 与 continue ```java for (int i = 0; i < 10; i++) { if (i == 3) continue; // 跳过 3 if (i == 7) break; // 到 7 就停 System.out.println(i); // 输出 0 1 2 4 5 6 } ``` --- ## 七、动手练习 ### 练习 1:温度转换 编写程序,将摄氏度转为华氏度:`F = C * 9 / 5 + 32` <details> <summary>参考答案</summary> ```java public class Temperature { public static void main(String[] args) { double celsius = 36.5; double fahrenheit = celsius * 9 / 5 + 32; System.out.println(celsius + "°C = " + fahrenheit + "°F"); } } ``` </details> ### 练习 2:猜数字逻辑 生成 1~100 的随机数,用循环模拟最多 7 次猜测机会(此处仅演示逻辑,暂不涉及输入): <details> <summary>参考答案</summary> ```java public class GuessNumber { public static void main(String[] args) { int target = (int)(Math.random() * 100) + 1; int[] guesses = {50, 75, 62, 68, 71, 70, 69}; for (int i = 0; i < guesses.length; i++) { int g = guesses[i]; if (g == target) { System.out.println("第" + (i+1) + "次猜中!"); break; } else if (g < target) { System.out.println(g + " 太小了"); } else { System.out.println(g + " 太大了"); } } } } ``` </details> --- ## 八、常见新手误区 | # | 误区 | 正解 | |---|------|------| | 1 | 文件名随便取 | 文件名必须和 public class 名一致 | | 2 | 忘写 `;` | 每条语句必须以分号结尾 | | 3 | `==` 比较字符串 | 字符串用 `.equals()` 比较 | | 4 | `int` 做除法丢精度 | `5 / 2 = 2`,需要 `5.0 / 2` | | 5 | 数组越界 | 数组索引从 0 开始,最大是 `length - 1` | ```java // 经典坑:字符串比较 String a = new String("hello"); String b = new String("hello"); System.out.println(a == b); // false ❌ 比较的是地址 System.out.println(a.equals(b)); // true ✅ 比较的是内容 ``` --- ## 九、下一步 你已经掌握了 Java 的基础!接下来可以: 1. 🔧 **方法与数组** — 学会封装逻辑、处理批量数据 2. 🏗️ **面向对象** — 类、继承、多态,Java 的灵魂 3. 📦 **常用 API** — String、ArrayList、HashMap 4. 🧪 **刷题练习** — LeetCode 简单题巩固语法 > 🎯 学习编程最好的方式是**动手写**。每学一个知识点,就写一个小程序验证它。 --- *本教程由 AI 自动生成,内容经人工审核。如有疑问欢迎反馈!*
admin
2026年5月16日 18:20
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码