数组
数组可以分为一维数组、二维数组和多维数组。一般一维数组用的较多。
定义与声明赋值
数组是一组相同数据类型元素的集合。
一致性:数组只能保存相同数据类型元素,元素的数据类型可以是任何相同的数据类型。
有序性:数组中的元素是有序的,通过下标访问。
不可变性:数组一旦初始化,则长度(数组中元素的个数)不可变。
数值数组元素的默认值为 0,而引用元素的默认值为 null。
数组的索引从 0 开始,如果数组有 n 个元素,那么数组的索引是从 0 到(n-1)。
数组元素可以是任何类型,包括数组类型。
数组类型是从抽象基类 Array 派生的引用类型。
声明定义
一维数组
int [] a=new int[4];
for (int i=0;i<=3;i++){
a[i]=i;
}
int [ ] b = {1,3,5} ;
int[] c = new int []{1,2,3,4,5};
二维数组:可以看成一个特殊的一维数组,它里面的元素类型就是一维数组。同理多维数组。
int [][] b = new int[3][];
b[0]={1,2,3};
b[1]={1,3,5};
b[2]={1,4,6};
int[][] temp=new int[][]{{1,2},{3,4}};
处理数组
数组的遍历
1、for 循环
//遍历一维数组
int Arr[]={3,6,13};
for (int i = 0; i < Arr.length; i++) {
System.out.print(Arr[i]+" ");
//遍历二维数组
int[][] arr ={ {10,20},{100,200,300},{10004000}};
for(int i = 0;i<arr.length;i++){
for(int j = 0;j<arr[i].length;j++){
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
2、For-Each 循环
for(type element: array)
{
System.out.println(element);
}
public class TestArray {
public static void main(String[] args) {
double[] myList = {1.3, 2.0, 4.4, 3.7};
// 打印所有数组元素
for (double element: myList) {
System.out.println(element);
}
}
}
计算所有元素的和
//一维数组
double total = 0;
for (int i = 0; i < myList.length; i++) {
total += myList[i];
}
排序
数组排序: java.util.Arrays.sort(数组名) 升序
数组扩容:java.util.Arrays.(数组名称,新数组长度)
在数组中查找指定元素:Arrays.binarySearch(数组,指定元素)。
public static void main(String[] args) {
// 定义含有5个元素的数组
double[] scores = new double[] { 78, 45, 85, 97, 87 };
System.out.println("排序前数组内容如下:");
// 对scores数组进行循环遍历
for (int i = 0; i < scores.length; i++) {
System.out.print(scores[i] + "\t");
}
System.out.println("\n排序后的数组内容如下:");
// 对数组进行排序
Arrays.sort(scores);
// 遍历排序后的数组
for (int j = 0; j < scores.length; j++) {
System.out.print(scores[j] + "\t");
}
}