变量(variable)
我们通过变量来操纵存储空间中的数据,变量就是指代这个存储空间!空间位置是确定的,但是里面放置什么值不确定!
Java是一种强类型语言,每个变量都必须声明其类型。
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储单元,声明格式为:
type varName [=value] [{,varName[=value]}] ;
注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
变量名必须是合法的标识符。
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量声明举例:
double salary ; boolean done;
long earthPopulation ; int age ;
可以在一行中声明多个变量:
int i ,j; // both are integers
q 不提倡这种风格,逐一声明每一个变量可以提高程序可读性。
n 可以将变量的声明和初始化放在同一行中,例如:
int age = 18; float e = 2.718281828f;
n 变量可划分为:
q 局部变量(lacal variable):方法或语句块内部定义的变量。生命周期是从声明位置开始到”}”为止。
在使用前必须先声明和初始化(赋初值)。
public void incorrectLocalV() {
int i;
i=10;
int j = i+5 ; // 编译出错,变量i还未被初始化
}
实例变量(成员变量 member variable):方法外部、类的内部定义的变量。从属于对象,生命周期伴随对象始终。
如果不自行初始化,他会自动初始化成该类型的默认初始值(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
静态变量(类变量 static variable):使用static定义。 从属于类,生命周期伴随类始终,从类加载到卸载。
如果不自行初始化,他会自动初始化成该类型的默认初始值(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
课堂练习1:
public class LocalVariableTest {
public static void main(String[ ] arg) {
boolean flag = true; // 声明boolean型变量并赋值
char c1, c2; // 声明char型变量
c1 = '\u0041'; // 为char型变量赋值
c2 = 'B'; // 为char型变量赋值
int x; // 声明int型变量
x = 9; //为int型变量赋值
int y = x; // 声明并初始化int型变量
float f = 3.15f; // 声明float型变量并赋值
double d = 3.1415926; //声明double型变量并赋值
}
}
常量(Constant)
· 常量:初始化(initialize)后不能再改变值!
public class Constants {
public static void main(String[] args) {
final double PI = 3.14;
// PI = 3.15; //error
double r = 4;
double area = PI * r * r;
double circle = 2 * PI * r;
System.out.println("area = " + area);
System.out.println("circle = " + circle);
}
}
变量命名规则(规范)
所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则: Man, GoodMan
方法名:首字母小写和驼峰原则: run(), runRun()
public class TestVariable {
int t; //实例变量,成员变量,属性
public static void main(String[] args){
int a;
int b = a+3;
int x,y,z;
final int C=34;
C = 35;
final int MAX_SPEED = 120;
}
}