在 Java 中声明一个数组
在 Java 中声明一个数组
下面提到了几种在 Java 语言中声明一维数组的方法。在给出的代码之后给出了详细的描述。
import java.util.stream.IntStream;
public class DeclareAnArray {
public static void main(String[] args) {
int[] intArr1 = new int[3];
int[] intArr2 = {3, 4, 5};
int[] intArr3 = new int[] {3, 4, 5};
int intArr4[] = IntStream.range(0, 10).toArray();
int[] intArr5 = IntStream.of(2, 5, 3, 8, 1, 9, 7).toArray();
int[][] intArr6 = new int[5][2];
int intArr7[][] = new int[5][2];
int[] intArr8[] = new int[5][2];
int[][] intArr9 = {{1, 2}, {1, 2}, {1, 2}, {1, 2}, {1, 2}};
}
}
描述是按照代码中语句的顺序依次给出的。
int[] intArr1 = new int[3];
是 Java 语言中声明一维数组的最简单方法。首先,编写我们想要创建数组的数据类型,因为 int
是数据类型。现在继续在数据类型名称后添加方括号 []
,这意味着我们已经声明了一个未定义大小的整数数组。在数据类型名称后给一个变量名称作为 intArr1
。向右移动,在 =
运算符之后放置一个 new
关键字。关键字 new 状态实例化一个对象并在堆区域中为其分配内存。它继续进行最初给定的数据类型的构造函数调用。由于要声明数组,构造函数采用方括号中的数组大小。=
运算符将创建的对象分配给引用变量。因此,一个大小为 3
的整数数组被声明为变量为 intArr1
。
int[] intArr2 = {3, 4, 5};
是另一种在一个地方声明和实例化值的方法。在这种情况下,我们在 =
运算符的左侧给出数据类型和变量名称。在它的右侧,我们直接在大括号 {}
中提供值。在这种情况下,数组的大小通过声明的值数量在内部进行评估。因此,创建了一个大小为 3 的整数数组,其值分别为索引 0,1,2 处的 3,4 和 5。考虑一下,我们在实例化时不向数组提供任何数据,然后使用其默认值初始化数组。
int[] intArr3 = new int[]{3, 4, 5};
在所有方面都与第二个类似,但相当冗长。这里的数组声明与第一种方式相同。唯一的区别是,我们没有明确给出大小,因为在 {}
大括号中定义值时,大小是隐式计算的。因此,一个大小为 3 的整数数组和初始值也被初始化。
下一个方法是 int intArr4[] = IntStream.range(0, 10).toArray();
。通过这种方式,我们使用 Java 8
及其功能来创建和初始化所需类型的数组。和左边的声明原型不同。这是另一种声明数组的方法,其中方括号与变量名一起。所以 intArr4[]
是一个有效的名称。继续前进,IntStream
是 java.util.Stream
包中提供的接口。方法 range
是 IntStream
接口中的静态工厂方法,返回整数值的 IntStream
。它采用两个值作为参数来定义数组的下限(包含)和上限(不包含)。最后,使用 toArray
函数将生成的整数流转换为数组,这是一个终端运算符。
int [] intArr5 = IntStream.of(2, 5, 3, 8, 1, 9, 7).toArray();
表示另一种声明数组的方式。这表示在数据类型和方括号之间放置一个空格是有效的。在 Java 8 中,我们可以使用 of()
函数来定义整数值流。指定的值按顺序存储在整数 Stream 中。然后使用 toArray
函数将该流收集到一个数组中。
在 Java 中声明一个二维数组
二维数组是将行和列完全组合在一个单元中。二维数组的声明包括按顺序定义行和列。第一个值定义行数,第二个值定义列数。
int intArr7[][] = new int[5][2];
和 int[] intArr8[] = new int[5][2];
是大小为 5 x 2 的数组的有效声明,其中 5 是行数,2 是列数。
int[][] intArr9={ {1,2}, {1,2}, {1,2}, {1,2}, {1,2} };
是一种定义二维数组的方法,其中我们没有明确提供。大小是通过花括号中的参数数量在内部计算的。并且花括号的嵌套表示值将被插入到 row1 中,并在前面以逗号分隔的值进行处理。
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn