这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战
作为一名测试人员,在进阶的过程中需要学习一些必备的开发知识,比如对于 Java 基础知识,Python 自动化知识等的了解。这些都是从功能测试进阶到测试开发的必要过程,所以后续会针对一些开发语言进行学习。
1. Java 中变量的定义
什么是变量呢?变量就是程序中的内存空间,内存中的一块存储区域,该区域有自己的名称(变量名)和类型(数据类型)。所以对于一个变量来说,它需要具备:数据类型和名称。
由于程序的内存对于程序员来说是很复杂的,所以在开发时,我们就通过变量的名称来去操作对应的内存空间。只要在申请空间的时候,给这个空间起一个名字就可以了,使用变量的时候,通过变量名就可以找到变量的值了。
变量定义格式:
type name = value;
通过上面的格式可以看到,变量的定义包含:
- 数据类型:能存放的数据类型;
- 变量名:通过标识符可以访问内存空间里的值。
- 值:存储的内容。 示例如下:
public class HelloWorld {
public static void main(String[] args) {
boolean isExist = true;
String desc = "This is a String";
}
}
2. 变量的分类
在 Java 中,通常按照变量定义的位置和对应的生命周期,可以将变量进行分类,分类如下:
- 局部变量:通常是在方法的参数或方法中定义的变量,见名思意,局部就是生命周期也比较短的意思;
- 实例变量:独立于方法之外的变量,通常也叫成员变量,属于某个具体的 class 类,但是不被 static 修饰;
- 类变量:即用 static 修饰的实例变量,我们称之为类变量,它的生命周期很长,伴随着类的创建而存在。
2.1 局部变量
局部就是生命周期也比较短的意思,所以通常定义在方法内部。常见的位置有:
- 局部变量声明在方法、构造方法或者语句块中;
- 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
- 访问修饰符不能用于局部变量;
- 局部变量只在声明它的方法、构造方法或者语句块中可见;
- 局部变量是在栈上分配的。
- 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
public class HelloWorld {
public static void main(String[] args) {
sumNumber();
}
public static void sumNumber(){
int a = 0;
a = a + 10;
System.out.println("结果是: " + a);
}
}
2.2 实例变量
实例变量声明在一个类中,通常是在类的成员变量位置上,不在具体的方法内部。所以实例变量的特点是:
- 当一个对象被实例化之后,每个实例变量的值就被确定了;
- 实例变量在对象创建的时候创建,在对象被销毁的时候销毁;
- 实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;
- 实例变量可以声明在使用前或者使用后;
public class HelloWorld {
// 实例变量
public String TAG = "HelloWorld";
public int type = 1;
public static void main(String[] args) {
sumNumber();
}
public static void sumNumber(){
int a = 0;
a = a + 10;
System.out.println("结果是: " + a);
}
}
2.3 类变量
类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。所以它的生命周期特别长,伴随着类第一次创建而创建,程序结束而销毁。
public class HelloWorld {
// 静态实例变量
public static String TAG = "HelloWorld";
public static int type = 1;
public static void main(String[] args) {
sumNumber();
}
public static void sumNumber(){
int a = 0;
a = a + 10;
System.out.println("结果是: " + a);
}
}
总结
变量的定义是程序开发中很重要的基本概念,任何的开发语言都需要变量。