------- 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;
}