JavaSE基础语法 - 变量

JavaSE基础语法 - 变量

记录自己的学习之路,2025年7月21日,周一,午,天气有雨。变量学习。

变量作用域

  • 类变量(静态变量:static):

  • 实例变量(成员变量:member)

  • 局部变量

    public class Variable{
        static int allClicks=0; // 用 static 修饰,类变量,所有对象共用一份。
        String str="hello world"; // 没有 static,实例变量,属于每个对象,每个实例各自一份。
       
        public void method(){
            int i =0; // 局部变量。定义在方法 method() 内部,只在方法调用期间存在,方法结束即销毁。
        }
    }
    

局部变量

位置:方法或语句块内部定义的变量。生命周期是从声明位置开始到”}”为止。

默认值:局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。

public static void main(String[] args) {
    int i;
    int j = i+5 ; // 编译出错,变量i还未被初始化,只做了声明
    System.out.println(j);
}

修改为:

public static void main(String[] args) {
    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定义。从属于类,生命周期伴随类始终,从类加载到卸载。

public 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);
    }
}

常量

常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。

final 常量名=值;
final double PI=3.14;
final String LOVE="hello";

常量名一般使用大写字符。

变量的命名规则

  1. 所有变量、方法、类名:见名知意
  2. 类成员变量:首字母小写和驼峰原则 : monthSalary
  3. 局部变量:首字母小写和驼峰原则
  4. 常量:大写字母和下划线:MAX_VALUE
  5. 类名:首字母大写和驼峰原则: Man, GoodMan
  6. 方法名:首字母小写和驼峰原则: run(), runRun()

内存区域区别

  • 类变量(static)只存一份,在类加载时就分配在方法区(或元空间),所有对象共享。

  • 实例变量每 new 一次就分配一份,在堆内存中,跟着对象走

  • 局部变量每次方法调用时在栈帧中临时创建,方法结束即销毁

    public class Variable {
        static int allClicks = 0;        // 类变量 → 方法区
        String str = "hello world";      // 实例变量 → 堆(每个对象一份)
    
        public void method() {
            int i = 0;                   // 局部变量 → 栈(方法调用时创建)
        }
    }
    
posted @ 2025-07-21 16:44  点态  阅读(13)  评论(0)    收藏  举报