变量、常量、命名规范

变量

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的值。

成员变量和局部变量在内存中的存储

成员变量存储在堆中的对象里面,由垃圾回收器负责回收。
局部变量的数据存在于栈内存中,栈内存中的局部变量随着方法的消失而消失。