变量
定义
- 变量的本质就是代表一个 “可操操作的存储空间”,空间位置和空间的类型是确定的,但里面放置什么值不确定。
- Java 是强类型语言,每个变量都要声明其数据类型,变量的类型决定了变量占据存储空间的大小。例如:int 类型占据存储空间大小为 4 个字节,所以 int a = 3 表示 a 变量的空间是 4 个字节。
- 变量作为程序最基本的存储单元,其要素包含变量名、变量类型和作用域。
- 变量的作用域由变量声明的位置决定。
格式
-
代码:
type varName = value;
-
其中,type 表示变量的类型,varName 是变量名,value 是变量的初始值。变量在声明时也可以不赋值。
-
例:
public class Code0 { public static void main(String[] args) { int a = 10; double b = 12.34; } }
注意事项
- 每个变量都有类型,类型可以是基本类型也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
分类
- 局部变量:方法或语句块内部定义的变量称为局部变量。生命周期是从声明位置开始,结束于方法或语句块执行结束为止。
- 成员变量:方法外部、类的内部定义的变量称为成员变量。从属于对象,生命周期伴随对象始终。
- 静态变量:使用 static 关键字定义的变量。从属于类,生命周期伴随类始终,从类加载到卸载。
局部变量
-
局部变量在使用时必须初始化(赋值)
-
方法或语句块内的不可以调用其他方法或语句块内的变量。
-
例:
public class Code0 { public static void main(String[] args) { if(true) { int a = 10; } else { System.out.println(a); } } }
-
上例代码运行起来会报错,因为在 else 分支代码块中没有定义变量 a,所以打印变量 a 会报错。
成员变量
-
成员变量会自动初始化,也就是说声明的成员变量会有一个默认值,这个默认值由变量类型决定。
数据类型 变量初始值 int 0 double 0.0 char ‘\u0000’ boolean false -
代码:
public class Index { int a; double b; public static void main(String[] args) { Index _index = new Index(); System.out.println(_index.a); System.out.println(_index.b); } }
-
运行结果:
静态变量
-
静态变量也称为类变量。
-
相对上两种变量来说,静态变量的生命周期是最长的。
-
代码:
public class Index { static int a = 20; public static void main(String[] args) { System.out.println(a); } }
-
运行结果:
常量
定义
-
通过 final 关键字声明常量。
-
语法格式
final type varName = value
-
代码演示
public class Code0 { public static void main(String[] args) { final double PI = 3.14; } }
计算圆的面积和周长
-
代码
public class Index { public static void main(String[] args) { final double PI = 3.14; double r = 4; double c = 2 * PI * r; double s = PI * r * r; System.out.println("圆的周长:" + c); System.out.println("圆的面积:" + s); } }
-
运行结果
常量与变量的命名规则
- 所有常量、变量、方法、类名都要做到见名知意。
- 类成员变量:首字母小写,使用驼峰原则。如:listSize
- 局部变量:同上。
- 方法名:同上。
- 常量:由大写字母和下划线组成。
- 类名:首字母大写,使用驼峰原则。如:MaxNumber