1.数组的定义
数组是指一组相同类型的变量集合,数组的每一个数据称为元素。
数组本身为引用数据类型。
2.数组可以存放哪些内容
数组中可以存放任意类型的元素,但是一个数组只能存放类型相同的元素。
3.数组的长度:数组在创建时需要指定长度 数组的长度一经确定就不能修改
数组的下标
数组的每一个元素自动分配下标
数组的下标从0开始
数组的下标最大值是长度-1
4.数组的创建方式:
(1)数据类型[] 变量名=new 数据类型[数组的长度];
eg:int[] a=new int[10];
(2)数据类型[] 变量名 = {值,值,值...}
eg:int[] b={1,2,3,4};
5.数组的 赋值方式
创建时赋值:int[] arg=new int[]{1,2,3,4}
创建的时候赋值: int[] arg = {1,2,3,4,5,6,2,3,4};
使用下标赋值 : 最常用
int[] arg = new int[10];//没有赋值的10单位空数组
arg[0] = 189;//代表把数据189放到了arg数组的0号位置
6.数组会对每一个值默认初始化
byte/short/int/long 0
float 0.0f
double 0.0d
引用数据类型 null
char 'u0000'
boolean false
7.数组通过下标取值,
遍历数组:for 循环遍历下标
int[] a= {1,2,4,3,5};
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);
}
8.多维数组
在数组的每个元素上的数据 又是一个数组,这样就得到了一个多维数组。
(1.多维数组的声明:数据类型[][] args = new 数据类型[数组的长度][];
(2,赋值
int[][] args = new int[5][];
args[0] = new int[3];
args[1] = new int[2];
args[3] = new int[2];
args[0][0] = 1;
args[0][1] = 1;
args[4][1] = 1;
args[4][2] = 2;
(3数组的拷贝
数组的长度一旦确定之后便不能调整,我们可以通过复制数组的内容来改变数组的长度。System.arraycopy方法
arraycopy(Object src,int srcPos,Object dest,int DestPos,int length);
原数组,原数组开始位置,目标数组,目标数组开始位置,复制长度
eg: int[] arr1= {6,54,34,2,5,2};
int[] arr2=new int[5];
System.arraycopy(arr1, 3, arr2, 0, 3);
System.out.println(Arrays.toString(arr2));
(4Arrays的使用
Arrays.sort();//排序 Arrays.toString();//返回指定数组字符串表示形式
(5随机取数组中的某下标的值 Math.random();
例: int[] arr = {1,2,3,4};
//产生0-(arr.length-1)的整数值,也是数组的索引
int index=(int)(Math.random()*arr.length);
int rand = arr[index];
System.out.println(rand);
补充:
random本身只产生(0~1)之间的小数,
random()*arr.length意思是产生0~arr.length之间的小数 ,(int)(Math.random()*arr.length) 的意思是强制取整, 所以 就变成了 产生0~arr.length-1之间的整数
(6可变参数
语法:String... args
注意:可变参数只能是参数列表的最后一个。