二分法是有条件的:数组中的元素要有序排列
定义三个变量,min,mid,max,初始化min=0,max=数组长度-1;
package com.xxt.twofen;
import java.util.Arrays;
/**
* 二分查找
* @author 13983
*
*/
public class Main {
public static void main(String[] args) {
int[] a={40,60,30,80,50,20,90,20,10,70};
int target=80;
Arrays.sort(a);
boolean result=false;
int min=0;
int max=a.length-1;
while(min<=max){
int b=(min+max)/2;
if(target>a[b]){
min=b+1;
}
if(target<a[b]){
max=b-1;
}
if(target==a[b]){
min++;
result=true;
}
}
System.out.println(result);
}
}