Chapter2 数组

2.1 数组概述

  • 引用数据类型
  • 内存中连续的空间
  • 长度不能修改

    2.2 一维数组

    1. 声明与初始化

    // 1. 声明
    int[] num; 
    
    //2. 初始化
    // 静态初始化
    num = new int[]{1001,1002,1003,1004};
    // 动态初始化
    String[] names = new String[5];
    默认初始化值:
  • 整型: 0
  • 浮点型: 0.0
  • 字符: 0
  • boolean: false
  • String: null

    2. 内存解析

  1. 局部变量:栈(stack)
  2. new-对象、数组:堆(heap)
  3. 常量池、静态域:方法区

    2.3 多维数组

    1. 声明与初始化

    // 静态初始化
    int[][] arr = new int[][]{{1,2,3},{1,2},{2,5}};
    // 动态初始化1
    String[][] arr2 = new String[3][2]
    //动态初始化2
    String[][] arr2 = new String[3][]//arr2[i]=null

    2. 数组长度

    arr.length;
    arr[1].length;

    3. 数组常见算法

  4. 冒泡排序
  5. 快速排序

    2.4 Arrays工具类

  6. boolean equals(array1,array2)
    判断两个数组是否相等, boolean
  7. String toString(array)
    Arrays.toString(array1);
  8. void fill(array, int b)
    将指定值填充的数组中(即将数组中元素替换为该值)
  9. void sort(array)
    对数组进行排序
  10. int binarySearch(array, int key)
    寻找元素,返回索引位置,未找到则为负

    2.5 数组常见异常

  11. 角标越界异常
  12. 空指针异常