zoukankan      html  css  js  c++  java
  • 数组

    int[] a = new int[6];

    int 表示数组里面存放数据的数据类型

    [] 表示数组

    a 表示数组名

    new 新开辟一个堆内存空间

    new int[] 新开辟的类型控件为int 类型的数组

    6 表示数组长度

    = 将新开辟的空间赋予数组a

    数组定义格式:

    动态初始化

    元素类型[] 数组名 = new 元素类型[10];

    元素类型 数组名[] = new 元素类型[10];

    静态初始化

    元素类型[] 数组名 = {元素1,元素2...};

    元素类型[] 数组名 = new 元素类型[]{元素1,元素2...};

    区别:动态一开始只知道元素类型和元素个数,不清楚具体的值,在使用的时候赋值

    静态在类加载的时候,就已经创建好空间并赋值了。


    数组在内存中的理解:

    * 数组新创建的时候放在栈里,在堆空间开辟对应数量的空间,预留给栈里的数组
    * 数组的实际值在对空间里,并且会赋予默认值
    * 栈存放的是堆内存指向的地址,以及基本数据类型的值

    * int[] j = null;
    * 指向的是一个空,引用时发生的是空指针异常,一般就是对象没有被声明
    * 引用时也就是引用了一个未被声明的地址


    关于 = 的一个特点:

    在堆内存中为数组asd开辟了一片空间,并将地址传给栈中的asd

    然后栈中的zxc在执行代码后,获得的是数组asd在堆中的地址,对两个数组其中一个修改,两个数组在引用时的结果相同

    所以输出的结果就是45

    int[] asd = {1,2,3,4};

    int[] zxc = asd;

    zxc[2] = 45;

    System.out.println(asd[2]);

  • 相关阅读:
    python_request中params和data
    python_多线程加锁
    python_多线程join和setDaemon
    python_faker模块
    python_jsonpath模块
    MyBatis-自定义结果映射规则
    MyBatis-SELECT基本查询
    MyBatis-参数处理
    MyBatis-mybatis全局映射文件解析
    MySQL高级-主从复制
  • 原文地址:https://www.cnblogs.com/bkytep/p/9614073.html
Copyright © 2011-2022 走看看