第一个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 | 换行 | 平台无关换行 |
%% | 百分号 | %% → % |
代码规范
命名规范
| 类型 | 规范 | 示例 |
|---|---|---|
| 类名 | 大驼峰命名 | HelloWorld、UserService |
| 方法名 | 小驼峰命名 | getUserName、calculateTotal |
| 变量名 | 小驼峰命名 | userName、totalCount |
| 常量名 | 全大写+下划线 | MAX_VALUE、DEFAULT_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