目录
变量、作用域、默认值、常量、变量的命名规范
变量
-
变量是什么:就是可以变化的量!
-
java是一种强类型语言,每个变量都必须声明其类型。
-
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
变量作用域
-
全局变量:也叫成员变量,是指在类中(方法外)定义的变量;它在整个类中都有效。全局变量(成员变量)又可分为:类变量和实例变量。
-
类变量:又叫静态变量,用static修饰,它可以直接用类名调用,也可以用对象调用,而且所有对象的同一个类变量都是共享同一块内存空间的。
-
实例变量:不用static修饰,它只能通过对象调用,而且所有对象的同一个实例变量是共享不同的内存空间的。
-
局部变量:是指在方法体中定义的变量以及方法的参数,它只在定义它的方法内有效,必须声明和初始化值。
注意:
-
如果某个方法中的局部变量的名字与全局变量的名字相同,则该全局变量在这个方法中暂时失效。(就近原则)
-
成员变量有默认值,局部变量不会自动赋值。
-
final修饰且没有static修饰的必须显示赋值。
-
成员变量存储在堆中,局部变量存储在栈中。
-
成员变量可以被public、protect、private、static等修饰符修饰,而局部变量不能。
静态变量和实例变量区别【重点常用】
静态变量:
静态变量由于不属于任何实例对象,属于类的,所以在内存中只会有一份,在类的加载过程中,JVM只为静态变量分配一次内存空间。
实例变量:
每次创建对象,都会为每个对象分配成员变量内存空间,实例变量是属于实例对象的,在内存中,创建几次对象,就有几份成员变量。
例如
public class Demo02 {
//类变量static
static double salary = 2500;
//属性:变量
//实例变量:从属于对象;
String name;
int age;
public static void main(String[] args) {
//局部变量;必须声明和初始化值
int i=1;
System.out.println(i);
//实例变量:变量类型 变量名字 = new Demo02();
Demo02 demo02 = new Demo02();//Demo02是引用类型也叫自定义类型。
System.out.println(demo02.age);
System.out.println(demo02.name);
//类变量static
System.out.println(salary);
}
}
变量默认值
-
数值类型初始化的默认值为0、0.0、\u0000
-
布尔值:默认是false
-
除了基本类型其余都是nuLL
-
整数默认是 int 类型,小数默认是 double 类型
-
整数之间的除法运算,不管小数位有多少位,小数是几,统统舍弃,只返回整数位数字!
常量
-
常量:初始化后不能再改变的值!不会变动的值。
-
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
-
final修饰的成员变量必须手动初始化
final 常量名=值;
final double PI = 3.14;
-
常量名一般使用大写字符。
变量的命名规范
-
所有变量、方法、类名:见名知意
-
类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写
-
局部变量:首字母小写和驼峰原则
-
方法名:首字母小写和驼峰原则:run(),runRun()
-
类名:首字母大写和驼峰原则:Man,GoodMan
-
接口名:首字母大写和驼峰原则:Man,GoodMan
-
常量:大写字母和下划线:MAX_VALUE
return 关键字的作用
- 返回方法指定类型的值(这个值总是确定的)
- 结束方法的执行