# Java 变量

# 变量的概念

变量是用于存储数据的容器,在Java中每个变量都必须声明其类型。变量的值可以在程序运行过程中改变。

# 变量的声明和初始化

// 变量声明
int number;
String name;

// 变量初始化
number = 10;
name = "Java";

// 声明并初始化
int age = 25;
String language = "Java";

# 数据类型

# 基本数据类型

  1. 整数类型

    • byte(1字节):-128 到 127
    • short(2字节):-32,768 到 32,767
    • int(4字节):-2^31 到 2^31-1
    • long(8字节):-2^63 到 2^63-1
  2. 浮点类型

    • float(4字节):单精度浮点数
    • double(8字节):双精度浮点数
  3. 字符类型

    • char(2字节):单个字符
  4. 布尔类型

    • boolean:true 或 false

# 引用数据类型

  • 类(Class)
  • 接口(Interface)
  • 数组(Array)

# 变量命名规则

  1. 必须遵守的规则

    • 只能包含字母、数字、下划线和美元符号
    • 必须以字母、下划线或美元符号开头
    • 区分大小写
    • 不能使用Java关键字
  2. 命名约定

    • 使用驼峰命名法
    • 变量名应该有描述性
    • 避免使用单个字符(除非是临时变量)

# 变量的作用域

# 1. 类变量(静态变量)

public class Example {
    static int classVar = 0; // 类变量
}

# 2. 实例变量(成员变量)

public class Example {
    int instanceVar; // 实例变量
}

# 3. 局部变量

public void method() {
    int localVar = 0; // 局部变量
}

# 常量

使用final关键字声明常量:

final double PI = 3.14159;
final String DATABASE_URL = "jdbc:mysql://localhost:3306/db";

# 类型转换

# 1. 自动类型转换(隐式转换)

int x = 100;
long y = x; // 自动将int转换为long

# 2. 强制类型转换(显式转换)

double d = 100.99;
int i = (int)d; // 强制将double转换为int

# 最佳实践

  1. 初始化变量

    • 声明变量时最好立即初始化
    • 避免使用未初始化的变量
  2. 使用有意义的名称

    • 变量名应该清晰表达其用途
    • 避免使用缩写(除非是广泛接受的缩写)
  3. 合理使用作用域

    • 尽量减小变量的作用域
    • 及时释放不再使用的变量

# 练习题

  1. 声明并初始化不同类型的变量
  2. 进行类型转换操作
  3. 理解变量作用域