必威体育Betway必威体育官网
当前位置:首页 > IT技术

数组声明和赋值总结

时间:2019-08-05 00:10:00来源:IT技术作者:seo实验室小编阅读:58次「手机版」
 

数组赋值

声明数组

声明数组变量仅有一种语法,即:数据类型[] 变量名,比如:

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数组

效果是完全一样的。

数组初始化

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

比如:

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}; // 语法正确

相关阅读

如何初始化数组

分析:如果直接输出未初始化的数组元素值,以观察未初始化的数组,实现方法代码如下所示: #include<stdio.h> #define SIZE 10 int main(

sockaddr_in 结构体在什么头文件中声明

在编写Linux下的网络程序时,使用了sockaddr_in结构,在头文件中声明了#include <sys/socket.h>,系统仍不承认sockaddr_in结构.因为代

我们要搬家了!丨公众号迁移声明

         

Java编程---数组

1.定义数组是一种数据结构,用来存储同一类型值的集合。通过一个整型下标可以访问数组中的每一个值。例如:如果a是一个整型数组,a[i]

Python---copy()、deepcopy()与赋值的区别

copy()与deepcopy()之间的主要区别是python对数据的存储方式。首先直接上结论:—–深复制,即将被复制对象完全再复制一遍作为独立的

分享到:

栏目导航

推荐阅读

热门阅读