zoukankan      html  css  js  c++  java
  • Java基础——数组

    数组

    什么是数组?

    存储一组具有相同类型的数据元素的有序集合

    数组的特点

    了解一个人或某种事物,必须先了解其特点

    • 在整个生命周期中,长度固定不可变
    • 可存储基本类型元素引用类型元素
    • 同一数组必须存储相同类型的元素
    • 数组元素是有序的,顺序位置由数组下标决定

    一维数组

    声明

    //数组类型 标识符[];
    //or
    //数组类型[] 标识符;
    int arr[];
    float[] arr1;
    

    初始化

    初始化是JVM给数组分配内存空间的重要步骤,
    数组声明后必须进行初始化才可以使用。

    给数组元素分配内存并为数组元素赋值的过程就是数组的初始化。

    • 静态初始化

      • 初始化值直接由大括号“{ }”中的数据给出
      • 适用于数组的元素不多且初始元素有限
      //数据类型[] 标识符 = {数据元素1,数据元素2...};
      int arr[] = {1,2,3,4};
      String[] arrStr = {"i","love","u"};
      
    • 动态初始化

      • new操作符为数组分配内存
      • 分配之后再为每个元素赋值
      //数据类型 标识符[] = new 数据类型[分配内存数];
      int arr[] = new int[5];
      for(int i = 0;i<5;i++){
         arr[i] = i+1;
      }     
      

    使用

    数组的使用都是通过数组名和下标值进行操作

    //数组名[下标值];
    int arr[] = {1,2,3};
    int i = arr[2];
    System.out.println(i);
    
    3
    

    二维数组

    一维数组能够处理简单的问题,不过遇到较为复杂的情况,就需要多维数组进行处理了
    多维数组可以看成是数组的数组,
    多维数组中每个元素可以看成低维数组,
    我们借由二维数组类推多维数组即可。

    声明

    //数据类型 标识符[][];
    //数据类型[][] 标识符;
    //数据类型[] 标识符[];
    int[][] arrs;
    int arrs2[][];
    int[] arrs3[];
    

    初始化

    二维数组的初始化和一维数组相似,
    一维数组的元素数据类型是一维数组.

    • 静态初始化
      int num[][] = {{1,2},{3,4},{5}};
      char[][] ch = {{'l','o'},{'v'},{'e'}};
      
    • 动态初始化
      String[][] strs = new String[2][4];
      

    Arrays类

    数组可以通过下标值进行使用和操作,如果数据量太大或者数组比较复杂,那么操作起来比较困难。
    所以Java中由一个Arrays工具类,辅助进行数组操作。

    使用该类需要导入包java.util.Arrays;
    导入后我们即可使用Arrays的静态方法(Arrays所有方法都是静态的)

    方法 参数 实现
    copyOf() (数组名,复制的长度) 数组的复制
    fill() (数组名,初始值) 数组元素初始化
    sort() (数组名) 数组的排序
    binarySearch() (数组名,查找的值) 排序后数组元素的查找

    博客相关java项目:查看Github项目
    对应github项目:ShuZu
    导入项目的方法: Java基础——Java如何导入本地项目

  • 相关阅读:
    「APIO2017」商旅
    【CQOI2017】小Q的表格
    【HNOI2016】树
    【NOI2018模拟】Yja
    测试
    Loj #6073.「2017 山东一轮集训 Day5」距离
    「AHOI / HNOI2017」影魔
    Loj 6068. 「2017 山东一轮集训 Day4」棋盘
    【SDOI2014】向量集
    远程服务器安装nginx
  • 原文地址:https://www.cnblogs.com/occlive/p/13345592.html
Copyright © 2011-2022 走看看