Java变量
前言:
学习Java变量之前我们先来了解一下Java的数据类型吧!!!
Java数据类型——你可知道?
介绍
在程序的运行期间,随时可能产生一些临时数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元都用一个标识符来标识。这些内存单元被称为变量,定义的标识符就是变量名,内存单元中存储的数据就是变量的值。
命名规则
- 名称必须以字母、下划线或$符号开头,不能数字开头。
- 避开Java关键字
- 尽可能有意义的命名
- 大小写混合,首字母小写其余首字母大写
Java中一些具体的关键字,有助于声明变量时避开。
①用于定义访问权限修饰符:public、protected、private
②用于定义类、函数、变量修饰符:abstract、final、static、synchronized
③用于定义类与类之间关系:extends、implements
④用于定义建立实例、引用实例、判断实例:new、this、super、instanceof
⑤用于异常处理:try、catch、finally、throw、throws
⑥用于包:package、import
⑦其他:native、strictfp、transient、volatile、assert
补充Java关键字:
种类
Java中的三大变量分别是类变量(静态变量)、实例变量(成员变量)、局部变量(本地变量)
1、局部变量(本地变量)
介绍:
定义在方法、构造器、语句块中的变量。
特点:
就是本地变量,在方法、构造器或者语句块中使用,在方法、构造器或者语句块进入时被创建,一旦退出该变量就会被销毁。
局部变量没有默认值,因此必须被声明并且在第一次使用前要给他赋值。
访问修饰符不能用于局部变量。
局部变量在栈上分配。
实例:
public class VariableTest(){
public void methodTest(){
int age = 0;
age = age + 8;
System.out.println("小明的年龄时: " + age);
}
public static void main(String[] args){
VariableTest variable = new VariableTest();
variable.methodTest();
}
}
运行结果为:
小明的年龄是: 8
2、实例变量(成员变量)
介绍:
在类中声明,在方法、构造器、语句块外的变量。
归属于类的实例,又称为成员变量,没有经过static修饰,
只能通过类名的实例+点操作符+变量来操作。
特点:
- 当一个对象被实例化之后,每个实例变量的值就跟着确定。
- 实例变量在对象通过new创建的时候创建,对象销毁的时候销毁。
- 实例变量的值应该至少被一个方法、构造器或语句块引用,使得外部能够通过这些方法获取实例变量信息。
- 实例变量可以声明在使用前或者使用后。
- 访问修饰符可以修饰实例变量。
- 实例变量对于类中的方法、构造方法、语句块是可见的。
- 一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见。
- 实例变量具有默认值。数值型变量的默认值是0。布尔型变量的默认值是false。引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定。
- 实例变量可以直接通过变量名访问。但在静态方法以及其他类中,需要使用全限定名类名的实例+点操作符+变量名。
实例:
public class Student(){
//这个实例变量对子类可见
public String name;
//这个实例变量,是私有变量,仅在本类可见
private int age;
//声明实例变量时指定值
public String school = "朝阳小学";
//在构造器中对实例变量赋值
public Student(String stuName){
name = stuName;
}
//使用的时候为实例变量指定值
public void setAge(int stuAge){
age = stuAge;
}
//具体的方法
public void printTest(){
System.out.println("学生姓名:" + name);
System.out.println("学生年龄:" + age);
}
public static void main(String[] args){
Student stu = new Student("小明");
stu.setAge(9);
stu.printTest();
}
}
运行结果为:
学生姓名:小明
学生年龄:9
3、类变量(静态变量)
介绍:
也叫做静态变量,在类中以static关键字声明,但必须在方法之外的变量。
用public、private修饰,final和static类型的变量。
特点:
- 经常被声明为常量。
- 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。
- 静态变量初始化后不能改变。
- 静态变量存储在静态存储区。
- 静态变量在第一次被访问时创建,在程序结束时销毁。
- 与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为public。
- 默认值与实例变量相似。数值型变量默认是0。布尔型默认是false。引用类型默认是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。可以在静态语句块中初始化。
- 静态变量可以通过类名+点操作符+静态变量名来访问。
- 类变量被声明为public static final类型时,类变量名称一般建议使用大写字母。如果静态变量不是public和final类型,命名方式和实例变量以及局部变量一致。
实例:
public class Student(){
//声明一个静态的私有变量,仅限该类使用
private static String name;
//声明一个常量
public static final String ADRESS = "杭州";
public static void main(String[] args){
name = "小明";
System.out.println(name + " 家住 " + ADRESS);
}
}
运行结果为:
小明 家住 杭州