定义:将具有相同数据类型的数据集中在一个容器中,这个容器就称为数组。
上面的图片描绘了数组 myList。这里 myList 数组里有 10 个 double 元素,它的下标从 0 到 9。
声明数组:
数据类型[] 数组名=new 数据类型[数组的长度n];
声明一个长度为n的空数组。
例:int[] arr=new int[n];
数据类型[] 数组名={数据1,数据2,...数据n};
声明一个长度为n且对每个元素进行了初始化
例:int[] arr={1,2,3};
数组的特点:
- 具有默认值
整数类型:0
浮点类型:0.0
字符类型:\u0000
布尔类型:false
引用类型:null - 数组的大小一旦确定将不能发生改变
- 初始化的数据必须是相同的数据类型
数组的操作:
通过length属性来获取数组的长度。arr.length
通过下标来操作数组,下标从0开始也就是arr[0]
表示数组的第一个元素。arr[arr.length-1]
表示最后一个元素
数组的扩容和缩容
因为数组的大小一旦确定将不能发生改变,但有时候我们需要改变它大小,所以我们可以通过官方提供的Arrays.copyof(arr,newLength)
来对它进行扩容和缩容。
arr
:你要操作的数组newLength
:新的数组长度,比原有的大就是扩容,小就是缩容
例:students = Arrays.copyOf(students, students.length + 1);
数组名 官方提供的方法 数组名 数组要扩容到的长度
上面代码意为:创建一个新的更大/更小的数组,并将旧数组的数值拷贝给新数组,最后将新数组的内容赋值给原数组名,这样可以做到数组名不变,扩大数组容量。
备注:
- 扩容和缩容都会改变地址值(数组的大小一旦确定将不能发生改变)
- 不管是扩容和缩容都是对数组的最后一个而言的(扩大了往后加,缩小了从后面减)。
遍历输出数组
for(int i=0;i<chen.length;i++){
System.out.println(chen[i]);
}
随机数
1、Math.random();随机生成0.0~1.0之间的任意浮点数 前包括后不包括
这样的数对我们来说没有任何意义。我们需要生成整数。
总结:随机生成一个m~n之间的整数,公式为:(int)(Math.random()*(n-m)+m)
2、Random类
语法: Random r=new Random();
常用方法:r.nextInt();//不用
r.nextInt(num);//生成0~num之间的随机整数