设计原则:
1.开闭原则:对扩展开放,对修改关闭,主要extends
2.里氏代换原则:任何父类课出现的地方,子类都可出现,多用继承和多态理念
3.依赖倒转原则:尽量多用抽象类或接口,不是具体实现类,
4.接口隔离原则:尽量依赖小借口,而不是大接口
5.迪米特法则(最少知道原则):一个实体应当少与其他类发生关联
6.合成复用原则:就是例如 A类中的a需要在B类中可用,申明a在B,并且用构造传入它的引用;
线性和折半查找:
package day24PaiXuSuanFa;
//线性查找(顺序)
//从指定数组中查找参数指定的元素并返回下标;
public class ChaZaoSuanFa {
   //1.顺序查找(线性查找):
    public static int find(int[]arr, int num){
        for(int i=0;i<arr.length;i++){
           if(num==arr[i]){
               return i;
           }
        }
        return -1; //查找失败
    }
    // 2. 二分查找法:
    public static int findtwo(int[]arr,int left,int right,int tt) {
        if (left<=right) {
            int z = (left + right)/2;
            if (arr[z] == tt) {
               return z;
            }
            if (arr[z] > tt) {
                return findtwo(arr, left, z - 1, tt);
            }else {
                return findtwo(arr, z + 1, right, tt);
        }
        }
                return -1;
    }
    public static void main(String[] args) {
        int []brr ={10,23,44,22,341,12,3,2,0};
        int []crr = {11,22,33,44,55,66,68,77};
        int a=2;
        int b=68;
        //2.二分代码:
        int two = findtwo(crr,0,7,b);
        System.out.println("二分查找到的位置是:"+two);
       // 1.小马编写于main上
        int t= ChaZaoSuanFa.find(brr,a);
        System.out.println("线性查找的位置:"+t);
         /*  1. 自己编于main中
        for(int i=0;i<brr.length;i++){
            if(a==brr[i]){
                System.out.println("写在main方法里的获取位置:"+i);
                break;
            }
        }*/
    }
}
 
                     
                     
                 
                        
                        