①数组的复制
int []ary1 =new int[]{1,2,3,4,5,6,7}
int ary2 = new int[ary1.length];
for(int i=0;i<ary.length;i++)
{
ary2[i]=ary1[i];
}
②数组的反转
for(int i=0;i<ary1.length/2;i++)
//除以2是不让其交换两次
{
int temp = ary[i];
ary1[i]=ary1[ary1.length-i-1];
arr1[arr1.length-i-1] = temp;
}
③查找(线性)
int dest = 2;
boolean isflag = true;
//判断找没找到,如果找到了就在循环中将其变为false
//如果他的值不变就说明它没有进入循环,即没找到这个数字
for(i=0;i<arr1.length;i++){
if(dest==arr1[i])
{
syso("找到了,其位置为"+i);
isflag = false;
break;
}
}
if(isflag)
{
syso("没找到");
}
查找(二分法:折半查找)
二分法的前提是查找的数组是有序数组
int dest = 5;
int head = 0;//首索引为0;
int end = ary1.length-1;//末索引为数组长度
boolean isflag = true;
while(head<=end)
{
int middle = (head+end)/2;
if(dest=ary1[middle])
{
syso("有这个数字,位置是"+middle)
isflag = false;
break;//如果找到就跳出循环
}else if(dest>ary1[middle])
{
head = middle + 1;
}else if((dest<ary1[middle])
{
end = middle - 1;
}
}
if(isflag)
{
syso("没有找到")
}
以上,如果想要从屏幕中输入一个数字查找是否在数组中,引入Scanner即可。自己私下实验。