Skip to content

📝 Java 基础语法

程序结构

基本程序结构

java
// 包声明(可选)
package com.example;

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

// 类声明
public class HelloWorld {
    // 主方法 - 程序入口
    public static void main(String[] args) {
        // 程序代码
        System.out.println("Hello, World!");
    }
}

程序组成部分

  1. 包声明:定义类所在的包
  2. 导入语句:引入其他包的类
  3. 类声明:定义类
  4. 方法:类中的功能块
  5. 语句:执行具体操作

命名规范

标识符规则

  • 必须以字母、下划线 _ 或美元符号 $ 开头
  • 后续字符可以是字母、数字、下划线或美元符号
  • 不能使用 Java 关键字
  • 区分大小写
  • 没有长度限制

合法标识符示例

java
int age;           // ✅ 合法
int _count;        // ✅ 合法
int $value;        // ✅ 合法
int user_name;     // ✅ 合法
int user2;         // ✅ 合法

不合法标识符示例

java
int 2age;          // ❌ 不能以数字开头
int user-name;      // ❌ 不能使用连字符
int class;         // ❌ 不能使用关键字
int public;        // ❌ 不能使用关键字

关键字

Java 语言中的保留字,不能用作标识符:

java
// 数据类型关键字
byte, short, int, long, float, double, char, boolean, void

// 访问控制
private, protected, public

// 类、方法、变量修饰符
abstract, class, extends, final, implements, interface, native, new, static, 
strictfp, synchronized, transient, volatile

// 程序控制
break, case, continue, default, do, else, for, if, instanceof, return, switch, while

// 错误处理
assert, catch, finally, throw, throws, try

// 包相关
import, package

// 其他
super, this, enum, const, goto

注释

单行注释

java
// 这是单行注释
int age = 25; // 变量赋值

多行注释

java
/*
 * 这是多行注释
 * 可以写多行内容
 * 用于解释复杂逻辑
 */
int x = 10;

文档注释

java
/**
 * 这是文档注释
 * 用于生成 API 文档
 * 
 * @param name 用户名
 * @return 问候语
 */
public String greet(String name) {
    return "Hello, " + name;
}

包(Package)

包的作用

  • 组织类和接口
  • 避免命名冲突
  • 控制访问权限

包声明

java
package com.example.util;

public class StringUtils {
    // ...
}

