变量与常量
1.变量
变量是什么:就是可以变化的量
用来存储数据,变量就是这个存储数据的空间;由于Java是一种强类型语言,每个变量都必须声明其类型,在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储单元
声明格式
数据类型 变量名 = 值;
可以使用逗号隔开来声明多个同类型变量,但不推荐
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
int num = 100;
char c = 'A';
String name = "Tom";
2.变量作用域
根据作用域可划分为三种
-
类变量,也称静态变量,定义在方法前在类里,用sataic修饰
static int allClicks = 30;
-
实例变量,也称成员变量,也是定义在方法前在类里,但没有sataic修饰
-
局部变量,定义在类的方法中的变量
public class VariableAndConstant { static int allClicks = 30;//类变量 String name = "Tom";//实例变量 public static void main(String[] args) { int num = 10;//局部变量 System.out.println(allClicks); System.out.println(num); } }
局部变量
定义在方法内或语句块内部。其生命周期是从声明的位置开始到出方法或出语句块结束
使用前必须先声明和初始化(赋初值),局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用
public static void main(String[] args) {
//int i; 没有初始化不可以参与运算,否则编译出错
int i=10;
int j = i+5 ;
System.out.println(j);
}
实例变量
方法外部、类的内部定义的变量。从属于对象,生命周期伴随对象始终
如果不自行初始化,他会自动初始化成该类型的默认初始值
(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
public class Test {
// 这个实例变量对子类可见
public String name;
// 私有变量,仅在该类可见
private double salary;
}
静态变量
使用static修饰,从属于类,生命周期伴随类始终,从类加载到卸载
如果不自行初始化,他会自动初始化成该类型的默认初始值
(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
public class Employee {
//salary是静态的私有变量
private static double salary;
public static void main(String[] args){
//static int age = 98; static不可以在方法中使用
salary = 10000;
System.out.println(DEPARTMENT+"平均工资:"+salary);
}
}
3.常量
常量(Constant):初始化(initialize)后不能再改变值,可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final name = value;
final double PI=3.14;
final String LOVE="hello";
常量名一般使用大写字符
程序中使用常量可以提高代码的可维护性。例如,在项目开发时,我们需要指定用户的性别,此时可以 定义一个常量 SEX,赋值为 "男",在需要指定用户性别的地方直接调用此常量即可,避免了由于用户的 不规范赋值导致程序出错的情况
4.变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则 : monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则: Man, GoodMan
- 方法名:首字母小写和驼峰原则: run(), runRun()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)