一维数组

一维数组的基本概念

数组是相同数据类型的多个元素的容器,元素按线性顺序排列,再Java语言中体现为一种引用数据类型。
image.png

一位数组的声明方式

  • 数组类型[] 数组名称 = new 数组类型[数组的长度]
  • 调用数组的length属性可以获取其长度
  • 可以通过下标访问数组中的每个元素,下标是从0开始,长度为n的数组最大下标为n-1。

01一维数组的基本概念.png

一维数组的使用

  • 数组的默认值:

    1. /*
    2. 编程实现一维数组的声明和使用
    3. */
    4. public class ArrayTest {
    5. public static void main(String[] args) {
    6. // 1.声明一个长度为2元素类型为int类型的一维数组
    7. // 数据类型[] 数组名称 = new 数据类型[数组的长度];
    8. //int arr1[] = new int[2]; // 两种方式从结果上来说是一样的,不推荐使用
    9. //int num = 2; // 声明一个初始值为2的变量
    10. int[] arr1 = new int[2]; // 推荐该方式,更容易与变量的声明区分,提高了代码的可读性 动态方式
    11. // 2.打印一维数组的长度以及每个元素的数值
    12. System.out.println("数组的长度是:" + arr1.length); // 2 下标从0 ~ 1
    13. System.out.println("下标为0的元素是:" + arr1[0]); // 0 默认值
    14. System.out.println("下标为1的元素是:" + arr1[1]); // 0
    15. //System.out.println("下标为2的元素是:" + arr1[2]); // 编译ok,运行发生ArrayIndexOutOfBoundsException数组下标越界异常
    16. System.out.println("------------------------------------------------");
    17. // 3.使用for循环打印数组中的所有元素
    18. for(int i = 0; i < arr1.length; i++) {
    19. System.out.println("下标为" + i + "的元素是:" + arr1[i]); // 全是0
    20. }
    21. // 7.直接通过数组名来打印数组中的所有元素
    22. System.out.println("arr1 = " + arr1); // 地址信息
    23. System.out.println("------------------------------------------------");
    24. // 4.声明一个长度为5元素类型为double类型的一维数组
    25. double[] arr2 = new double[5];
    26. // 打印数组中每个元素值
    27. for(int i = 0; i < arr2.length; i++) {
    28. System.out.println("下标为" + i + "的元素是:" + arr2[i]); // 全是0.0
    29. }
    30. System.out.println("------------------------------------------------");
    31. // 5.声明数组的同时就对数组中的元素进行初始化 静态方式的简化版
    32. char[] arr3 = {'a', 'b', 'c', 'd'};
    33. // 打印数组中的每个元素值
    34. for(int i = 0; i < arr3.length; i++) {
    35. System.out.println("下标为" + i + "的元素是:" + arr3[i]); // a b c d
    36. }
    37. System.out.println("------------------------------------------------");
    38. // 6.特殊的写法 静态方式
    39. boolean[] arr4 = new boolean[]{true, true, false, false};
    40. // 打印数组中的每个元素值
    41. for(int i = 0; i < arr4.length; i++) {
    42. System.out.println("下标为" + i + "的元素是:" + arr4[i]); // true true false false
    43. }
    44. }
    45. }

一维数组的初始化

image.png

内存结构分析

变长数组

主要是指变量可以作为数组的长度,但绝不是数组的长度可以发生变化。

数组工具类的概念

java.util.Arrays
image.png
image.png

二维数组

image.png