变量
变量的本质
变量本质上就是代表一个“可操作的存储空间”,空间位置是确定的,但是里面具体放什么值是不确定的
我们可以通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值
JAVA是一种强类型语言,每个变量都必须声明其数据类型。
变量的数据类型决定了变量占据存储空间的大小,比如 int a = 3; 表示a变量的空间大小为4个字节
变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
变量在使用前必须对其声明,只有在变量声明以后,才能为其分配相应长度的存储空间
//声明变量
int a ;
double b;
long c ;
不同的数据类型会在内存中分配不同的空间
注意事项
1.每个变量都有类型,类型可以是基本类型,也可以是引用类型
2.变量名必须是合法的标识符
3.变量声明是一条完整的语句,因此每一个声明必须以分号结束
//声明变量同时初始化
int a = 1;
double b =2.3;
变量的分类和作用域
从整体上可将变量划分为局部变量,成员变量(实例变量),静态变量
局部变量
方法或语句块内部定义的变量,声明周期是从声明位置开始到方法或者语句块执行完毕为止
局部变量在使用前必须先声明,初始化(赋初值)再使用
public void test() {
int i; int j = i+5 ; // 编译出错,变量 i 还未被初始化
}
public void test() {
int i; i=10; int j = i+5 ; // 编译正确
}
成员变量(也叫实例变量 member variable)
方法外部,类的内部定义的变量,从属于对象,声明周期伴随对象始终
如果不自动初始化,它会自动初始化为该类型的初始默认值
public class Test {
int i;
}
静态变量(类变量 static variable)
使用 static 定义。 从属于类,生命周期伴随类始终,从类加载到卸载。
如果不自行初始化,与成员变量相同会自动初始化成该类型的默认初始值
如果不自动初始化,它会自动初始化为该类型的初始默认值
public class Test {
int i;
}
常量(Constant)
常量通常指的是一个固定的值,例如:1、2、3、’a’、’b’、true、false、”helloWorld” 等。在 Java 语言中,主要是利用关键字 final 来定义一个常量。 常量一旦被初始化后不能 再更改其值。
final type varName = value;
常量的声明及使用
public class TestConstants {
public static void main(String[ ] args) {
final double PI = 3.14;
// PI = 3.15; //编译错误,不能再被赋值!
double r = 4;
double area = PI * r * r;
double circle = 2 * PI * r;
System.out.println("area = " + area);
System.out.println("circle = " + circle); } }