Java中的变量、常量、作用域【个人回顾总结版】

Java中的变量、常量、作用域【个人回顾总结版】

一、变量

变量:暂存位置——程序中的最基本存储单元
命名:数据类型 变量名=值 eg:int a=10; 

1.1 变量分类

在这里插入图片描述

1.2 局部变量

局部变量:存在于 方法里面(main方法和其他普通方法都可) 必须先声明和初始化值 才能用

实战案例如下:

public class MyClass {
    
    
    
    /**
     * main方法  程序的主类
     * @param args
     */
    public static void main(String[] args) {
    
    
        /**
         * 局部变量:存在于 方法里面(main方法和其他普通方法都可)
         *      必须先声明和初始化值 才能用
         */
        String name="李";
        /**
         * 因为上面声明并且给予了name初始化值 所以 这里才能输出
         */
        System.out.println(name);

    }

    /**
     * 其他方法
     */
    public void add(){
    
    
        /**
         * 局部变量 也可以写在这里面
         */
    }
}

在这里插入图片描述

1.3 实例变量

实例变量:从属于对象 存在于类里面但不在方法里面

实战案例如下:

(1)给实例变量赋值

public class MyClass {
    
    
    /**
     * 实例变量 :从属于对象  存在于类里面但不在方法里面
     */
    String name;
    int age;


    /**
     * main方法  程序的主类
     * @param args
     */
    public static void main(String[] args) {
    
    

        /**
         * 实例变量定义在类中,但不在方法中,并且实例变量从属于对象。
         *于是 在方法中使用的时候 需要先创建对象,然后根据对象来调用里面的变量
         */
        MyClass myClass = new MyClass();
        myClass.name="李李李";
        myClass.age=10;
        System.out.println(myClass.name);
        System.out.println(myClass.age);


    }

    /**
     * 其他方法
     */
    public void add(){
    
    
        /**
         * 局部变量 也可以写在这里面
         */
    }
}

在这里插入图片描述
(2)不给实例变量赋值,也会有默认值

```csharp
public class MyClass {
    
    
    /**
     * 实例变量 :从属于对象  存在于类里面但不在方法里面
     */
    String name;
    int age;


    /**
     * main方法  程序的主类
     * @param args
     */
    public static void main(String[] args) {
    
    

        /**
         * 实例变量定义在类中,但不在方法中,并且实例变量从属于对象。
         *于是 在方法中使用的时候 需要先创建对象,然后根据对象来调用里面的变量
         */
        MyClass myClass = new MyClass();
//        myClass.name="李李李";
//        myClass.age=10;
//        System.out.println(myClass.name);
//        System.out.println(myClass.age);
        /**
         * 当然上面如果不给予实例变量初始值 也会有一个默认值
         */
        System.out.println(myClass.name);
        System.out.println(myClass.age);

    }

    /**
     * 其他方法
     */
    public void add(){
    
    
        /**
         * 局部变量 也可以写在这里面
         */
    }
}

如果不进行初始化,就会有默认值。
所有的数值类型 初始化一般都是0/0.0
布尔值 默认是false
除了8大基本类型以外 其他的默认值都是null

在这里插入图片描述

1.4 类变量

public class MyClass {
    
    
    /**
     *类变量 使用static关键字
     */
    static double salary=2500;
    
    /**
     * main方法  程序的主类
     * @param args
     */
    public static void main(String[] args) {
    
    
        /**
         * 因为salary定义的是一个类变量 是随着类的出现而出现的
         * 这里不用创建对象 直接调用
         */
        System.out.println(salary);

    }

    /**
     * 其他方法
     */
    public void add(){
    
    
        /**
         * 局部变量 也可以写在这里面
         */
    }
}

在这里插入图片描述
三种变量写在一个类中进行对比

public class MyClass {
    
    
    /**
     *类变量 使用static关键字
     */
    static double salary=2500;



    /**
     * 实例变量 :从属于对象  存在于类里面但不在方法里面
     */
    String name;
    int age;


    /**
     * main方法  程序的主类
     * @param args
     */
    public static void main(String[] args) {
    
    

        /**
         * 实例变量定义在类中,但不在方法中,并且实例变量从属于对象。
         *于是 在方法中使用的时候 需要先创建对象,然后根据对象来调用里面的变量
         */
        MyClass myClass = new MyClass();
        myClass.name="李李李";
        myClass.age=10;
        System.out.println(myClass.name);
        System.out.println(myClass.age);
        /**
         * 当然上面如果不给予实例变量初始值 也会有一个默认值
         */
        System.out.println(myClass.name);
        System.out.println(myClass.age);
        /**
         * 因为salary定义的是一个类变量 是随着类的出现而出现的
         * 这里不用创建对象 直接调用
         */
//        System.out.println(salary);

    }

    /**
     * 其他方法
     */
    public void add(){
    
    
        /**
         * 局部变量 也可以写在这里面
         */
    }
}

二、常量

初始化值后,不能再改变值。 所谓常量可以理解为一种特殊的变量,它的值被设定后,在程序运行中不允许被改变。 使用关键字 final来修饰
常量名一般使用大写字母就可以了

public class MyClass {
    
    
    /**
     * 定义常量
     */

    final static double PI=3.14;

    public static void main(String[] args) {
    
    
        System.out.println(PI);
    }

在这里插入图片描述

public class MyClass {
    
    
    /**
     * 定义常量
     */

    final double PI=3.14;

    public static void main(String[] args) {
    
    
        MyClass myClass = new MyClass();
        System.out.println(myClass.PI);
    }

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/junR_980218/article/details/125085546
今日推荐