java基础-数组

浏览以下内容前,请点击并阅读 声明

定义:数组是一个能容纳固定数量,类型单一的若干个值的容器。注意,数组是一个对象。

  数组一旦创建,则其长度固定不变,数组中的所有值叫元素(Element),获取元素要靠索引号(index),索引号从0开始,对应第一个元素。

声明数组变量

  数组的定义由两部分组成,数组的类型和数组的名称即变量的名称,数组的类型写法为 type[], type是数组中包含的元素的类型,方括号表明这个变量类型为数组,数组的大小不是类型的一部分,因此方括号内为空。例如:

byte[] anArrayOfBytes;
short[] anArrayOfShorts;
long[] anArrayOfLongs;

方括号也可加在数组名称的后面 如

byte anArrayOfBytes[] ;

不过不提倡此形式。

数组的创建,初始化和取值

  数组的创建可以使用new关键词:

// 创建一个整数数组
anArray = new int[10];

  数组的初始化:

//方法1 使用索引号对数组中的元素逐个赋值
anArray[0] = 100; // initialize first element
anArray[1] = 200; // initialize second element
anArray[2] = 300; // and so forth

//方法2比较简单,这里声明,赋值一步是完成的,数组的大小根据花挂号内的元素个数决定
//注意以下初始化方式声明,初始化必须在一个语句内
int[] anArray = { 
    100, 200, 300,
    400, 500, 600, 
    700, 800, 900, 1000
};
//或者
int[] anArray = new int[]{ 
    100, 200, 300,
    400, 500, 600, 
    700, 800, 900, 1000
};

 注意,第二种方法只能用于声明语句中,如果使用,数组长度由括号内元素个数决定。

数组取用可以使用数组的索引号,使用实例:

System.out.println("元素 1 索引号为 0: " + anArray[0]);

多维数组

Java中也可以定义元素为数组的数组,即多维数组,其定义和使用见如下代码:

class MultiDimArrayDemo {
    public static void main(String[] args) {
 //此处定义和赋值必须一步完成   
        String[][] names = {
            {"Mr. ", "Mrs. ", "Ms. "},
            {"Smith", "Jones"}
        };
        // 输出为 Mr. Smith
        System.out.println(names[0][0] + names[1][0]);
        // 输出为 Ms. Jones
        System.out.println(names[0][2] + names[1][1]);
    }
}

一维的数组和多维数组都可以用 arrayName.length来获得数组的大小,即元素的个数,如

//输出数组变量anArray的大小

System.out.println(anArray.length);

数组的复制

  System类中提供了一个arraycopy的方法,可以实现将一个数组复制到另一个数组,用法为:

  public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 

  其中src为复制的源数组,dest位目的数组,srcPos为源数组的起始位置,length为需要复制的数量。如:

class ArrayCopyDemo {
    public static void main(String[] args) {
        char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e',
                'i', 'n', 'a', 't', 'e', 'd' };
        char[] copyTo = new char[7];
        System.arraycopy(copyFrom, 2, copyTo, 0, 7);

//输出为caffein
        System.out.println(new String(copyTo));
    }
}

如果创建一个简单的数组而且仅使用一次,可使用如下快捷方法如:

//随机创建数组并输出其中一个元素 结果为 cdd
System.out.println(new String[]{"abc","cdd"}[1]);

此外,java的java.util.Arrays提供了比较多的对数组进行操作的方法,详见其API文档。

原文地址:https://www.cnblogs.com/justforcon/p/6000606.html