变量、常量、命名规范
变量
Java是一种强类型语言,每个变量都必须声明其类型。只有声明变量后才能对变量去分配相应的存储空间。
Java变量是程序中最基本的存储单元,变量包括变量类型、变量名和作用域。变量类型可以是基本类型和引用类型。
局部变量和实例变量
局部变量:方法内部或代码块中定义的变量叫做局部变量(local variable)。使用前必须声明和初始化。
实例变量:直接在类中、方法外定义的变量叫做实例变量(成员变量)。实例变量如果不自动初始化,他会自动初始化成该类型的默认初始值,数值型变量初始化成0或0.0,字符型变量的初始化值为16位的0,布尔型默认是false。
常量
常量被final关键字修饰,在编译阶段被初始化一次,初始化后值不能被修改。
例如:
final int C= 34;
常量一般用大写表示,如果是由多个单词组成,单词之间用下划线表示。
命名规范
变量和方法名:首字母小写的驼峰式命名原则
常量:大写字母和下划线
类型:首字符大写和驼峰式命名原则
内存存储
基本数据类型在内存中的存储
在内存中,8中基本数据类型和对象的引用变量名都是存储在栈中的,当在代码中定义变量时,就会在栈中分配内存空间。
int a = 3;
int b = 3;
int c = 4;
a = 4;
编译器先处理int a = 3;首先它会在栈中创建一个变量为a的引用,然后查找栈中是否有3这个值,如果没找到,就将3存放进来,然后将a指向3。接着处理int b = 3;在创建完b的引用变量后,因为在栈中已经有3这个值,便将b直接指向3。这样,就出现了a与b同时均指向3的情况。
这时,如果再令 a=4;那么编译器会重新搜索栈中是否有4值,如果没有,则将4存放进来,并令a指向4;如果已经有了,则直接将a指向这个地址。因此a值的改变不会影响 到b的值。
成员变量和局部变量在内存中的存储
成员变量存储在堆中的对象里面,由垃圾回收器负责回收。
局部变量的数据存在于栈内存中,栈内存中的局部变量随着方法的消失而消失。