💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] # 简介 在Java中,可以使用以下格式来定义一个数组。如下 ~~~ 数据类型[] 数组名 = new 数据类型[元素个数或数组长度]; int[] x = new int[100]; ~~~ 这些变量的初始值都是0 # 数组的长度 `.length` # 数组的定义有2种形式 1. `类型[] 数组名 = new 类型[]{元素,元素,……};` 2. `类型[] 数组名 = {元素,元素,元素,……};` **代码千万不可写成int[] arr = new int[4]{1,2,3,4};,这样写编译器会报错。原因在于编译器会认为数组限定的元素个数[4]与实际存储的元素{1,2,3,4}个数有可能不一致,存在一定的安全隐患** # 数组的异常 ## 数组越界 数组越界异常ArrayIndexOutOfBoundsException,出现这个异常的原因是数组的长度为4,其索引范围为0~3,而代码使用索引4来访问元素时超出了数组的索引范围。 ## 空指针异常 在使用变量引用一个数组时,变量必须指向一个有效的数组对象,如果该变量的值为null,则意味着没有指向任何数组,此时通过该变量访问数组的元素会出现空指针异常NullPointerException # 二维数组定义 ## 第一种方式 ~~~ int[][] arr = new int[3][4]; ~~~ 上面的代码相当于定义了一个`3*4`的二维数组,即二维数组的长度为3,二维数组中的每个元素又是一个长度为4的数组 ## 第二种方式 ~~~ int[][] arr = new int[3][]; ~~~ 第二种方式和第一种类似,只是数组中每个元素的长度不确定 ## 第三种方式 ~~~ int[][] arr = {{1,2},{3,4,5,6},{7,8,9}}; ~~~ 上面的二维数组中定义了三个元素,这三个元素都是数组,分别为{1,2}、{3,4,5,6}、{7,8,9}