【Java基础笔记】1-4 变量、常量与作用域
§1-4 变量、常量与作用域
目录
1-4.1 变量声明
Java 是一门强类型语言,对于每一个变量,都必须先对其类型作声明。Java 变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域。
声明语法:type varName [=value] [{,varName[=value]}]
值得注意的是,可以在一行变量声明语句中同时声明多个变量,但考虑程序可读性,不建议同时声明多个变量。
1-4.1 变量声明注意事项
- 每个变量都有类型,可以是基本类型,也可以是引用类型;
- 变量名必须是合法标识符;
- 变量声明是一条完整的语句,因此每一个声明都需以半角分号结束
1-4.2 变量的作用域
根据变量作用范围(作用域)不同,我们将变量区分为类变量、实例变量、局部变量三种。
1-4.2.1 局部变量(方法变量)
局部变量:从属于方法,作用范围仅限于当前方法,且声明时必须初始化值。
public class Local {
//类中还可以定义一些属性(了解)
//main 方法
public static void main(String[] args){
//局部变量:使用时必须初始化值
String name = "Zebt";
System.out.println(name);
}
//其他方法
public void add(){
//其他方法
}
}
若未初始化局部变量,则会报错,如图所示:
1-4.2.2 实例变量(类中的非静态变量)
实例变量:从属于对象,在类中,位于方法之外,使用时无需初始化值;但调用时需要新建类的对象以调用实例变量。
public class Instance {
//实例变量:从属于对象
String name;
int age;
public static void main(String[] args) {
//main 方法内
//创建类的对象,此语句语法结构相当于:变量类型 变量名 = new Instance();
Instance instance = new Instance();
//此语句的快捷方式为 new 类名();然后按下快捷键 Alt + Enter
//在未初始化值时向屏幕打印结果
System.out.println(demo03.age);
System.out.println(demo03.name);
}
}
编译后运行,得到结果如图所示:
可见,实例变量在未初始化值时,根据变量的数据类型输出不同的默认值。基本数据类型的默认值为0
或0.0
,布尔值的默认值为false
,引用数据类型的默认值为null
。
1-4.2.3 类变量(类中的静态变量)
类变量:从属于类,在方法外,定义时需在前添加static
关键字,调用时无需创建对象。static
在此处表示“静态的”、“全局的“之意。
public class Variables {
//类变量
static double money = 1000;
public static void main(String[] args) {
//可直接使用
System.out.println(money);
}
}
编译后运行,得到结果如图所示:
1-4.3 常量
常量(Constant)是一种特殊“变量”,在初始化后不能再更改其值。再程序运行过程中,它的值不允许被改变。
声明语法:final 常量名 = 值
例如:final PI = 3.14
此处的final
为修饰符,修饰符不区分前后顺序。常量名一般为全大写。
另外,在 Java 中还存在 C 语言中的关键字const
,是 Java 的预留关键字,其含义与 C / C++ 中的const
含义一致。
1-4.4 变量标识符的命名规范
- 所有变量、方法、类名都应见名知意,使用英文表意;
- 局部变量:首字母小写 + 驼峰原则;
- 常量:全大写 + 下划线;
- 类名:首字母大写 + 驼峰原则;
- 方法名:首字母小写 + 驼峰原则
- 类成员变量:首字母小写 + 驼峰原则