zoukankan      html  css  js  c++  java
  • 1、变量

    Java中的变量

    1、变量存储的位置

    1.1 什么是变量?

    • 就是用来存储数据的;

    • 数据存储在内存中

    1.2 为什么需要变量?

    • 如果没有变量,那么程序运行中会定义许多的数据、直接操作内存地址、编写难度很高!

    1.3变量的定义

    变量类型 变量名称 = 变量值;
    eg:
    int a = 10;
    

    ps:

    • 变量名称和变量类型中间至少有一个空格(建议一个空格)
    • 赋值符号(运算符)左右可以没有空格(建议两边加上空格)
    • 每条语句都以英文分号结尾;

    1.4变量赋值的过程

    int a = 10;
    
    1. 先执行赋值符号右边(在堆内存定义一个值10,其有内存地址0X01)
    2. 再执行赋值符号左边(在栈内存定义一个引用a)
    3. 执行赋值运算(把引用a的数据设置成数据的内存地址0X01)

    2、Java变量类型

    3、全局变量和局部变量

    其思维导图大概如下:

    3.1全局变量(成员变量)

    全局变量(成员变量)
    全局变量又叫成员变量,它是声明在类里,函数,静态语句块外的变量,全局变量又分为类变量(静态变量)、实例变量两种.

    private int i;//实例变量
    private static int j;//类变量
    

    实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同。而由static修饰的类变量(静态变量)在类装载的时候就会被初始化,也就是说一处修改多处改变.

    3.2局部变量

    方法内定义的变量叫局部变量,因为只能在方法内部使用,固不可以用private,public,protect来修饰。

    {
    int k;//局部变量
    }
    

    3.3类变量

    类变量:又叫静态变量 用static修饰 它可以直接用类名调用 也可以用对象调用 而且所有对象的同一个类变量都是共享同一块内存空间的.

    3.4实例变量

    实例变量:不用static修饰 它只能通过对象调用 而且所有对象的同一个实例变量是共享不同的内存空间的.

    3.5实例变量和静态变量的区别

    1、两个变量的生命周期不同
    实例变量随着对象的创建而存在,随着对象的回收而释放。
    静态变量随着类的加载而存在,随着类的消失而消失。

    2、调用方式不同
    实例变量只能被对象调用。
    静态变量可以被对象调用,还可以被类名调用。

    3、数据存储位置不同
    实例变量存储在堆内存的对象中,所以也叫对象的特有数据。
    静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。

    3.6全局变量和局部变量的区别

    全局变量:
    1、成员变量定义在类中,在整个类中都可以被访问。
    2、成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。(实例变量);静态变量存储在方法区中,Non-Heap
    3、成员变量有默认初始化值。

    局部变量:
    1、局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。
    2、局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。
    3、局部变量没有默认初始化值

    static修饰的静态变量与实例变量的区别,及其在初始化和内存中的运行机制详解

  • 相关阅读:
    思念
    空白
    curl json string with variable All In One
    virtual scroll list All In One
    corejs & RegExp error All In One
    socket.io All In One
    vue camelCase vs PascalCase vs kebabcase All In One
    element ui 表单校验,非必填字段校验 All In One
    github 定时任务 UTC 时间不准确 bug All In One
    input range & color picker All In One
  • 原文地址:https://www.cnblogs.com/loading955/p/14074661.html
Copyright © 2011-2022 走看看