Java数组(知识点总结)
  DosddciaWHNX 2023年12月08日 22 0


  • 数组是多个相同类型数据一定顺序排列的集合,使用一个名字命名,通过编号的方式来对这些数据进行统一管理。
  • 数组是引用数据类型,数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。
  • 在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。数组一旦初始化,长度就确定了,数组长度一旦确定不可修改。

1、数组元素的默认初始化值

  • int:0;
  • float: 0.0;
  • char: 0 而不是 ‘0’,实际输出既不是null,也不是空格
  • boolean:false
  • String等引用类型:null,意思是空值,而不是 "null"
public class ArrayTest{
   public static void main(String args[]){

      int[] ids = new int[]{1001, 1002, 1003}; //静态初始化:数组的初始化和数组元素的赋值操作同时进行
      String[] names = new String[5]; //动态初始化:数组的初始化和数组元素的赋值操作分开进行
      System.out.println(ids.length);  //数组长度
      //遍历数组
      for (int i = 0; i < ids.length; i++) {
         System.out.println(ids[i]);
      }
      // int 型数组元素默认初始化为 0
      char[] chs = new char[4];
      for (int i = 0; i < chs.length; i++) {
         System.out.println(chs[i]);
      }
      // String 型数组元素默认初始化为 null
      for (int i = 0; i < names.length; i++) {
         System.out.println(names[i]);
      }
   }
}

2、多维数组

Java 语言支持多维数组的语法。比如二维数组,本质上是把一个数组作为另一个数组的元素,从而实现多维。

public class ArrayTest{
   public static void main(String args[]){

      int[] arr = new int[]{1, 2, 3};
      int[][] arr2 = new int[][]{{1, 2, 3}, {4, 5}, {6, 7, 8}};  //静态初始化1,元素中数组长度可以不同
      int[][] arr7 = {{1, 2, 3}, {4, 5}, {6, 7, 8}}; //静态初始化2
      String[][] arr3 = new String[3][2];  //动态初始化1
      String[][] arr4 = new String[3][];  //动态初始化2
      String arr5[][] = new String[3][];  //动态初始化3
      String[] arr6[] = new String[3][];  //动态初始化4
      System.out.println(arr3); //[[Ljava.lang.String;@1b6d3586  地址值
      System.out.println(arr3[0]); //[Ljava.lang.String;@4554617c  地址值
      System.out.println(arr3[1]); //[Ljava.lang.String;@74a14482  地址值
      System.out.println(arr3[1][0]); //null

      System.out.println(arr6); //[[Ljava.lang.String;@1540e19d  地址值
      System.out.println(arr6[0]); //null
      System.out.println(arr6[1]); //null
      System.out.println(arr6[1][0]); //编译不通过:java.lang.NullPointerException
   }
}

3、Array 工具类

java.util.Array 类即为操作数组的工具类,包含了用来操作数组(比如排序和搜索)的各种方法。

Java数组(知识点总结)_Java

import java.util.Arrays;

public class ArrayTest{
   public static void main(String args[]){

      int[] arr = new int[]{1, 2, 3, 4, 5, 6, 7, 8};
      int[] arr2 = new int[]{1, 40, 3, 33, 5, 6, 7, 8};
      boolean b1 = Arrays.equals(arr, arr2);  //判断数组元素是否完全相等,结果为 true
      System.out.println(b1);
      System.out.println(Arrays.toString(arr));  //输出数组信息:[1, 2, 3, 4, 5, 6, 7, 8]
      Arrays.fill(arr, 10);  // 将数组元素全部填充或者变更为 10
      System.out.println(Arrays.toString(arr));  // [10, 10, 10, 10, 10, 10, 10, 10]
      Arrays.sort(arr2); // 数组排序
      System.out.println(Arrays.toString(arr2)); // [1, 3, 5, 6, 7, 8, 33, 40]

      int index = Arrays.binarySearch(arr2, 7);  // Arrays.binarySearch使用前提是数组必须从小到大排列有序的
      System.out.println(index);  //-2
   }
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月08日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   51   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   103   0   0 Java
  8s1LUHPryisj   2024年05月17日   43   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
DosddciaWHNX