包命名规范

  • 使用小写字母
  • 使用点号分隔
  • 通常使用域名倒序(如 com.example.project
  • 避免使用 Java 关键字

导入包

java
// 导入单个类
import java.util.ArrayList;

// 导入包中所有类(不推荐)
import java.util.*;

// 静态导入
import static java.lang.Math.PI;
import static java.lang.Math.sqrt;

类(Class)

类的基本结构

java
// 访问修饰符 class 类名 {
//     成员变量
//     构造方法
//     成员方法
// }

public class Student {
    // 成员变量
    private String name;
    private int age;
    
    // 构造方法
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    // 成员方法
    public void display() {
        System.out.println("姓名: " + name + ", 年龄: " + age);
    }
}

主类

包含 main 方法的类称为主类:

java
public class Main {
    public static void main(String[] args) {
        // 程序入口
    }
}

方法(Method)

方法定义

java
// 访问修饰符 返回类型 方法名(参数列表) {
//     方法体
//     return 返回值; // 如果有返回值
// }

public int add(int a, int b) {
    return a + b;
}

方法示例

java
// 无返回值方法
public void printMessage() {
    System.out.println("Hello");
}

// 有返回值方法
public int multiply(int x, int y) {
    return x * y;
}

// 无参数方法
public String getName() {
    return "Java";
}

// 多参数方法
public void greet(String name, int age) {
    System.out.println("Hello, " + name + ", you are " + age + " years old.");
}

方法调用

java
public class MethodDemo {
    public static void main(String[] args) {
        // 调用静态方法
        int sum = Math.addExact(5, 3);
        
        // 调用实例方法
        MethodDemo demo = new MethodDemo();
        demo.display();
    }
    
    public void display() {
        System.out.println("实例方法");
    }
}

语句

语句类型

1. 声明语句

java
int age;
String name;
double price = 99.99;

2. 表达式语句

java
age = 25;
count++;
result = a + b;

3. 控制语句

java
if (age >= 18) {
    System.out.println("成年人");
}

for (int i = 0; i < 10; i++) {
    System.out.println(i);
}

4. 方法调用语句

java
System.out.println("Hello");
Math.max(5, 10);

语句块

使用花括号 {} 定义语句块:

java
{
    int x = 10;
    int y = 20;
    int sum = x + y;
    System.out.println(sum);
}

代码风格

缩进

使用 4 个空格或 1 个 Tab(推荐使用空格):

java
public class Example {
    public void method() {
        if (condition) {
            System.out.println("Hello");
        }
    }
}

大括号位置

Java 标准风格:左大括号与声明在同一行

java
// ✅ 推荐
public class Example {
    public void method() {
        // ...
    }
}

// ❌ 不推荐
public class Example 
{
    public void method() 
    {
        // ...
    }
}

命名约定

java
// 类名:大驼峰(PascalCase)
public class StudentManager {}

// 方法名和变量名:小驼峰(camelCase)
public void calculateTotal() {}
int studentCount = 0;

// 常量:全大写,下划线分隔
public static final int MAX_SIZE = 100;
public static final String DEFAULT_NAME = "Unknown";

// 包名:全小写,点号分隔
package com.example.util;

代码组织

java
// 1. 包声明
package com.example;

// 2. 导入语句
import java.util.List;
import java.util.ArrayList;

// 3. 类声明
public class Example {
    // 4. 静态变量
    private static int count = 0;
    
    // 5. 实例变量
    private String name;
    
    // 6. 构造方法
    public Example() {}
    
    // 7. 方法
    public void method() {}
}

转义字符

java
System.out.println("Hello\nWorld");    // \n 换行
System.out.println("Tab\tHere");        // \t 制表符
System.out.println("Quote\"Here\"");    // \" 双引号
System.out.println("Backslash\\");      // \\ 反斜杠
System.out.println("Single\'Quote\'");  // \' 单引号
System.out.println("Carriage\rReturn"); // \r 回车

代码示例

完整示例

java
package com.example.basics;

import java.util.Scanner;

public class BasicSyntaxDemo {
    // 类变量
    private static int globalCount = 0;
    
    // 实例变量
    private String name;
    
    // 构造方法
    public BasicSyntaxDemo(String name) {
        this.name = name;
        globalCount++;
    }
    
    // 实例方法
    public void displayInfo() {
        System.out.println("名称: " + name);
        System.out.println("计数: " + globalCount);
    }
    
    // 静态方法
    public static int add(int a, int b) {
        return a + b;
    }
    
    // 主方法
    public static void main(String[] args) {
        // 创建对象
        BasicSyntaxDemo demo1 = new BasicSyntaxDemo("对象1");
        BasicSyntaxDemo demo2 = new BasicSyntaxDemo("对象2");
        
        // 调用方法
        demo1.displayInfo();
        demo2.displayInfo();
        
        // 调用静态方法
        int result = add(5, 3);
        System.out.println("5 + 3 = " + result);
    }
}

常见错误

1. 类名与文件名不匹配

java
// 文件名:Hello.java
// ❌ 错误
public class World {
    // ...
}

// ✅ 正确
public class Hello {
    // ...
}

2. 缺少分号

java
// ❌ 错误
int age = 25

// ✅ 正确
int age = 25;

3. 大括号不匹配

java
// ❌ 错误
public void method() {
    if (condition) {
        // ...
    // 缺少右大括号

// ✅ 正确
public void method() {
    if (condition) {
        // ...
    }
}

下一步

掌握了基础语法后,可以继续学习:


💡 提示:良好的代码风格和命名规范是编写可读代码的基础