
目录 03 第一个程序——Hello World一、Hello World的由来二、编写第一个Java程序2.1 使用记事本编写了解原理2.2 使用IDEA编写推荐方式三、逐行解析代码3.1 逐行详解3.2 关键字说明四、main方法深度解析4.1 main方法的完整签名4.2 main方法的等价写法4.3 命令行参数4.4 main方法的本质五、编译与运行流程5.1 Java程序的生命周期5.2 编译详解5.3 运行详解5.4 反编译查看字节码六、在IDEA中运行6.1 创建项目6.2 创建类并运行6.3 IDEA快捷操作七、常见错误与解决方案7.1 编译错误7.2 运行错误7.3 常见错误汇总表7.4 编码错误问题八、进阶改进你的Hello World8.1 带有变量的Hello World8.2 使用用户输入8.3 使用方法封装九、Java程序的基本结构9.1 文件结构9.2 命名规则9.3 代码风格十、总结与预告✅ 本篇总结 互动问题 下篇预告 参考资料 03 第一个程序——Hello World更新日期2026年5月版权声明本文为原创文章转载请注明出处。© 2026 Java入门到精通系列一、Hello World的由来“Hello, World!” 程序是每个程序员学习新语言时编写的第一个程序。这个传统起源于1978年 Brian Kernighan 和 Dennis Ritchie 合著的《The C Programming Language》一书。几乎所有的编程入门教程都以此作为起点它可以帮助你✅ 验证开发环境是否正确配置✅ 了解语言的基本语法结构✅ 获得第一个成功的成就感二、编写第一个Java程序2.1 使用记事本编写了解原理第一步创建文件新建一个文件命名为HelloWorld.java。⚠️重要文件名必须与类名完全一致包括大小写第二步编写代码publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println(Hello, World!);}}第三步编译运行# 打开终端/命令提示符进入文件所在目录# 编译将 .java 编译为 .class 字节码文件javac HelloWorld.java# 运行注意不加 .class 后缀javaHelloWorld# 输出# Hello, World!2.2 使用IDEA编写推荐方式1. 打开 IntelliJ IDEA 2. File → New → Project → Java → 选择JDK 21 3. 项目名HelloWorldDemo 4. 在 src 目录上右键 → New → Java Class 5. 输入类名HelloWorld 6. 输入代码并运行点击绿色三角或ShiftF10三、逐行解析代码publicclassHelloWorld{// 第1行类声明publicstaticvoidmain(String[]args){// 第2行主方法System.out.println(Hello, World!);// 第3行输出语句}// 第4行主方法结束}// 第5行类结束3.1 逐行详解行号代码说明1public class HelloWorld声明一个公开的类类名为HelloWorld1{类的开始2public static void main(String[] args)主方法程序的入口点3System.out.println(Hello, World!)向控制台输出一行文字4}主方法结束5}类结束3.2 关键字说明关键字含义说明public访问修饰符表示公开的任何地方都能访问class类声明一个类Java程序的基本单位static静态表示该方法属于类而非实例void无返回值表示main方法不返回任何值String[]字符串数组命令行参数的类型四、main方法深度解析main方法是Java程序的入口点JVM从这里开始执行代码。4.1 main方法的完整签名publicstaticvoidmain(String[]args)逐个关键字分析public// 1. 公开访问权限JVM需要调用它static// 2. 静态方法无需创建对象即可调用void// 3. 无返回值main不需要向JVM返回结果main// 4. 方法名JVM固定识别的入口名String[]// 5. 参数类型字符串数组args// 6. 参数名可以改成其他名字但约定俗成用args4.2 main方法的等价写法以下写法都是合法的main方法声明// 标准写法publicstaticvoidmain(String[]args){}// args可以换成其他名字publicstaticvoidmain(String[]arguments){}// 可变参数写法Java 5publicstaticvoidmain(String...args){}// 以下写法是不合法的 ❌// static public void main(String[] args) { } // 修饰符顺序不规范但编译能过// public void main(String[] args) { } // 缺少static// public static void main(String args) { } // 缺少[]4.3 命令行参数publicclassCommandLineArgs{publicstaticvoidmain(String[]args){// args数组包含命令行传入的参数System.out.println(参数个数args.length);for(inti0;iargs.length;i){System.out.println(参数iargs[i]);}}}运行方式javac CommandLineArgs.javajavaCommandLineArgs Hello Java2026# 输出# 参数个数3# 参数0Hello# 参数1Java# 参数220264.4 main方法的本质┌──────────────────────────────────────────────┐ │ JVM │ │ │ │ 1. 加载 HelloWorld.class │ │ 2. 查找 public static void main(String[]) │ │ 3. 调用 main 方法 │ │ 4. 执行 main 方法中的代码 │ │ 5. main 方法执行完毕程序结束 │ │ │ └──────────────────────────────────────────────┘五、编译与运行流程5.1 Java程序的生命周期源代码(.java) → 编译(javac) → 字节码(.class) → 运行(java) → 结果详细流程编译期 运行期 ┌──────────────┐ ┌──────────────────┐ │ │ │ │ HelloWorld.java → javac → HelloWorld.class → java → JVM加载执行 → 输出结果 │ │ │ │ │ 词法分析 │ │ 类加载器加载 │ │ 语法分析 │ │ 字节码验证 │ │ 语义分析 │ │ 解释/JIT编译 │ │ 生成字节码 │ │ 执行代码 │ └──────────────┘ └──────────────────┘5.2 编译详解# 编译命令javac HelloWorld.java# 编译选项javac-encodingUTF-8 HelloWorld.java# 指定编码javac-dout HelloWorld.java# 指定输出目录javac-verboseHelloWorld.java# 显示详细信息# 编译成功后会生成 HelloWorld.class 文件# 这个文件包含字节码是平台无关的5.3 运行详解# 运行命令javaHelloWorld# 注意运行时不加 .class 后缀# 运行时的内部过程# 1. JVM启动# 2. 类加载器ClassLoader加载HelloWorld.class# 3. 字节码验证器验证字节码的合法性# 4. 执行引擎解释器/JIT编译器执行字节码# 5. 找到main方法并开始执行5.4 反编译查看字节码# 使用javap查看字节码javap-cHelloWorld.class# 输出简化版# Compiled from HelloWorld.java# public class HelloWorld {# public HelloWorld();# Code:# 0: aload_0# 1: invokespecial #1# 4: return## public static void main(java.lang.String[]);# Code:# 0: getstatic #2 // Field java/lang/System.out# 3: ldc #3 // String Hello, World!# 5: invokevirtual #4 // Method PrintStream.println# 8: return# }六、在IDEA中运行6.1 创建项目1. File → New → Project 2. 选择 Java 3. 选择 JDK 21 4. 项目名HelloWorldDemo 5. Build systemIntelliJ初学者推荐 6. 点击 Create6.2 创建类并运行1. 在 src 目录上右键 → New → Java Class 2. 类名输入HelloWorld 3. 输入代码 public class HelloWorld { public static void main(String[] args) { System.out.println(Hello, World!); } } 4. 点击 main 方法左侧的绿色三角 ▶ 5. 选择 Run HelloWorld.main() 6. 在底部控制台查看输出6.3 IDEA快捷操作操作快捷键Mac快捷键Win/Linux运行Ctrl RShift F10调试Ctrl DShift F9代码补全Ctrl SpaceCtrl Space格式化Cmd Option LCtrl Alt L生成代码Cmd NAlt Insert快速修复Option EnterAlt Enter七、常见错误与解决方案7.1 编译错误错误1找不到文件javac HelloWorld.java# 错误javac: file not found: HelloWorld.java# 解决# 1. 检查文件名是否正确大小写敏感# 2. 检查当前目录是否正确# 3. 使用 cd 命令切换到文件所在目录错误2类名与文件名不一致# 文件名Hello.java# 代码public class HelloWorld { ... }# 错误HelloWorld.java 中的类 HelloWorld 必须在其同名文件中声明# 解决让文件名与类名保持一致# 方式一改文件名为 HelloWorld.java# 方式二改类名为 Hello错误3缺少分号publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println(Hello, World!)// 缺少分号}}// 错误需要 ;错误4中英文标点混淆// ❌ 错误使用了中文分号System.out.println(Hello)// ✅ 正确使用英文分号System.out.println(Hello);7.2 运行错误错误5找不到主类javaHello World# 错误找不到或无法加载主类 Hello World# 原因类名中间有空格被当成了两个参数# 解决java HelloWorld错误6在错误目录运行# 在错误的目录下运行javaHelloWorld# 错误找不到或无法加载主类 HelloWorld# 解决切换到 .class 文件所在目录cd/path/to/your/class/filesjavaHelloWorld7.3 常见错误汇总表错误类型错误信息解决方案文件名错误file not found检查文件名和路径类名不匹配类必须在同名文件中文件名与类名保持一致缺少分号需要;在语句末尾添加英文分号中文符号非法字符使用英文标点符号大括号不匹配解析时已到达文件结尾检查{}是否配对找不到主类找不到或无法加载主类检查类名和classpath版本不兼容UnsupportedClassVersionError编译和运行使用相同JDK版本7.4 编码错误问题# 如果代码中有中文注释可能遇到编码错误# 错误编码 GBK 的不可映射字符# 解决指定UTF-8编码javac-encodingUTF-8 HelloWorld.java八、进阶改进你的Hello World8.1 带有变量的Hello WorldpublicclassHelloWorldWithVariables{publicstaticvoidmain(String[]args){// 声明变量StringgreetingHello;StringtargetWorld;intyear2026;// 字符串拼接System.out.println(greeting, target!);// 格式化输出System.out.println(欢迎来到Java世界现在是year年);// 多行输出System.out.println();System.out.println(| Hello World! |);System.out.println(| Java is Cool! |);System.out.println();}}输出Hello, World! 欢迎来到Java世界现在是2026年 | Hello World! | | Java is Cool! | 8.2 使用用户输入importjava.util.Scanner;publicclassInteractiveHello{publicstaticvoidmain(String[]args){// 创建Scanner对象用于读取用户输入ScannerscannernewScanner(System.in);System.out.print(请输入你的名字);Stringnamescanner.nextLine();System.out.println(你好name欢迎学习Java);System.out.println(当前时间java.time.LocalDateTime.now());scanner.close();}}8.3 使用方法封装publicclassHelloWithMethods{publicstaticvoidmain(String[]args){// 调用自定义方法sayHello(World);sayHello(Java);sayHello(开发者);// 带返回值的方法StringmessagecreateGreeting(World);System.out.println(message);}// 自定义方法无返回值publicstaticvoidsayHello(Stringname){System.out.println(Hello, name!);}// 自定义方法有返回值publicstaticStringcreateGreeting(Stringname){returnHello, name! Welcome to Java!;}}九、Java程序的基本结构9.1 文件结构// 1. package语句可选表示包/目录packagecom.example;// 2. import语句可选导入其他类importjava.util.Scanner;importjava.time.LocalDateTime;// 3. 类声明必须一个文件通常一个public类publicclassMyProgram{// 4. 成员变量可选privateStringname;privateintage;// 5. 构造方法可选publicMyProgram(Stringname,intage){this.namename;this.ageage;}// 6. 主方法程序入口publicstaticvoidmain(String[]args){// 程序从这里开始执行System.out.println(程序开始运行);MyProgramprogramnewMyProgram(Java,30);program.greet();}// 7. 自定义方法可选publicvoidgreet(){System.out.println(Hello, Im name, age years old.);}}9.2 命名规则元素命名规则示例类名大驼峰PascalCaseHelloWorld,StudentInfo方法名小驼峰camelCasesayHello,getAge变量名小驼峰camelCasestudentName,maxAge常量名全大写下划线MAX_VALUE,PI包名全小写com.example.demo9.3 代码风格// ✅ 好的代码风格publicclassGoodStyle{privatestaticfinalintMAX_COUNT100;publicstaticvoidmain(String[]args){StringuserNameJava Learner;intscore95;if(score60){System.out.println(userName 通过了考试);}else{System.out.println(userName 需要继续努力);}}}// ❌ 不好的代码风格publicclassbadstyle{privatestaticfinalintmax_count100;// 常量应用全大写publicstaticvoidmain(String[]args){Stringuser_nameJava Learner;// 变量应用小驼峰ints95;// 缺少空格变量名不清晰if(s60){// 缺少空格System.out.println(user_name通过了考试);}}}十、总结与预告✅ 本篇总结✅ 编写了第一个Java程序Hello World✅ 逐行解析了代码中每个关键字的含义✅ 深入理解了main方法的作用和结构✅ 了解了Java程序的编译和运行流程✅ 学会了在IDEA中创建和运行项目✅ 掌握了常见错误的排查方法✅ 了解了Java程序的基本结构和命名规范 互动问题你在运行Hello World时遇到了什么错误public static void main(String[] args)中每个关键字的作用是什么.java文件和.class文件有什么区别 下篇预告第04篇变量与数据类型我们将学习什么是变量如何声明和初始化变量Java的八大基本数据类型类型转换自动和强制变量的作用域和命名规范 参考资料Oracle Java教程 - Hello WorldJava语言规范IntelliJ IDEA入门教程系列目录Java入门到精通系列 |上一篇02-环境搭建JDK安装与配置 |下一篇04-变量与数据类型