繁体   English   中英

声明后初始化数组

[英]Initializing an array after the declaration

为什么我们在声明变量后不能使用数组初始化器。

例如:

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

但,

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

是正确的。 有什么方法可以在声明变量后使用数组初始化。

这是可以的。

int arr[];

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

因为数组不能像Java中那样工作。

int arr[4];
arr[0] = 1; 
arr[1] = 2; 
arr[2] = 3; 
arr[3] = 4;

创建数组,声明,分配和初始化它分三个步骤。

声明数组像Java中的其他变量一样,数组必须具有特定的类型,例如byte,int,String或double。 只能将适当类型的变量存储在数组中。 例如,您不能有一个同时存储整数和字符串的数组。

像Java中的所有其他变量一样,必须声明一个数组。 声明数组变量时,可以在类型后加上[]后缀,以表明此变量是数组。 这里有些例子:

int [] k; float [] yt; 字符串[]名称;

换句话说,您声明数组的方式就像声明其他变量一样,只是在变量类型的末尾添加了括号。

分配数组声明数组仅说明其含义。 它不会创建数组。 要实际创建数组(或任何其他对象),请使用new运算符。 当我们创建一个数组时,我们需要告诉编译器其中将存储多少个元素。 这是我们创建上面声明的变量的方式:

k =新的int [3]; yt =新的float [7]; 名称=新的String [50];

括号中的数字指定数组的尺寸; 即它必须容纳多少个插槽。 尺寸大于k时,可以容纳三个整数,yt可以容纳七个浮点数,名称可以容纳五十个字符串。 因此,此步骤有时称为确定数组尺寸。 通常,这称为分配阵列,因为此步骤实际上将阵列所需的RAM中的内存留出了。

这也是我们对新运算符的首次关注。 new是java中的保留字,它不仅用于分配数组,而且还分配各种对象。 Java数组是具有所有含义的成熟对象。 目前,这主要意味着我们必须为它们分配新的。

初始化数组数组的各个元素由数组名称和代表它们在数组中位置的整数引用。 我们用来识别它们的数字称为数组的下标或索引。 下标是从0开始的连续整数。因此,上面的数组k具有元素k [0],k [1]和k [2]。 因为我们开始从零开始计数,所以没有k [3],尝试访问它会生成ArrayIndexOutOfBoundsException。

您可以在使用不属于数组的类似类型变量的任何地方使用数组元素。

这是我们将值存储在一直使用的数组中的方式:

k [0] = 2; k [1] = 5; k [2] = -2; yt [6] = 7.5f; names [4] =“弗雷德”;

我们甚至可以同时声明,分配和初始化数组,在方括号内提供初始值列表,如下所示:

int [] k = {1,2,3}; float [] yt = {0.0f,1.2f,3.4f,-9.87f,65.4f,0.0f,567.9f};

参见http://www.cafeaulait.org/javatutorial.html#xtocid499429

检查一下

例如:

int data[] = new int[] {10,20,30,40,50,60,71,80,90,91 };

要么

int data[];

data=new int[] {10,20,30,40,50,60,71,80,90,91 };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM