Skip to content

第一个Java程序

Hello World程序

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

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

程序结构解析

类定义

java
public class HelloWorld {
    // 类体
}
  • public:访问修饰符,表示类公开
  • class:关键字,声明一个类
  • HelloWorld:类名,必须与文件名相同

main方法

java
public static void main(String[] args) {
    // 方法体
}
关键字说明
public公开方法,可被外部调用
static静态方法,属于类而非对象
void无返回值
main方法名,程序入口点
String[] args命令行参数

输出语句

java
System.out.println("Hello, World!");
  • System:系统类
  • out:标准输出流
  • println():打印并换行

编译与运行

手动编译运行

bash
# 编译(生成HelloWorld.class字节码文件)
javac HelloWorld.java

# 运行
java HelloWorld

输出:

Hello, World!

带包名的类

java
package com.example;

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

编译运行:

bash
# 编译
javac -d . HelloWorld.java

# 运行(使用完整类名)
java com.example.HelloWorld

传递命令行参数

java
public class ArgsDemo {
    public static void main(String[] args) {
        System.out.println("参数个数: " + args.length);
        for (int i = 0; i < args.length; i++) {
            System.out.println("args[" + i + "] = " + args[i]);
        }
    }
}

运行:

bash
java ArgsDemo Hello Java World

输出:

参数个数: 3
args[0] = Hello
args[1] = Java
args[2] = Java

输出方法对比

java
public class PrintDemo {
    public static void main(String[] args) {
        // println - 打印后换行
        System.out.println("第一行");
        System.out.println("第二行");
        
        // print - 打印不换行
        System.out.print("Hello ");
        System.out.print("Java\n");
        
        // printf - 格式化输出
        String name = "张三";
        int age = 25;
        System.out.printf("姓名: %s, 年龄: %d%n", name, age);
    }
}

常用格式化占位符

占位符说明示例
%d整数%d → 100
%f浮点数%.2f → 3.14
%s字符串%s → "Hello"
%c字符%c → 'A'
%b布尔值%b → true
%n换行平台无关换行
%%百分号%% → %

代码规范

命名规范

类型规范示例
类名大驼峰命名HelloWorldUserService
方法名小驼峰命名getUserNamecalculateTotal
变量名小驼峰命名userNametotalCount
常量名全大写+下划线MAX_VALUEDEFAULT_TIMEOUT
包名全小写com.example.service

代码格式

java
public class CodeStyle {
    // 常量定义
    public static final int MAX_COUNT = 100;
    
    // 成员变量
    private String name;
    private int age;
    
    // 构造方法
    public CodeStyle(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    // 方法
    public void printInfo() {
        // 缩进4个空格
        if (age > 0) {
            System.out.println(name + ": " + age);
        }
    }
}

注释

java
/**
 * 类注释 - 描述类的功能
 * @author 作者
 * @version 版本
 */
public class CommentDemo {
    
    /**
     * 方法注释 - 描述方法的功能
     * @param name 参数说明
     * @return 返回值说明
     */
    public String greet(String name) {
        // 单行注释
        return "Hello, " + name;
    }
    
    public void demo() {
        /*
         * 多行注释
         * 可以跨越多行
         */
        System.out.println("Demo");
    }
}

使用IDE开发

IntelliJ IDEA快捷键

快捷键功能
psvm + Tab快速生成main方法
sout + Tab快速生成输出语句
Ctrl + Shift + F10运行当前类
Ctrl + D复制当前行
Ctrl + Y删除当前行
Ctrl + Alt + L格式化代码
Ctrl + /注释/取消注释

代码模板

java
// 输入main后按Tab
public static void main(String[] args) {
    
}

// 输入sout后按Tab
System.out.println();

// 输入fori后按Tab
for (int i = 0; i < ; i++) {
    
}

常见错误

1. 文件名与类名不一致

java
// 文件名: Test.java
public class HelloWorld {  // 错误:类名应为Test
    public static void main(String[] args) {
        System.out.println("Hello");
    }
}

2. main方法签名错误

java
// 错误写法
public void main(String[] args) { }      // 缺少static
public static void main(String args) { } // 参数类型错误
static void main(String[] args) { }      // 缺少public

// 正确写法
public static void main(String[] args) { }

3. 漏掉分号

java
System.out.println("Hello")  // 错误:缺少分号
System.out.println("Hello"); // 正确

4. 大小写错误

java
system.out.println("Hello");  // 错误:system应为System
System.out.Println("Hello");  // 错误:Println应为println