声明数组变量:
元素类型[] 数组引用变量;
double[] mylist;
或者
double muylist[];
创建数组:数组引用变量 = new 元素类型【数组大小】
合并后的结果:
元素类型【】 数组引用变量 = new 元素类型【数组大小】;
或者
元素类型 数组因引用变量【】 =new 元素类型 【数组大小】
元素赋值:
引用变量【下标】 = 值。
double mylist[] = new double[10];
mylist[0] = 1.2;
数值型基本数据类型默认为0;
char:‘\u0000’
boolean: false;
数组初始化语法:
数据类型【】 mylist = {1.9,2.9,3.4}
上面讲数组的声明、创建和初始化都一起进行完成。
char类型的数组可以一条语句打印:
char[] city = {‘a’,’l’};
System.out.println(city);
foreach循环:
不使用下标变量使用整个数组:
for(double e : mylist){
System.out.println(e);
}
e必须和mylist中的变量数据类型相同。
Arrays.sort(数组):
对数组中的数据进行排序,需要import java.util.Arrays;
数组的复制:
list2 = list1
list2和list1指向同一个对象原来list2指向的对象不再引用被回收。
复制数组的三种方法:1.使用循环语句逐个复制:
int【】 i = {};
int【】j =new int[10];
for(int n = 0;n< j.length;n++){
j[n] = i[i];
}
2.利用java.lang.System类中的arraycopy方法:
System.arraycopy(i,起始位置,j,起始位置,length);
3.clone方法
以后再讲。
方法引用数组public static void print(int[] list){}
public static void print(new int[]{3,5,4,})
注意:改变方法中的数组,方法外的数组也会改变,内存中同一空间。*而基本数据类型则不会因为方法中的改变而改变,内存中独立空间*
可变长参数:具有相同类型的可变长度的参数可以传递给方法,并被当做数组对待
数据类型…数组名
public static void print(double.. numbers){
numbers.[0]
数组查找:
线形查找:从第一个开始查找,效率低。
二分查找:数组为排好序的情况;与中间元素比较,大于或小于可以缩小范围。
Arrays类:
java.util.Arrays方法:
Arrays.sort(数组名):全部排序
Arrays.sort(数组名,起始小标,截止小标不包括);
也可以用Arrays.parallelSort()
全部是从小到大排列。
二分查找法:
数组必须按照升序排列,如果找不到关键字返回-(插入点小标 +1)
Arrays.binarySearch(数组名,关键字);插入地方为插入点前。、
检测两个数组相同:Arrays.equals(数组1,数组2);返回boolean;
填充:
Arrays.fill(数组,填充数字);
Arrays.fil(数组,填充起始,填充结束,填充数字)
返回字符串:
最快打印数组所有元素:
Arrays.toString():返回一个字符串代表其中所有元素。
int list = {2,4,7,10};
System.out.println(Arrays.toString(list));
显示【2,4,7,10】
冒泡排序:两层循环,每层为数组个数。