变量声明
- 所有变量在使用前必须声明。
- 编译器需要知道变量的数据类型。
- 允许严格的类型检查。
变量初始化
- 建议使用前给变量赋值。
可以通过以下方式完成:
- 作业指导。
- 声明中的初始值。
int 计数 = 10; // 初始值 char ch = 'X'; // 用'X'初始化 浮动 f = 1.2F; // 初始化为1.2
- 您可以在逗号分隔的列表中初始化相同类型的变量。
动态启动
- 变量可以使用有效的表达式动态初始化。
双倍体积 = 3.1416 * 半径 * 半径 * 高度;
变量的范围和生命周期
- 变量可以在任何块内声明。
一个块定义了一个范围:
- 确定变量的可见性和生命周期。
- 作用域内的变量在作用域之外是看不到的。
范围可以嵌套:
- 外部作用域中的变量在内部作用域中可见。
- 内部作用域中的变量在外部作用域中不可见。
int x = 10;
如果(x==10){
整数y = 20;
System.out.println("x 和 y: " + x + " " + y);
x = y * 2;
}
System.out.println("x 是 " + x);
范围规则和特点
进入作用域时创建的变量,离开作用域时销毁。
重新进入区块时变量会重置。
for(int x = 0; x < 3; x++) {
整数 y = -1;
System.out.println("y 是:" + y);
y = 100;
System.out.println("y 现在是:" + y);
}
- 在Java中,内部作用域中的变量不能与外部作用域中的变量同名。
//该程序无法编译 整数计数; for(计数 = 0;计数 < 10;计数++) { 整数计数; // 无效的 for(计数 = 0;计数 < 2;计数++) System.out.println("该程序有错误!"); }
要点总结
- 变量必须在使用前声明以启用类型检查。
- 初始化可以在声明中或动态完成。
- 变量的范围决定了可以访问它的位置。
- 作用域可以嵌套,内部作用域中的变量不能与外部作用域中的变量同名。
- 变量的生命周期仅限于其范围。









