012_变量
一、概念
变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的。
二、变量的分类
a)局部变量:方法或语句块内部定义的变量。生命周期是从声明位置开始到”}”为止。这里要注意局部变量使用前必须要对其进行初始化操作!
b)成员变量:也称其为实例变量方法外部、类的内部定义的变量。从属于对象,生命周期伴随对象始终。
成员变量如果不自行初始化,他会自动初始化成该类型的默认初始值(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false、引用类型默认值为null)
c)静态变量(类变量 static variable)使用static定义。 从属于类,生命周期伴随类始终,从类加载到卸载。如果不自行初始化,他会自动初始化成该类型的默认初始值、默认初始值规则同成员变量默认初始值。
变量命名规则(规范)
1. 所有变量、方法、类名:见名知意
2. 类成员变量:首字母小写和驼峰原则 : monthSalary
3. 局部变量:首字母小写和驼峰原则
4. 常量:大写字母和下划线:MAX_VALUE
5. 类名:首字母大写和驼峰原则: Man, GoodMan
6. 方法名:首字母小写和驼峰原则: run(), runRun()
三、变量默认初始值测试
public class Test { int a; float b; double c; char d; boolean e; String f; static int aa; static float bb; static double cc; static char dd; static boolean ee; static String ff; public Test() { System.out.println("成员变量int a的默认初始值为:"+a); System.out.println("成员变量float b的默认初始值为:"+b); System.out.println("成员变量double c的默认初始值为:"+c); System.out.println("成员变量char d的默认初始值为:"+d); System.out.println("成员变量boolean e的默认初始值为:"+e); System.out.println("成员变量String f的默认初始值为:"+f); } public static void testVarible(){ System.out.println("static int aa的默认初始值为:"+aa); System.out.println("static float bb的默认初始值为:"+bb); System.out.println("static double cc的默认初始值为:"+cc); System.out.println("static char dd的默认初始值为:"+dd); System.out.println("static boolean ee的默认初始值为:"+ee); System.out.println("static String ff的默认初始值为:"+ff); } public static void main(String[] arg) { new Test(); System.out.println("==================================="); testVarible(); } }
测试结果截图:
四、常量
常量:初始化(initialize)后不能再改变值(不能进行再次赋值操作)!
五、总结:
a)Java是一种强类型语言,每个变量都必须声明其类型。
b)Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
c)变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储单元,声明格式为type varName [=value] [{,varName[=value]}]
d)每个变量都有类型,类型可以是基本类型,也可以是引用类型。
e)变量名必须是合法的标识符。
f)变量声明是一条完整的语句,因此每一个声明都必须以分号结束
g) 可以在一行中声明多个变量、如 int x,y,z;