java数组

来源:互联网 发布:丰城生活丰城网络问政 编辑:程序博客网 时间:2024/05/29 02:52

数组的概念

  • 数组是用来存储一组相同类型 数据的数据结构
  • 数组有一维和多维
  • 数组可以为原始类型或类类型
  • 数组是一个对象,而不是为原始类型储备的存储器

声明数组

数组变量被声明了,但没有分配空间

int[] myint;int myint[];MyClass[] myClassArray;MyClass myClassArray[];

创建数组

  • 数组是一个对象,因此使用new创建一个数组对象
  • 创建数组的目的是为数组开辟空间
char[] s;//声明数Point[] p;  s = new char20;//创建数组p = new Point 30;

初始化数组

  • 数组的每个元素都要逐一初始化
char[] s;//声明数组Point[] p;  s = new char[10];//创建数组p = new Point[20];p0 = new Point(10,10);//初始化数组p1 = new Point();//Point()默认为(0,0)          ·          ·          ·p19= new Point(90,100);
  • 数组的声明、创建和初始化用一条语句完成
String[] names={"张三","李四","王五"};

也可以这样编写:

String s1="张三";String s2="李四";String s3="王五";String[] movies={s1,s2,s3};

只有初始化数组时才能用到“{ }”,像下面编写的代码就不行:

int[] arr=new int[5];arr={1,2,3,4,5};//不能编译

只有象下面这样写才行

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

多维数组

理论上讲,所有的java数组都是一维的,多维数组是数组的数组。

int twoDim [][] = new int [3][];Int[][] twoDim = new int[3][];twoDim[0] = new int[5];twoDim[1] = new int[3]; twoDim[2] = new int[4];twoDim[0][0]=1;twoDim[0][1]=2;      ...

java语言允许非矩形的数组

twoDim0= new int[2];twoDim1= new int[4];twoDim2= new int[6];twoDim3= new int[8];

数组界限

所有数组的下标都从0开始

int list[] = new int[10];for (int i= 0; i< list.length; i++)    System.out.println(list[i]); list.length为10

复制数组

  • 不能调整数组的大小
  • 可使用相同的引用变量来引用一个全新的数组
int elements[] = new int[6];elements = new int[10]; 
  • 使用System.arraycopy()方法复制数组
    函数原型为:public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
    使用举例:
int myArray[]={ 1, 2, 3, 4, 5, 6 }; int hold[]={ 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }; System.arraycopy(myArray, 0, hold, 0, myArray.length);
  • 当然也可以通过遍历逐个元素复制数组
0 0
原创粉丝点击