Java程序设计基础:常量和变量的概念,声明方式和作用域。
变量
执行过程中值发生改变的量叫做变量。在编写过程中开辟指定的空间,用来存储对应类型的数据
-
Java是一种强类型语言,每个变量都必须声明其类型
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
-
同一个作用域当中,变量不能重名,否则编译不通过
-
同一个变量在某一时刻只能存在一个值,后来的值会将前面的值覆盖,前面的值还存在,只是永远找不到
注意:每个变量都有类型,类型可以是基本类型,也可以是引用类型。
变量类型和作用域
- 静态变量:
被static 修饰,定义在所有方法体之外。
- 实例变量(又称成员变量)
不被static修饰,定义在所有方法体之外。
类中方法外,只声明不赋值,但存在默认值
属于对象; 如果不自省初始化,将生成这个类型的默认值
除了基本类型,其余的都是null(可见底下附上的图表)
- 局部变量
必须声明和初始化值
类中方法体里
注意:
1.静态变量或实例变量在一个类中可以和局部变量重名,但方法体内使用时可能会出现掩盖效果。
2.同一个类中静态变量和实例变量不能重名
3.实例变量和局部变量需要初始化之后才能使用,但是对象实例化时,实例变量会自动赋初值
4.静态变量会默认初始化值,byte、short、int、long类型为0,double、float类型为0.0,char类型为 ‘\u0000’,boolean类型为false,引用类型为null
变量所处位置:
public class Test01{
public static int k; //静态变量,也叫类变量
public String s; //实例变量
public static void main(String[] args){
double d; //局部变量
}
}
常量
-
常量constant:初始化initialize后不能再改变的值 不会变动的值。
-
常量可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
-
常量名一般使用大写字符。
final 常量名=值;
final double PI=3.14;
常量类型和作用域
- 常量:关键字final 修饰
- 静态常量:加上修饰符static,定义在所有方法体之外。
public class Test{
//public final int MAX; 报错
public static final String STR = "123"; //静态常量
public static void main(String[] args){
final String STR2; //不报错
STR2 = "124"; //赋值
//STR2 = "125"; 再次赋值,报错
}
}