在Java中,每一个变量属于一种类型(type)。在声明变量时,变量所属的类型位于变量名之前。这里列举一些声明变量的示例:
double salary;
int vacationDays;
long earthPopulation;
boolean done;
可以看到,每个声明以分号结束。由于声明是一条完整的语句,所以必须以分号结束。变量名必须是一个以字母开头的由字母和数字构成的序列。变量名中所有的字符都是有意义的,并且大小写敏感。变量名的长度没有限制。另外,不能将变量名命名为Java保留字。
可以在一行中声明多个变量:
int i, j; //both are integers
不过,不提倡这种风格。逐一声明每一个变量可以提高程序的可读性。
变量初始化
声明一个变量之后,必须使用赋值语句对变量进行显式初始化,千万不要使用未被初始化的变量。例如,
Java编译器认为下面语句序列是错误的:
int vacationDays;
System.out.println(vacationDays); //ERROR--variable not initialized
图1
要想对一个已经声明过的变量进行赋值,就需要将变量名放在等号(=)左侧,相应去取值的Java表达式
放在等号的右侧。
int vacationDays;
vacationDays = 12;
也可以就将变量的声明和初始化放在同一行中。例如:
int vacationDays = 12;
最后,在Java中可以将声明放在代码中的任何地方。例如,下列代码的书写形式在Java中是完全合法的:
double salary = 65000.0;
System.out.println(salary);
int vacationDays = 12; //OK to declare a variable here
在Java中,变量的声明尽可能地靠近变量第一次使用的地方,这是一种良好的编写风格。
常量
在Java中,利用关键字final指示常量。关键字final表示这个变量只能被赋值一次。一旦被赋值之后,就不 能够再更改了。习惯上,常量名使用全大写。例如:
public class Constants
{
public static void main(String[] args)
{
final double CM_PER_INCH = 2.54;
double paperWidth = 8.5;
double paperHeight = 11;
System.out.println("Paper size in centimeters: " + paperWidth * CM_PER_INCH +
" by " + paperHeight * CM_PER_INCH);
}
}
图2
在Java中,经常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称为类常量。可以使用 关键字static final设置一个类常量。下面是实用类常量的示例:
public class Constants2
{
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);
}
}
图3
需要注意,类常量的定义位于main方法的外部。