public class test003 {
public static void main(String[] args) {
int[] nums={1,5,9,15,23,36};//初始化一个数组
int target=9;//假设这个值是10
boolean flag=false;
int left=0;
int right=nums.length-1;
while(left<=right){
int mid=left+(right-left)/2;//这个是数组中间数的下标
if(target==nums[mid]){//如果要查找的数等于数组中间的数则为真,跳出
flag=true;
break;
}else if(target==nums[left]){//如果要查找的数等于数组左边的数
flag=true;
break;
}else if(target==nums[right]){//如果要查找的数等于数组右边的数
break;
}else if(target<nums[mid]){
right=mid-1;
left++;//去left+1,mid-1范围内继续下一次查找
}else{
left=mid+1;
right--;//去mid+1,right-1范围内继续下一次查找
}
}if(flag){
System.out.println("存在");
}else{
System.out.println("不存在");
}
}
}