在数学中,变量就是数值可变的量,常量就是数值不可变的量,例如一条直线表达式 y = 2x
中 x 、y 就是变量,y 的值会随着 x 值的变化而变化,而 2 就是常量,无论 x 和 y 如何变化,2 都是 2,不会改变。Java 也类似。
变量
在 Java 中,每一个变量属于一个类型。在声明变量时,变量所属的类型位于变量名之前。
例如:
double salary;//声明一个双精度浮点类型的变量,变量名位 salary
int vacationDays;//声明一个 整型 变量:vacationDays
long earthPopulation;//声明一个 长整型 变量:earthPopulation
boolean done;//声明两个 布尔 类型的变量:done
int hireday, hireDay;//声明两个 整型 变量:hireday 和 hireDay
由于声明是一条完整的语句,所以必须以分号结束。
变量名必须是一个以字母开头的(包括 “$” 和 “_“,但是不推荐)、由字母和数字构成的序列。
不能将变量名命名为 Java 保留字。
可以在一行中声明多个变量,但是为了提高程序的可读性,不提倡使用这种风格。
变量名区分大小写
,例如上面代码中的 hireday 和 hireDay 是两个不同的变量名
### 变量初始化
声明一个变量后,必须用赋值语句对变量进行显式初始化,千万不要使用未被初始化的变量:
int vacationDays;
System.out.println(vacationDays);//这里会报错,因为变量 vacationDays 没有初始化
对一个已经声明的变量进行赋值,需要将变量名放在等号 “=” 左侧,相应取值的 Java 表达式放在等号的右侧。也可以将变量的声明与初始化放在同一行中:
int vacationDays;//声明变量
vacationDays = 12;//用赋值语句对变量进行初始化
int day = 12;//声明变量的同时初始化
Java 中可以将变量声明放在代码中的任何地方,但是尽量将变量的声明尽可能地靠近变量第一次使用的地方。
“=” 也算是一种运算符,可以在一行写多个赋值表达式,但它的结合性是从右往左。例如:
int i = 2;
int j = i = i + 3;//此时先计算 i 等于 5,然后计算 j = i
## 常量
在 Java 中,使用关键字 final 修饰的变量表示常量,关键字 final 表示这个变量只能被赋值一次。一旦被赋值之后,就不能够再修改了。习惯上将常量名使用全大写
。
final double CM_PER_INCH = 2.54;//声明一个 double 类型的常量
在 Java 中,经常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称为
类常量
。可以使用关键字 static final 设置一个类常量:
public class demo{
public static final double CM_PER_INCH = 2.54;
public static void main(String[] args) {
double paperWidth = 8.5;
double paperHeight = 11;
System.out.println("Paper size in centimeters: " + paperWidth * CM_PER_INCH + " by " + paperHeight * CM_PER_INCH);
}
}
需要注意的是,类常量的定义位于类的内部,方法与构造器的外部。因此,在同一个类的其他方法中也可以使用这个常量。
而且,如果一个常量被声明为 public,那么其他类的方法也可以使用这个常量。