变量(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); } }
|
变量命名规则(规范)
1. 所有变量、方法、类名:见名知意
2. 类成员变量:首字母小写和驼峰原则 : monthSalary
3. 局部变量:首字母小写和驼峰原则
4. 常量:大写字母和下划线:MAX_VALUE
5. 类名:首字母大写和驼峰原则: Man, GoodMan
6. 方法名:首字母小写和驼峰原则: 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; } }