当前位置: 主页 > JAVA语言

java二维数组初始化-c++ 二维对象数组

发布时间:2023-02-12 07:19   浏览次数:次   作者:佚名

C#支持一维数组、多维数组(矩形数组)和数组的数组(交错数组)。 以下示例显示了如何声明不同类型的数组:

一维数组:

int[] numbers; 

多维数组:

string[,] names; 

数组的数组(交错):

byte[][] scores; 

声明数组(如上所示)实际上并没有创建它们。 在 C# 中,数组是对象(在本教程后面讨论)并且必须被实例化。 以下示例显示了如何创建数组:

一维数组:

int[] numbers = new int[5]; 

多维数组:

string[,] names = new string[5,4]; 

数组的数组(交错):

byte[][] scores = new byte[5][]; 

for (int x = 0; x < scores.Length; x++)  

{ 

scores[x] = new byte[4]; 

} 

java二维数组初始化_java 二维对象数组_c++ 二维对象数组

更大的阵列也是可能的。 例如,您可以拥有三维矩形数组:

int[,,] buttons = new int[4,5,3]; 

您甚至可以混合矩形和锯齿状阵列。 例如,下面的代码声明了一个由二维数组组成的二维数组的一维数组,类型为int。

int[][,,][,] numbers; 

初始化数组 

C# 提供了一种在声明时初始化数组的简单直接的方法,方法是将初始值括在大括号 ({}) 中。 以下示例显示了初始化不同类型数组的各种方法。

注意,如果数组声明时没有初始化,数组成员会自动初始化为数组类型的默认初始值。 此外,如果将数组声明为类型的字段,则在实例化该类型时,它会被设置为默认值 null。

一维数组

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

string[] names = new string[3] {"Matt", "Joanne", "Robert"}; 

数组的大小可以省略如下:

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

string[] names = new string[] {"Matt", "Joanne", "Robert"}; 

如果提供了初始值设定项,也可以省略 new 运算符,如下所示:

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

string[] names = {"Matt", "Joanne", "Robert"}; 

多维数组

int[,] numbers = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} }; 

java 二维对象数组_c++ 二维对象数组_java二维数组初始化

string[,] siblings = new string[2, 2] { {"Mike","Amy"}, {"Mary","Albert"} }; 

数组的大小可以省略如下:

int[,] numbers = new int[,] { {1, 2}, {3, 4}, {5, 6} }; 

string[,] siblings = new string[,] { {"Mike","Amy"}, {"Mary","Albert"} }; 

如果提供了初始值设定项,也可以省略 new 运算符,如下所示:

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

string[,] siblings = { {"Mike", "Amy"}, {"Mary", "Albert"} }; 

锯齿状数组(数组的数组)

锯齿状数组可以按以下示例所示进行初始化:

int[][] numbers = new int[2][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} }; 

第一个数组的大小可以省略,如下所示:

int[][] numbers = new int[][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} }; 

-或者-

int[][] numbers = { new int[] {2,3,4}, new int[] {5,6,7,8,9} }; 

请注意,交错数组的元素没有初始化语法。

(3) C++

1、一维数组的定义和初始化

1.1 定义一维数组

java 二维对象数组_java二维数组初始化_c++ 二维对象数组

诠释 [3];

这个定义表示一个整型数组,一共有3个元素,下标分别为[0]、[1]、[2]。

1.2 一维数组初始化

可以通过以下方式初始化。

①定义数组时,分别给数组元素赋初值。

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

②只给部分元素赋值。

int a[3]={0,1};

这意味着只给前两个元素赋初值,后面的元素值默认为0。

③ 给所有数组元素赋初值时,可以不指定数组的长度。

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

可以写成

int a[]={0,1,2};

第二种写法,花括号中有3个元素,系统会自动相应地定义a数组的长度为3。 但是,如果定义的数组长度与提供的初始值个数不同java二维数组初始化,则数组长度不能省略。

2、二维数组的定义和初始化

2.1 定义一个二维数组

诠释[3][4];

修改后的定义表示一个 3x4(3 行和 4 列)整数数组。 你可以把这个二维数组想象成:

java二维数组初始化_java 二维对象数组_c++ 二维对象数组

|---a[0]:a[0][0],a[0][1],a[0][2],a[0][3]

a |--a[1] :a[1][0],a[1][1],a[1][2],a[1][3]

|--a[2] :a[2][0],a[2][1],a[2][2],a[2][3]

在C++中,二维数组的元素排列顺序是:按行存储,即第一行的元素依次存储在内存中java二维数组初始化,第二行的元素依次存储,然后向下。

2.2 二维数组初始化

可以通过以下方式初始化。

①逐行给二维数组赋初值。

int a[3][4]={{0,1,2,3},{4,5,6,7},{8,9,10,11}};

②把所有的数据写在花括号里,按照数组排列的顺序给每个元素赋初值。

int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};

③ 只给部分元素赋初值。

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

1 0 0 0

2 0 0 0

4 0 0 0

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

1 0 0 0

0 2 0 0

c++ 二维对象数组_java 二维对象数组_java二维数组初始化

0 0 4 0

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

1 0 0 0

3 2 0 0

0 0 0 0

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

1 0 0 0

0 0 0 0

9 0 0 0

④如果所有元素都赋初值,定义数组时可以不指定第一维的长度,但必须指定第二维的长度。

int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};

可以写成

int a[][4]={0,1,2,3,4,5,6,7,8,9,10,11};

定义的时候,也可以给一些元素赋初值,省略第一维的长度,但是要给每一行赋初值。

int a[][4]={{0,0,1},{},{0,9}};

0 0 1 0

0 0 0 0

0 9 0 0