变量
-
变量是什么:就是可以变化的量
-
Java是一种强类型语言,每个变量都必须声明其类型
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
type varName [=value] [{,varName[=value]}] ; //数据类型 变量名1=值,变量名2=值;可以使用逗号隔开来声明多个同类型变量,但不建议这样用,这样用会降低程序可读性。 我们不妨来个假设:假设有个柜子,柜子有四层,第一层贴有帽子标签,第二层贴有衣服标签,第三层贴有鞋子标签,而第四层暂时还未被规定用来放什么且非常大还可以继续分层。第三层中有小A、小B,小C和小D四个小朋友的鞋子,其中,小A、小B,小C和小D四个小朋友的鞋子码分别为18、19、20、21. 那么接下来就好理解了,我们电脑的内存可以理解为柜子,柜子的每一层可以理解为内存空间(变量),帽子、衣服、鞋子可以理解为某三种数据类型,小A、小B,小C和小D四个小朋友的名字则可以理解为他们在这个数据类型中的变量名,而他们的鞋子码就是值。
-
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量的分类
1. 类变量或静态变量
- 用static修饰
- 随着类的加载而存在,随着类的消失而消失
- 在方法中可以直接引用
public class Demo05 {
static double salary=2500;
public static void main(String[] args) {
System.out.println(salary);
}
}
2. 实例变量
- 从属于对象,如果不进行初始化,执行代码时会输出这个类型的默认值
- 随着对象的创建而存在,随着对象的回收而释放
- 在方法中不能直接引用
public class Demo05 {
int age1;
int age2=18;
String name1;
String name2="linzihao";
boolean flag;
/*
默认值为0的数据类型:byte,short,int,long
默认值为0.0的数据类型:float,double
布尔值的默认值为false
除了基本类型,其余的类型的默认值都是null
*/
public static void main(String[] args) {
Demo05 demo05 = new Demo05();//实例变量在方法中需要先这样才能用
System.out.println(demo05.age1);
System.out.println(demo05.age2);
System.out.println(demo05.name1);
System.out.println(demo05.name2);
System.out.println(demo05.flag);
}
}
3. 局部变量
- 必须声明和初始化数据
- 其生命周期取决于所属的方法何时开始调用到何时结束调用
- 只在所属方法内有用
public class Demo01 {
public static void main(String[] args) {
int num=10;
System.out.println(num);
}
}
常量(Constant)
- 初始化(initialize)后不能再改变它的值,它的值被设定后,在程序运行过程中不允许被改变
- 在方法中可以直接引用
- 公式:final 常量名=值; 例子:final double PI=3.14;
public class Demo01 {
//修饰符不存在先后顺序
static final double PI=3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun()