数组是一种数据结,他表示一组相同类型的数据,使用数组须遵守“先声明,后使用”的原则。
一维数组可以存储多个元素,要在程序中使用数组,首先要声明数组变量的名称,并指明数据类型
数组是一个引用类型,声明和创建是两个过程。
数组声明:
数据类型 [ ] 数组名=null; 如 :
int [] arr =null;
数组名 [ ] =new 数据类型 [数组长度]
arr=new int [5];
也可以将上述语句合并为:
数据类型 [] 数组名 = new 数据类型 [数组长度];
int [] arr =new int [5];
像数组这样的变量类型就是引用类型。这类变量声明时不会分配内存,只是在栈空间里分配了一个可以存放将来在堆内存分配的空间的地址的空间,对变量的访问是通过这个空间间接完成的。
给数组分配空间时,必须通过指定储存元素的个数来约定数组的大小。
可以通过数组名.length获得数组长度。
数组下标变量:
数组元素通过下标来访问,下标数值范围为0~size-1,size为数组长度。
数组的初始化:方式分为两种:
静态初始化:声明时赋值
动态初始化:声明时仅指定数组长度,后续在初始化
增强for循环
JDK1.5引入,称为foreach循环或增强的for循环,它不用下标变量就可以顺序访问整个数组;
如:
for(double d:mylist){ System.out.println(d); }
Arrays类
定义在java.util包中,用来操作数组(如数组元素排序,搜索和填充等)的各种方法。
方法:
1,fill(var [] arr,var a) 将数组的元素全部设定为指定的值
2,toStrintg(var [] arr) 返回指定数组内容的字符串表示形式
3,equals(arr1,arr2) 比较两个数组元素值是否全部相等,如果是返回1,否返回0
4,提供了binarySearch方法查找给定元素key是否在数组arr中,使用前要对数组进行升序排序
5,copyOf(int [] original ,int newlength) 复制指定的数组,截取或用0填充,以使副本具有指定的长度
6,copyOfRange(int [] original, int from, int to)将指定数组的指定范围复制到一个新数组。