• JAVA中的数组


    0x01 什么叫做数组?

    数组:是存储同一种数据类型的集合容器

    0x02 数组的初始化方式

    1 动态初始化
    方法:数据类型[] 数组名 = new 数据类型[数组长度]
    例如:

    int[] arr = new int[100];

    上面的这条语句定义了一个长度为100的整型数组。当然我们也可以采用像在c语言中定义数组的方式,不过在java中并不常用,在此不再介绍。
    2 静态初始化
    方法:数据类型[] 数组名 = {数据元素}
    例如:

    int[] arr = {1,2,3,4...}

    注:如果数组在一开始就确定了大小,那么这时候建议使用静态初始化。

    0x03 匿名数组

    直接进行初始化:

    new int[] {1,2,3,4,5};

    这时候可以直接用一开始定义的arr数组指向

    arr = new int[] {1,2,3,4.....}

    0x04 数组的复制

    我们可以设置一个数组

    int[] arr = new int[100];
    int[] arr1 = arr;

    此时arr中的元素全都是0,实际上arr1与arr指向的是痛一个数组,如果修改arr[0]时,arr[0]与arr1[0]的值是相等的。
    那么应该如何做到真正的复制一个数组呢?
    这时候就需要用到Arrays类中的copyOf方法,利用这个方法,就可以将数组进行复制。如:

    int[] arr1 = Arrays.copyOf(arr,arr.length);

    arr.length获得的是数组的长度,这样就可以做到数组的复制了。

    0x04 多维数组

    其实,多维数组的定义及初始化方式和一维数组是类似的
    静态初始化:

    数据类型[][]  变量名 = {{元素1,元素2...},{元素1,元素2...},{元素1,元素2...} ..}
    

    动态初始化:

    数据类型[][]  变量名 = new 数据类型[大小][大小]

    0x05数组的特点

    1. 数组只能存储同一种 数据类型的数据。
    2. 数组是会给存储到数组中 的元素分配一个索引值的,索引值从0开始,最大的索引值是length-1;
    3. 数组一旦初始化,长度固定。
    4. 数组中的元素与元素之间的内存地址是连续的。

    0x06结语

    感谢您的阅读,欢迎指正博客中存在的问题,也可以跟我联系,一起进步,一起交流!

    微信公众号:进击的程序狗
    邮箱:roobtyan@aliyun.com
    个人博客:https://roobtyan.github.io

  • 相关阅读:
    POJ 1364 King (差分约束系统)
    COJ 1086: 超市购物 (背包问题)
    OpenGL 视图和颜色的概念
    OpenGL 位图和图像概念
    OpenGL 状态管理和绘制几何体
    java jni和android java ndk
    android ndk(2)
    effective c++ 跨编译单元之初始化次序 笔记
    OpenGL 帧缓冲区
    c++ 自动对象、静态局部对象和内联函数
  • 原文地址:https://www.cnblogs.com/roobtyan/p/9576740.html
Copyright © 2020-2023  润新知