------- android培训、java培训、期待与您交流! ----------
一.数组的定义
数组属于引用数据类型,是一个容器
数组声明的格式
int[] x=new int[3];//创建一个新数组,里面存三个元素
int x[]=new int[3];
一般用第一个,一目了然就知道是一个数组
初始化数组
int[] arr=new int[]{1,2,3,4}(静态初始化)
简化形式 int[] arr={1,2,3,4};
注意事项:1声明一个数组不是创建一个对象
2.创建时一定要指定数组长度,不指定也要输入内容
3.数组存放于堆内存中,他是new出来的
4.创建的实体不被使用后,JAVA有自动回收机制
二数组的应用
1.遍历数组
for(int x=0;x<arr.length;x++) { if(x!=arr.length-1) System.out.print(arr[x]+","); else
System.out.print(arr[x]); }
2.获取最大值
int max=0; for(int i=1;i<arr.length;i++) { if(arr[i]>arr[max]) max=i; } System.out.println(arr[max]);
3.选择排序法
for(int x=0;x<arr.length;x++) { for(int y=x+1;y<arr.length;y++) { if(arr[y]>arr[x]) { int temp=arr[y]; arr[y]=arr[x]; arr[x]=temp; } } }
4.冒泡法
for(int x=0;x<arr.length;x++) { for(int y=0;y<arr.length-x;y++) { if(arr[y]>arr[y+1]) int temp=arr[y]; art[y]=arr[y+1]; arr[y+1]=temp; } }
5.折半查找
public static int halfSearch(int[] arr,int key) { int min,max,mid; min=0; max=arr.length-1; mid=(max+min)/2; while(arr[mid]!=key) { if(key>arr[mid]) { min=mid+1; } else if(key<arr[mid]) { max=mid-1; } if(min>max) return -1; mid=(max+min)/2; } return mid; }