首页 > 编程知识 正文

数组的声明与赋值,给对象中的数组赋值的方法

时间:2023-05-06 18:11:28 阅读:62041 作者:2577

数组声明数组变量只有以下语法:数据类型[]变量名称:

string[] strs; 这个代码应该这样理解:

已知变量strs的类型是存储在数组strs的各项中的数据,并将其赋值给尚未分配string变量strs的数组。 变量的三个元素是数据类型、变量名称和值。 请看下面的代码。

int[] nums; 此代码具有变量类型int[]、变量名称nums,但还没有值。

数组的赋值语法为数组变量名称=new数据类型[长度];

例如,如果为刚才定义的数组nums赋值,则代码如下:

int[] nums;

nums=new int[5]; 为//变量nums分配长度为5的int数组值得注意的是,赋值语法的数据类型表示数组中各项的类型的相同含义,因此必须与和声时的数据类型完全匹配。

根据以前的变量知识,变量可以在声明时直接赋值,因此也可以使用以下代码在声明数组时赋值:

int[] nums=new int[5]; 声明//数组nums,并将其代入长度为5的int数组

81);font-family:'Helvetica Neue', Arial, 'Hiragino Sans GB', STHeiti, 'Microsoft YaHei', 'WenQuanYi Micro Hei', SimSun, Song, sans-serif;font-size:15px;">效果是完全一样的。

数组初始化器

数组初始化器是指:给数组赋值的同时,指定数组每一项的值,在很多时候,这样做可以简化我们的代码。

比如:

int[] nums;
nums = new int[3];
nums[0] = 2;
nums[1] = 5;
nums[2] = 1;

string[] strs = new string[2];
strs[0] = "Hello";
strs[1] = "World";

上面的这段代码定义了两个数组,并分别给数组赋了值,不仅如此,还为数组每一项赋了值。

使用数组初始化器,可以简化上面的代码如下:

int[] nums; //声明数组
nums = new int[3]{2, 5, 1}; // 使用数组初始化器,给数组赋值的同时指定它每一项的值

// 使用数组初始化器,给数组赋值的同时指定它每一项的值
string[] strs = new string[2]{"Hello", "World"};

代码是不是简洁了很多呢?只要是给数组赋值的时候,都可以使用数组初始化器。

值得注意的是,在使用数组初始化器时,数组长度必须和初始化的数量相同,比如,以下的代码都是错误的:

int[] nums1 = new int[3]{2,3};//数组长度为3,但初始化器中只有两项
int[] nums2 = new int[1]{2,3,1};//数组长度为1,但初始化器中有3项

更好的做法是,在使用数组初始化器时,不去指定数组长度,让编译器完成对数组长度的计算,比如:

//不指定数组长度,编译器会根据初始化器中的数量自动填充数组长度
int[] nums1 = new int[]{2,3};// 编译器会将该数组的长度设置为2
int[] nums2 = new int[]{2,3,1};// 编译器会将该数组的长度设置为3

数组的初始化器还有一种更加简化的写法,比如,上面的代码可以简化如下:

int[] nums1 = {2,3};
int[] nums2 = {2,3,1};

效果是完全一样的,只不过,这种极简的做法,仅能存在于声明数组时的初始化,下面的例子很好的说明了这一点:

int[] nums1 = {2,3}; // 语法正确

int[] nums2;
nums2 = {2,3,1}; //语法错误,极简的初始化器必须在声明时使用

int[] nums3 = new int[]{2,3};//语法正确

int[] nums4;
nums4 = new int[]{2,3,1}; // 语法正确

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。