Java基础:数组的声明,循环,赋值,拷贝。

数组的声明

一般有两种形式的声明:

int[] a;
int a[];

这两种声明都没错,但是大多数都使用第一种声明,因为变量名是独立的,不带任何符号。

声明一个数组,并没有将a真正的初始化为一个数组。

下面,语句就是声明了一个可以存储100个整数的数组。可以根据你的实际需求,更换int类型为你需要的数据类型。

int[] a=new int[100];

其中,数字数组的初始化默认为0。boolean为false。对象数组为null,如String类型的数组。

数组的循环

数组中的每个元素都有一个下标,下标从0开始,所以下标最大为数组的长度-1。

当我们需要依次输出数组中的每个元素时,就需要用到循环。

for(int i=0;i<100;i++)
{
System.out.println(a[i]);
}

除了常规的循环,还有一种Java中的增强for循环,就相当于C#中的foreach,只是语法稍有不同。

for(int item:a)
{
System.out.println(item);
}

其中,int为遍历对象的类型,item为自定义的一个名字,冒号后面的a就是你遍历的对象,数组a。

增强for循环的用途很多,而且不用在意数组的下标。

数组的赋值

单单只声明数组的话,数组的元素的值都只是默认值,下面的方法可以在声明的同时初始化它们的值。

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

这种声明,不需要手动限制它们的长度,它会根据值得个数,自动设置长度。

此时,a.length=5;

除了刚声明就给数组初始化外。还有一种可以方法可以重新初始化一个数组。

a=new int[] {6,7,8,9,10};

实际情况下,很少说直接初始化一个数组的值,然后只用这些值。

一般情况下,需要声明后,根据实际的情况,给数组赋值。

如果是单独赋值就是a[i]=n;就行了。

还可以使用上面的for循环,给数组循环赋值。

数组的拷贝

Java允许将一个数组变量拷贝给另一个数组变量。

值得注意的是,拷贝不是单纯的把a的值复制一份然后给b,而是a和b引用内存当中同一个数组。

大家可以把内存理解成很多个房间,变量名就是门牌号。就相当于a和b两个门牌号指向同一个房间。

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

但是这种拷贝有种缺点,就是如果a[i]变了,对应的b[i]也会变。

如果你只是单纯的想要a中的值,可以使用copyOf方法。

int[] b=Arrays.copyOf(a,a.lenght);
上一篇:php 返回数组中指定多列的方法


下一篇:canvas小知识