java回忆录—常量和变量
java2016-08-02
常量
定义:常量就是固定不定的量,一旦被定义,它的值就不能改变。
分类:
字面值常量 : syso(110);
自定义常量 : public static final int AGE = 50;
声明常量的语法:final 数据类型 常量名称[=值]
例如,我们定义一个整型常量A,并赋值: final int A=10;
注意:
常量的值在声明时必须赋值。
对于常量的命名,通常使用大写字母。
常量一般用在程序的开始。对于程序中经常不变的量,可以使用常量。
例如:我们常用的圆周率3.141592...,
我们可以将其定义为:final float PI=3.1415F(其中的F是必要的,是告诉Java编译器,此浮点型数据类型为float,而非double);
还有时间中的年,星期我们都可以用变量表示,例final int YEAR=365; final int WEEK=7;
既然讲到常量,我们看到会用到 static 、final 关键字。那就来讲讲这两个关键字吧。
final
final类 不能继承
final属性
非静态属性
public final int age;
会报错,解决方案:
1)直接赋值 public final int age = 3;
2)在构造函数中初始化
public Student() {
age = 3;
}
在使用这个final属性之前要先自定义初始化
静态属性
public static final int AGE;
会报错,解决方案:
1)直接赋值 public final static int AGE=3;
2)在静态代码块中初始化
static {
AGE= 3;
}
final方法
不能被重写
final变量
只能赋值一次
全局变量 -- 属性
局部变量
final int a;
a = 3;
a = 5;
syso(a);
这会报错的,因为final修饰符,只能赋值一次。
变量
定义:变量,相对于常量来说,是在程序中可以改变的量,即其值不是固定不变的。
变量的声明: 数据类型 变量名称[=值]
变量的值可以声明时赋值,也可以声明后赋值。
变量的有作用范围,分为成员变量和局部变量,在上面我们定义的都是局部变量。
如果在方法main体外定义变量,即为成员变量,。而局部变量只能在其定义的范围内访问。
注意:
成员变量声明时可以不初始化,系统会自动初始化为 0 或 null 或 false;
局部变量在使用前必先赋值;
局部变量与成员变量重名时以局部变量为准;
局部变量在它的作用域内不允许同名;
例子: