数组的声明、创建、初始化
声明数组变量
daouble[] myList;/*首选这个dataType[] arrayRefvar,这个写法风格来自C/C++语言,在Java这么写主要是让C/C++程序员快速理解Java*/
double myList[];//dataType[] arrayRefvar[]的写法与上面的效果是一样的
创建数组(使用new操作符)
arrayRefvar = newdataType[arraySize];/*1.使用dataType[arraySize]创建一个数组;2.将创建的taType[arraySize]数组赋值给arrayRefvar ;*/
声明和创建数组
dataType[] arrayRefVar = new dataType[arraySize];
dataType[] arrayRefVar ={value0,value1,...,valuen};/*数组通过索引访问,索引值从0到arrayRefVar.length-1*/
实例:
public classTest{public static voidmain(String[] args){int size = 5;//数组大小
double[] myList = new double[size];//定义数组
myList[0] = 5.6;
myList[1] = 4.5;
myList[2] = 5.5;
myList[3] = 4.4;
myList[4] = 1.1;//计算数组的和
double total = 0;for(int i=0;i
total+=myList[i];
}
System.out.println("数组和为:"+total);
}
}
运行结果
数组和为:21.1
处理数组
数组的元素类型和大小是确定的,常用基本循环或者For-Each循环
实例
public classTest{public static voidmain(String[] args){double[] myList = {1.9,2.9,3.4,3.5};//打印数组所有元素 for(int i=0;i
System.out.println(myList[i]);
}//计算数组所有值的和 double dou=0;for(int i=0;i
dou+=myList[i];
}
System.out.println("和:"+dou);//找出数组里的最大值 double max=myList[0];for(int i=1;imax){
max=myList[i];
}
System.out.println("最大值:"+max);
}
}
运行结果
1.9
2.9
3.4
3.5和:11.7最大值:3.5
使用For-Each循环(遍历数组)
for(type element:array){
System.out.println(element);
}//语法格式
实例
public classTest{public static voidmain(String[] args){double[] myList = {1.9,2.9,3.4,3.5};//打印所有数组
for(ouuble element:myList){
System.out.println(element);
}
}
}
运行结果
1.9
2.9
3.4
3.5
————————————————————————
数组作为函数的参数
public static void printArray(int[] array){for(int i=0;i
System.out.println(array[i]);
}
}//调用printArray方法打印出数组
printArray(new int[]{1,2,3,4,5});
_________________
数组作为函数的返回值
public static int[] reverse(int[] list){int[] result = new int[list.length];for(int i=0,j=result.length-1;i
result[j]=list[i];
}returnresult;
}
________________________
多维数组(以二维数组为例)
String str[][] = new String[3][2];/*格式type[][] typeName = new type[typeLength1][typeLength2];
type可以是基本数据类型和符合数据类型,typeLength1、typeLength2必须是正整数,
typeLength1是行数,typeLength2是列数*/
引用
arrayName[index1][index2];
______________________
Array类
java.util.Arrays类提供的所有方法是静态的,可以
1.给数组赋值:通过fill方法
2.对数组排序:通过sort方法,升序
3.比较数组:通过equals方法比较数组元素值是否相等
4.查找数组元素:通过binarySearch 方法能对排序好的数组进行二分法查找
方法和说明:
1.public static int binarySearch(Objecct[] a,Object key)
用二分法查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好,如果查找值包含在数组中,则返回索引键的索引,否则返回(-(插入点)-1).
2.public static boolean equals(long[] a,long[] a2)
如果两个指定的long型数组相等,则返回true。
如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组相等。也就是说,如果两个数组以相同顺序包含相同元素,则两个数组相等。(Byte,short,Int亦然)
3.public static void fill(int[] a,int val)
将指定的int值分配给指定的int型数组指定范围中的每个元素,同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)
4.public sstatic void sort(Object[] a)
对指定对象数组根据其元素的自然顺序进行升序排列,同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)