变量与常量、作用域
1、变量(variable)
变量:可以变化的量!
Java是一种强类型语言,每个变量都必须声明其类型。
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储单元
-
声明格式为:
数据类型 变量名 = 值;
可以使用逗号隔开来声明多个同类型变量(不建议)。 如:int a=1,b=2,c=3;
【演示】
public class Demo07 {
public static void main(String[] args) {
//不建议一行定义多个值,要注重程序可读性
// int a=1,b=2,c=3;
String name = "yejian";
char x = 'X';
double pi = 3.14;
}
}
2、变量作用域
变量根据作用域可划分为三种:
-
类变量(静态变量: static variable):独立于方法之外的变量,用 static 修饰。
-
实例变量(成员变量:member variable):独立于方法之外的变量,不过没有 static 修饰。
-
局部变量(lacal variable):类的方法中的变量。
public class Variable{
static int allClicks=0; // 类变量,独立于方法之外,用 static 修饰
String str="hello world"; // 实例变量,独立于方法之外
public void method(){
int i =0; // 局部变量 在类的方法中
}
}
局部变量
方法或语句块内部定义的变量。生命周期是从声明位置开始到”}”为止。
在使用前必须先声明和初始化(赋初值)。
局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
【演示】
错误:
public static void main(String[] args) {
int i;
int j = i+5 ; // 编译出错,变量i还未被初始化
System.out.println(j);
}
修改后:
public static void main(String[] args) {
int i=10;
int j = i+5 ;
System.out.println(j);
}
实例变量
方法外部、类的内部定义的变量。
从属于对象,生命周期伴随对象始终。
如果不自行初始化,他会自动初始化成该类型的默认初始值 (数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false),除了基本类型,其余的默认值都是null
public class Test {
// 这个实例变量对子类可见
public String name;
// 私有变量,仅在该类可见
private double salary;
...
}
public static void main(String[] args){}
类变量
使用static定义。
从属于类,生命周期伴随类始终,从类加载到卸载。
如果不自行初始化,他会自动初始化成该类型的默认初始值。
(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
public class Employee {
//salary是静态的私有变量
private static double salary;
// DEPARTMENT是一个常量
public static final String DEPARTMENT = "开发人员";
public static void main(String[] args){
salary = 10000;
System.out.println(DEPARTMENT+"平均工资:"+salary); //开发人员平均工资:10000
}
}
3、常量
常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final 常量名=值;
final double PI=3.14; final String LOVE="hello";
程序中使用常量可以提高代码的可维护性。
4、变量的命名规范
-
所有变量、方法、类名:见名知意
-
类成员变量:首字母小写和驼峰原则 : monthSalary
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线:MAX_VALUE
-
类名:首字母大写和驼峰原则: Man, GoodMan
-
方法名:首字母小写和驼峰原则: run(), runRun()
本文是学习狂神老师的课程时做的笔记,部分内容参考了狂神老师的视频和随笔
狂神老师课程链接:https://www.kuangstudy.com/
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/java/280866.html