定义格式
int[ ] arr=new int [3]{89,78,67,14};
int[ ]arr={89,78,67,14};
对数组最基本的操作就是存和取
遍历
int[] arr={89,34,270,18};
for(int x=0;x<arr.length;x++)
{
System.out.println(arr.[x])
}
System.out.println("length:"+arr.length);
最值
class ArrayDemo1
{
public static void main(String[] args)
{
int[] arr={-34,-35,-37,-32,-156};
int max=getMax(arr);
System.out.println("max"+max);
}
public static int getMax(int[] arr)
{
//定义变量最大值
int max=arr[0];
for(int x=0;x<arr.length;x++)
{
if(arr[x]>max)
max=arr[x];
}
return max;
}
}
选择排序
class ArrayDemo4
{
public static void main(String[] args)
{
int[] arr={34,35,37,32,156};
//遍历数组
for(int x=0;x<arr.length;x++)
{
System.out.print(arr[x]+",");
}
selectSort(arr);
for(int x=0;x<arr.length;x++)
{
System.out.print(arr[x]+",");
}
}
public static void selectSort(int[] arr)
//排序
{
for(int x=0;x<arr.length-1;x++)
{
for(int y=x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])
{
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
}
查找
class ArrayDemo2
//查找功能
{
public static void main(String[] args)
{
int[] arr={4,5,3,1,67,45,34};
int index=getIndex(arr,5);
System.out.println("index="+index);
}
public static int getIndex(int[] arr,int key)
{
for(int x=0;x<arr.length;x++)
{
if(arr[x]==key)
return x;
}
return -1;
}
}
二分查找法(有序查找)
public static int halfSearch(int[] arr,int key)
{
int max,min,mid;
min=0;
max=arr.length-1;
mid=(min+max)/2;
while(arr[mid]!=key)
{
if(key>arr[mid])
min=mid+1;
else if(key<arr[mid])
max=mid-1;
if(max<min)
return-1;
}
return mid;
}
进制转换
//获取一个整数的16进制
class ArrayDemo5
{
public static void main(String[] args)
{
toHex(70);
}
public static void toHex(int num)
{
for(int x=0;x<8;x++)
{
int temp=num&15;
System.out.println(temp);
num=num>>>4;
}
}
}
查表法
class ArrayDemo3
{
public static void main(String[] args)
{
String week=getWeek(7);
System.out.println(week);
}
public static String getWeek(int num)
{
if(num>7||num<1)
{
return "错误的星期";
}
String[] weeks={"","星期一","星期二","星期三","星期四","星期五","星期六","星期日",};
return weeks[num];
}
}