一、什么是变量?
变量就是用来存储数据的容器,内存中的一块空间,存储一些经常发生改变的量。
1.1 变量定义的语法
- 变量声明式赋初值
语法:数据类型 变量名 = 值;int num = 1;
- 先声明变量,然后赋值
语法:数据类型 变量名;
变量名=值;int num; num = 1;
1.2 变量的命名规则
- 变量名由字母、数字、下划线和美元符组成,不能以数字开头。
- Java中的某些词(比如 int和float等)称为关键字,具有特殊意义,不能作为变量名。
- Java语言严格区分大小写,因此变量price和PRICE是两个不同的变量
1.3 变量的作用域
-
类变量(静态变量)
- 声明在类体中,使用static关键字修饰。
- 可以通过类名直接访问,也可以通过类的对象访问。
- 作用域是整个类。
public class MyClass { static int num=1;//类变量 public static void main(String[] args) { int number=MyClass.num+1; System.out.println(number);//输出2 System.out.println(num);//输出1 } }
-
实例变量(成员变量)
- 声明在类体中,没有使用static关键字修饰。
- 可以通过对象来访问和修改实例变量的值。
- 作用域是类的实例。
public class MyClass { int num=1; public static void main(String[] args) { MyClass MyObject = new MyClass(); System.out.println(MyObject.num);//输出1 } }
-
局部变量
- 声明在方法体、构造器、初始化块或任何控制结构(如if语句、for循环等)中。
- 局部变量在使用前必须背初始化,否则编译器会报错。
- 作用域是从声明位置开始到包含它们最内层代码块结束为止。
public class MyClass { public void MyMethod(){ int num = 1;//局部变量 System.out.println(1); } // num 在这里不可见 }
二、什么是常量?
常量就是固定不变的值,是不能改变的数据。
2.1 常量定义的语法
- 使用final关键字修饰
语法:final 数据类型 变量名 = 值;final int num = 1;
2.2 常量的作用域
-
类常量(静态常量)
- 声明在类体中,使用static关键字修饰。
- 可以通过类名直接访问,也可以通过类的对象访问。
- 作用域是整个类。
public class MyClass { static final int num=1;//类变量 public static void main(String[] args) { MyClass.num=num+1;//无法为最终变量num赋值 System.out.println(num); } }
-
成员常量
- 声明在类体中,没有使用static关键字修饰。
- 可以通过对象来访问和修改实例变量的值。
- 作用域是类的实例。
public class MyClass { final int num=1; public static void main(String[] args) { MyClass MyObject = new MyClass(); System.out.println(MyObject.num);//输出1 } }
-
局部常量
- 声明在方法体、构造器、初始化块或任何控制结构(如if语句、for循环等)中。
- 局部变量在使用前必须背初始化,否则编译器会报错。
- 作用域是从声明位置开始到包含它们最内层代码块结束为止。
public class MyClass { public void MyMethod(){ final int num = 1;//局部变量 System.out.println(1); } // num 在这里不可见 }