Java语法基础 #
一、注释 #
注释是程序中用于解释代码的文字,不会被编译器编译。
1.1 单行注释 #
使用 // 开头,注释到行末。
java
// 这是单行注释
int age = 25; // 这也是单行注释
1.2 多行注释 #
使用 /* */ 包围,可以跨越多行。
java
/*
* 这是多行注释
* 可以写很多行
* 用于详细说明
*/
int score = 100;
1.3 文档注释 #
使用 /** */ 包围,用于生成API文档。
java
/**
* 计算两个数的和
* @param a 第一个数
* @param b 第二个数
* @return 两数之和
*/
public int add(int a, int b) {
return a + b;
}
常用文档注释标签:
| 标签 | 说明 |
|---|---|
| @author | 作者 |
| @version | 版本 |
| @param | 参数说明 |
| @return | 返回值说明 |
| @throws | 抛出异常说明 |
| @see | 参见 |
| @since | 引入版本 |
1.4 注释最佳实践 #
java
// 好的注释:解释为什么这样做
// 使用二分查找提高查询效率,数据已排序
int index = binarySearch(array, target);
// 不好的注释:重复代码内容
// 设置年龄为25
age = 25;
// 好的注释:解释复杂逻辑
// 计算复利:A = P(1 + r/n)^(nt)
double amount = principal * Math.pow(1 + rate/n, n * years);
二、标识符 #
标识符是用于命名变量、方法、类、接口等的名称。
2.1 命名规则(必须遵守) #
- 由字母、数字、下划线(_)、美元符号($)组成
- 不能以数字开头
- 不能是Java关键字
- 区分大小写
- 长度无限制
java
// 合法标识符
int age;
int _name;
int $price;
int userName;
int UserAge;
// 非法标识符
int 123abc; // 不能以数字开头
int class; // 不能是关键字
int user-name; // 不能包含减号
int user name; // 不能包含空格
2.2 命名规范(建议遵守) #
| 类型 | 命名规范 | 示例 |
|---|---|---|
| 类名 | 大驼峰命名法 | HelloWorld, UserService |
| 方法名 | 小驼峰命名法 | getUserName, calculateTotal |
| 变量名 | 小驼峰命名法 | userName, totalCount |
| 常量名 | 全大写,下划线分隔 | MAX_VALUE, DEFAULT_TIMEOUT |
| 包名 | 全小写 | com.example.project |
2.3 命名建议 #
java
// 好的命名:见名知意
int studentAge;
String userName;
double accountBalance;
// 不好的命名:无意义
int a;
String s;
double d;
// 好的命名:布尔值用is/has开头
boolean isValid;
boolean hasPermission;
// 好的命名:集合用复数或List/Map结尾
List<String> userNames;
Map<String, User> userMap;
三、关键字 #
关键字是Java语言保留的单词,有特殊含义。
3.1 关键字列表 #
| 类别 | 关键字 |
|---|---|
| 访问控制 | private, protected, public |
| 类/方法/变量修饰 | abstract, class, extends, final, implements, interface, native, new, static, strictfp, synchronized, transient, volatile, enum |
| 程序控制 | break, case, continue, default, do, else, for, if, instanceof, return, switch, while |
| 错误处理 | try, catch, throw, throws, finally |
| 包相关 | import, package |
| 基本类型 | boolean, byte, char, double, float, int, long, short |
| 变量引用 | super, this, void |
| 保留字 | goto, const |
| 字面值 | true, false, null |
3.2 常用关键字详解 #
访问修饰符 #
java
public class Example {
private int privateVar; // 只能在本类访问
protected int protectedVar; // 同包和子类可访问
public int publicVar; // 任何地方可访问
int defaultVar; // 同包可访问(默认)
}
类相关 #
java
// class - 定义类
public class Person { }
// extends - 继承
public class Student extends Person { }
// implements - 实现接口
public class UserServiceImpl implements UserService { }
// interface - 定义接口
public interface UserService { }
// abstract - 抽象类或方法
public abstract class Animal { }
final关键字 #
java
// final变量:值不可改变(常量)
final int MAX_SIZE = 100;
// final方法:不能被重写
public final void doSomething() { }
// final类:不能被继承
public final class Constants { }
static关键字 #
java
public class Counter {
// 静态变量:属于类,所有对象共享
private static int count = 0;
// 静态方法:属于类,可直接调用
public static int getCount() {
return count;
}
// 静态代码块:类加载时执行
static {
count = 0;
}
}
3.3 保留字 #
goto 和 const 是保留字,目前未使用,不能用作标识符。
四、分隔符 #
4.1 分号(;) #
语句结束符,每条语句必须以分号结尾。
java
int a = 10;
System.out.println(a);
4.2 花括号({}) #
定义代码块,用于类体、方法体、循环体等。
java
public class Demo {
public void method() {
if (true) {
// 代码块
}
}
}
4.3 方括号([]) #
用于数组声明和访问。
java
int[] arr = new int[5];
arr[0] = 10;
4.4 圆括号(()) #
用于方法声明、调用、表达式分组。
java
public int add(int a, int b) { // 方法声明
return (a + b); // 表达式分组
}
int result = add(1, 2); // 方法调用
4.5 圆点(.) #
用于访问成员(属性、方法)。
java
System.out.println("Hello");
person.getName();
4.6 逗号(,) #
用于分隔变量声明、方法参数。
java
int a = 1, b = 2, c = 3;
public void method(int a, int b, int c) { }
五、代码规范 #
5.1 缩进 #
使用4个空格缩进,不使用Tab。
java
public class Demo {
public void method() {
if (true) {
System.out.println("Hello");
}
}
}
5.2 大括号风格 #
推荐K&R风格(左大括号不换行):
java
// 推荐
if (condition) {
doSomething();
}
// 不推荐
if (condition)
{
doSomething();
}
5.3 每行一条语句 #
java
// 推荐
int a = 1;
int b = 2;
// 不推荐
int a = 1; int b = 2;
5.4 空行使用 #
java
public class Demo {
private int id;
private String name;
public Demo() {
}
public void method1() {
}
public void method2() {
}
}
5.5 行长度限制 #
每行代码不超过120个字符,超长应换行:
java
// 换行示例
String message = "这是一段很长的字符串," +
"需要换行显示";
// 方法调用换行
int result = someObject.method1()
.method2()
.method3();
六、代码示例 #
综合示例:
java
package com.example.demo;
/**
* 用户类
* @author developer
* @version 1.0
*/
public class User {
// 常量
public static final int MAX_AGE = 150;
// 成员变量
private int id;
private String name;
private int age;
/**
* 构造方法
* @param id 用户ID
* @param name 用户名
* @param age 年龄
*/
public User(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
/**
* 获取用户信息
* @return 用户信息字符串
*/
public String getUserInfo() {
return String.format("ID: %d, 姓名: %s, 年龄: %d",
id, name, age);
}
public static void main(String[] args) {
User user = new User(1, "张三", 25);
System.out.println(user.getUserInfo());
}
}
七、总结 #
Java语法基础要点:
| 概念 | 要点 |
|---|---|
| 注释 | 单行(//)、多行(/* /)、文档(/* */) |
| 标识符 | 字母、数字、_、$组成,不能数字开头 |
| 关键字 | 保留字,有特殊含义 |
| 命名规范 | 类名大驼峰,方法变量小驼峰,常量全大写 |
| 代码规范 | 缩进4空格,每行一条语句,适当空行 |
良好的编码习惯从基础语法开始!
最后更新:2026-03-26