变量&常量

变量

  • 每个变量都必须声明其类型
  • 变量名必须是合法的标识符
  • 变量声明是一条完整的语句,因此每个声明必须以分号结束

变量作用域

  • 局部变量
    方法或语句块内部定义的变量。生命周期是从声明位置开始到”}”为止。
    在使用前必须先声明和初始化(赋初值)。
    局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
public static void main(String[] args) { 
    int i; 
    int j = i+5 ; // 编译出错,变量i还未被初始化 System.out.println(j); 
}

修改为:

public static void main(String[] args) { //变量i j只在方法main中有定义
    int i=10; 
    int j = i+5 ; 
    System.out.println(j); 
}
  • 实例变量
    方法外部、类的内部定义的变量。
    从属于对象,生命周期伴随对象始终。
    如果不自行初始化,他会自动初始化成该类型的默认初始值
    (数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false,其他类型都是null)
public class Test { 
    // 这个实例变量对子类可见 
    public String name; 
    // 私有变量,仅在该类可见 
    private double salary; 
    ... 
}
  • 类变量
    使用static定义。
    从属于类,生命周期伴随类始终,从类加载到卸载。
    如果不自行初始化,他会自动初始化成该类型的默认初始值
    (数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false,其他类型都是null)
public class Hello {
    public static class Employee {
        //salary是静态的私有变量
        private static double salary;
        // DEPARTMENT是一个常量
        public static final String DEPARTMENT = "开发人员";
        public static void main(String[] args){
            salary = 10000;
            System.out.println(DEPARTMENT+"平均工资:"+salary);
        //结果是:开发人员平均工资:10000.0
        }
    }
}

常量

所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

public class Hello {
    static final double PI = 3.14;//常量通常用大写表示
            public static void main(String[] args){
                System.out.println(PI);
            }
}
posted @ 2022-03-25 19:56  ben10044  阅读(19)  评论(0编辑  收藏  举报