【Java】 Java中数组的使用以及理解

Java中的数组

Java中的数组与其他语言类似都是一种基本类型或对象的集合,用来快速声明变量或作为存储结构

数组是什么:

所谓数组,是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。这些无序排列的同类数据元素的集合称为数组。

通俗的说:数组就是把 内容 编上号 然后起个 名字 而这个名字就是数组名称,我们可以去使用数组名称和标号找到指定的元素.

就像图片中的五个盒子对应着编号,将内容放入其中.在这里插入图片描述

数组的声明:

数组在Java中有两种声明方式
Java中的数组可以是 基本类型数组 也可以是 对象数组

  • 方式A(推荐):
    int[] a;
    double[] b;
    String[] c;
    Object[] d;
    ......
  • 方式B(类似C++):
    int a[];
    double b[];
    String c[];
    Object d[];
    ......

    注意

    为什么推荐使用 方法A:
    *Java是一门面向对象的语言,作为数组本身也是一个对象而作为一个对象我们需要换一种思路去思考
    如:
    int类型的数组他的对象类型为int[]
    double类型的数组他的对象类型为double[]
    那么

    int[] a = new int[5];

    实际上是实例化了一个int[]型的对象这和常规的声明对象变量的方式类似

创建数组(初始化):
  • 规定大小(假设大小为 5):
    int[] a = new int[5];
    double[] b = new double[5];
    String[] c = new String[5];
    Object[] d = new Object[5];
    ..
    • 直接赋值:
    int a[] = {1,2,3,4,5,6}; 
    double b[] = {1.1,3.43,4.3};
    String c[] = {"hi","hello"};
    Object d[] = {objectA,objectB};
    ......
数组的使用:
  • 取出其中一个元素

    现在有一个数组为

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

    我们取出他的第一个元素;

    int first = a[0];

    我们取出他的最后一个元素:

    int last = a[4];

    不难看出数组的下标是从 '0' 开始的那么一个长度为 '5' 的数组中的第一个元素的下标为 '0' 最后一个元素的下标为 '4'

  • 遍历所有元素

    如何一次性的找出所有数组内的内容呢?
    我们很自然的想到了使用循环去操作
    关于循环的使用:点击查看

    论使用哪种循环都可以对数组进行遍历,但是我们一般使用 for 循环对数组进行操作,因为这样让代码可读性更改,同时节约了系统资源.

    • 使用for循环遍历
    int[] a = {1,2,3,4,5};
    for(int n = 0 ; n<a.length ; n++){
        System.out.print( a[n] );
    }

    输出结果为: 12345
    上面的代码的作用:输出数组 a 中的所有内容.
    a.lentgh 的值:a 数组的长度 ‘5’.

    • 使用增强for循环 For-Each
    int[] a = {1,2,3,4,5};
    for(int n : a){
    	System.out.print(n);
    }

    输出结果为: 12345
    上面的代码的作用:输出数组 a 中的所有内容.
    使用 增强for循环可以一次性输出 数组中 所有内容实现对内容的快速遍历

数组在函数中的操作:
  • 数组作为函数参数:
    public static void printArray(int[] array) {
      for (int i = 0; i < array.length; i++) {
        System.out.print(array[i] + " ");
      }
    }

    函数作为参数时如上面代码一样进行传递,正如上面所说的数组实际上可以看做对象,那么数组类型本身就是对象类型,则直接编写对象名:int[ ]和形参array就实现了参数的传递`

  • 数组作为函数返回值:
    public static int[] reverse(int[] list) {
    int[] result = new int[list.length];
    
    for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
    result[j] = list[i];
    }
    return result;
    }

    与作为参数类似,把数组看做一个对象,函数的返回类型就是对象类型如上面的代码为:int[ ]然后直接返回数组名,也就是数组对象result

多维数组:

多维数组可以看做一个表格或者多个表格的嵌套:
一维数组:一行N列的表格
二维数组:N行N列的表格
三维数组:N行N列的表格中每个单元格嵌套了一个一一维数组(一行N列的表格)
四维数组:N行N列的表格中每个单元格嵌套了一个一二维数组(N行N列的表格)
.......以此类推

  • 创建一个多维数组:
    int[][] num = new int[3][5];

    上面的代码创建了一个 二维数组 也可以以理解为 创建了一个int[ ][ ]类型的对象

    相当于表格:

    [0][0][0][1][0][2][0][3]
    [1][0][1][1][1][2][1][3]
    [2][0][2][1][2][2][2][3]
  • 为多维数组赋值
    • 在声明数组时直接赋值:
      int[][] num1 = {{1,2,3},{1,2,3}};
    • 在声明后赋值:
      int[][] num = new int[3][5];
      num[0][0] = 1;
      int[][] num2 = new int [2][];
      num2[0][] = {1,2,3};
      num2[1][] = {1,2,3};
      在多维数组中只有最后一个维度的数量可以不用定义 如:num2

Arrays 类的使用:

Arrays类 作用是让开发者更加方便的操作数组,包括排序,比较等等.
包位于 java.util.Arrays
Arrays中全是静态方法可以使用类名直接调用.

  • 主要功能:
    • 查找指定对象 并返回下标
      public static int binarySearch(Object[] a, Object key)
    • 对比指定对象 成功返回true失败返回false
      public static boolean equals(long[] a, long[] a2)
    • 填充每一个元素
      public static void fill(int[] a, int val)
    • 对有序元素排序
      public static void sort(Object[] a)

以上便是Java数组的基本内容,如有错误欢迎指正.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值