Appearance
基础语法
本章将介绍 Java 的基础语法,包括关键字、标识符、注释、变量和常量等基本概念。
关键字
关键字是 Java 语言中已经被赋予特定含义的单词,不能用作标识符。
关键字列表
text
┌─────────────────────────────────────────────────────────────────┐
│ Java 关键字分类 │
├─────────────────────────────────────────────────────────────────┤
│ 访问控制:private protected public │
│ 类相关: class extends implements interface abstract│
│ 方法相关:static final void native synchronized│
│ 流程控制:if else switch case default │
│ for while do break continue│
│ return instanceof │
│ 异常处理:try catch finally throw throws │
│ 包相关: package import │
│ 基本类型:byte short int long float │
│ double char boolean │
│ 引用类型:this super new │
│ 其他: true false null strictfp transient│
│ volatile assert goto const │
└─────────────────────────────────────────────────────────────────┘关键字使用示例
java
public class KeywordDemo {
// private:私有访问修饰符
private String name;
// static:静态成员,属于类而不是对象
public static int count = 0;
// final:不可改变的,常量
public static final double PI = 3.14159;
// void:无返回值
public void display() {
System.out.println("Name: " + name);
}
}标识符
标识符是给类、方法、变量等起名字时使用的字符序列。
命名规则
text
┌─────────────────────────────────────────────────────────────────┐
│ 标识符命名规则 │
├─────────────────────────────────────────────────────────────────┤
│ 1. 由字母、数字、下划线(_)、美元符号($)组成 │
│ 2. 不能以数字开头 │
│ 3. 不能是 Java 关键字 │
│ 4. 区分大小写 │
│ 5. 长度无限制,但不宜过长 │
└─────────────────────────────────────────────────────────────────┘合法与非法标识符
java
public class IdentifierDemo {
public static void main(String[] args) {
// 合法标识符
int age = 18; // 字母开头
int _count = 10; // 下划线开头
int $price = 100; // 美元符号开头
int userName = 123; // 字母开头,包含字母和数字
int MAX_VALUE = 1000; // 字母开头,包含下划线
// 非法标识符(会编译错误)
// int 123abc = 10; // 不能以数字开头
// int class = 20; // 不能是关键字
// int my-name = 30; // 不能包含减号
// int @email = "a@b.com"; // 不能包含 @ 符号
}
}命名规范
java
public class NamingConvention {
// 类名:大驼峰命名法(UpperCamelCase)
// 示例:Student, UserManager, HttpConnection
// 方法名:小驼峰命名法(lowerCamelCase)
// 示例:getName, calculateTotal, isValid
// 变量名:小驼峰命名法
// 示例:userName, totalCount, maxValue
// 常量名:全大写,单词间用下划线分隔
// 示例:MAX_VALUE, DEFAULT_TIMEOUT, PI
// 包名:全小写,通常使用公司域名倒置
// 示例:com.company.project.module
}注释
注释用于解释代码,不会被编译器编译。
注释类型
java
public class CommentDemo {
// 这是单行注释
// 用于简短的说明
/*
* 这是多行注释
* 可以跨越多行
* 用于较详细的说明
*/
/**
* 这是文档注释
* 用于生成 API 文档
* 可以使用 HTML 标签和 @ 标签
*
* @author 张三
* @version 1.0
* @param args 命令行参数
*/
public static void main(String[] args) {
// 输出欢迎信息
System.out.println("Hello, Java!");
}
}文档注释标签
| 标签 | 用途 | 示例 |
|---|---|---|
@author | 标识作者 | @author 张三 |
@version | 标识版本 | @version 1.0 |
@param | 说明参数 | @param name 用户名 |
@return | 说明返回值 | @return 计算结果 |
@throws | 说明异常 | @throws IOException IO异常 |
@see | 参考引用 | @see java.lang.String |
@since | 起始版本 | @since 1.5 |
@deprecated | 已过时 | @deprecated 使用新方法代替 |
注释使用示例
java
/**
* 用户管理类
* 提供用户的增删改查功能
*
* @author 开发团队
* @version 2.0
* @since 1.0
*/
public class UserManager {
/** 用户列表,存储所有用户 */
private List<User> users;
/** 最大用户数量 */
private static final int MAX_USERS = 1000;
/**
* 添加新用户
*
* @param user 要添加的用户对象
* @return 添加成功返回 true,失败返回 false
* @throws IllegalArgumentException 当用户为 null 时抛出
*/
public boolean addUser(User user) {
// 检查用户是否为空
if (user == null) {
throw new IllegalArgumentException("用户不能为空");
}
// 检查是否超过最大用户数
if (users.size() >= MAX_USERS) {
return false; // 用户数量已达上限
}
// 添加用户并返回成功
return users.add(user);
}
/**
* 根据ID查找用户
*
* @param id 用户ID
* @return 找到返回用户对象,未找到返回 null
*/
public User findUserById(int id) {
// 遍历用户列表查找匹配的ID
for (User user : users) {
if (user.getId() == id) {
return user;
}
}
return null; // 未找到用户
}
}变量
变量是程序运行过程中值可以改变的存储单元。
变量声明和初始化
java
public class VariableDemo {
public static void main(String[] args) {
// 声明变量
int age;
// 赋值
age = 18;
// 声明并初始化(推荐方式)
String name = "张三";
double salary = 5000.50;
boolean isStudent = true;
// 同时声明多个同类型变量
int a = 1, b = 2, c = 3;
// 使用变量
System.out.println("姓名:" + name);
System.out.println("年龄:" + age);
System.out.println("薪资:" + salary);
}
}变量分类
java
public class VariableTypes {
// 成员变量(实例变量):在类中定义,属于对象
private String instanceVar;
// 静态变量(类变量):使用 static 修饰,属于类
public static int staticVar = 100;
public void method() {
// 局部变量:在方法中定义,作用域仅限于方法内
int localVar = 10;
// 局部变量必须初始化后才能使用
System.out.println(localVar);
}
public static void main(String[] args) {
// 创建对象访问实例变量
VariableTypes obj = new VariableTypes();
obj.instanceVar = "实例变量";
// 通过类名访问静态变量
VariableTypes.staticVar = 200;
System.out.println(obj.instanceVar); // 输出:实例变量
System.out.println(VariableTypes.staticVar); // 输出:200
}
}变量作用域
java
public class VariableScope {
// 类级变量:整个类中都可以访问
private int classLevelVar = 10;
public void method1() {
// 方法级变量:只在当前方法中有效
int methodLevelVar = 20;
if (true) {
// 块级变量:只在当前代码块中有效
int blockLevelVar = 30;
System.out.println(blockLevelVar); // 可以访问
System.out.println(methodLevelVar); // 可以访问
System.out.println(classLevelVar); // 可以访问
}
// System.out.println(blockLevelVar); // 编译错误:无法访问
System.out.println(methodLevelVar); // 可以访问
System.out.println(classLevelVar); // 可以访问
}
public void method2() {
// System.out.println(methodLevelVar); // 编译错误:无法访问
System.out.println(classLevelVar); // 可以访问
}
}常量
常量是值在程序运行过程中不会改变的量。
常量定义
java
public class ConstantDemo {
// 使用 final 关键字定义常量
// 常量名通常全大写,单词间用下划线分隔
// 类级常量:通常与 static 一起使用
public static final double PI = 3.14159265;
public static final int MAX_SIZE = 100;
public static final String APP_NAME = "MyApplication";
// 实例常量:每个对象可以有不同的值,但初始化后不能改变
private final int id;
// 构造方法初始化实例常量
public ConstantDemo(int id) {
this.id = id;
}
public static void main(String[] args) {
// 局部常量
final int LOCAL_CONSTANT = 50;
// 使用常量
System.out.println("PI = " + PI);
System.out.println("MAX_SIZE = " + MAX_SIZE);
System.out.println("APP_NAME = " + APP_NAME);
// 常量不能重新赋值
// PI = 3.14; // 编译错误
// LOCAL_CONSTANT = 100; // 编译错误
}
}常量使用场景
java
public class ConstantExample {
// 配置常量
public static final String DB_URL = "jdbc:mysql://localhost:3306/mydb";
public static final String DB_USER = "root";
public static final int DB_TIMEOUT = 30;
// 业务常量
public static final int STATUS_ACTIVE = 1;
public static final int STATUS_INACTIVE = 0;
public static final int STATUS_DELETED = -1;
// 数学常量
public static final double E = 2.718281828;
public void processUser(int status) {
// 使用常量使代码更易读
if (status == STATUS_ACTIVE) {
System.out.println("用户状态:活跃");
} else if (status == STATUS_INACTIVE) {
System.out.println("用户状态:非活跃");
} else if (status == STATUS_DELETED) {
System.out.println("用户状态:已删除");
}
}
}分隔符
Java 中常用的分隔符:
java
public class SeparatorDemo {
public static void main(String[] args) {
// 分号 ; - 语句结束符
int a = 10;
int b = 20;
// 逗号 , - 分隔变量声明或参数
int x = 1, y = 2, z = 3;
// 花括号 {} - 定义代码块
{
int blockVar = 100;
System.out.println(blockVar);
}
// 方括号 [] - 定义数组
int[] numbers = {1, 2, 3, 4, 5};
// 圆括号 () - 方法调用、表达式分组
int result = (a + b) * 2;
System.out.println(result);
// 点 . - 访问成员
System.out.println("Hello");
}
}小结
本章我们学习了:
- 关键字:Java 中有特定含义的保留字
- 标识符:命名规则和命名规范
- 注释:单行注释、多行注释、文档注释
- 变量:声明、初始化、作用域
- 常量:使用 final 关键字定义不可改变的值
下一章,我们将学习 数据类型,了解 Java 的基本数据类型和引用类型。
