变量
量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。
Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。 比如,int a=3; 表示a变量的空间大小为4个字节。
变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间。
变量的声明
type varName [=value][,varName[=value]...];
//[]中的内容为可选项,即可有可无
数据类型 变量名 [=初始值] [,变量名 [=初始值]…];
double salary=8654.21;//变量声明与初始化放在同一行中
long earthPopulation;
int age,number;//一行声明多个变量
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量的分类
成员变量和静态变量不是目前重点,学习面向对象时,再重点讲解
- 局部变量
方法或语句块内部定义的变量。 生命周期是从声明位置开始到到方法或语句块执行完毕为止。局部变量在使用前必须先声明、初始化(赋初值)再使用。
public void test() {
int i;
int j = i+5 ; // 编译出错,变量i还未被初始化
}
public void test() {
int i;
i=10;
int j = i+5 ; // 编译正确
}
- 成员变量(实例变量)
**方法外部、类的内部定义的变量。**从属于对象,生命周期伴随对象始终。如果不自行初始化,它会自动初始化成该类型的默认初始值。
//实例变量的声明
public class Test {
int i;
}
- 静态变量(类变量)
使用static定义。 从属于类,生命周期伴随类始终,从类加载到卸载。如果不自行初始化,与成员变量相同会自动初始化成该类型的默认初始值。如上图。
/**
* 测试变量
*
* @author 高淇
*
*/
public class TestVariable {
int a; //成员变量, 从属于对象; 成员变量会自动被初始化
static int size; //静态变量,从属于类
public static void main(String[] args) {
{
int age; //局部变量,从属于语句块;
age = 18;
}
int salary = 3000; //局部变量,从属于方法
int gao = 13;
System.out.println(gao);
int i;
// int j = i + 5; // 编译出错,变量i还未被初始化
}
}
常量
常量通常指的是一个固定的值,例如: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);
}
}
老鸟建议
变量和常量命名规范(规范是程序员的基本准则,不规范会直接损害你的个人形象):
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则: monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则: Man, GoodMan
- 方法名:首字母小写和驼峰原则: run(), runRun()