学习java第26天

1.日志

与日记相似,记录程序的运行情况

2.log4j的三大组件

*Logger:是log4j的核心组件,可以对日志信息进行分类筛选

日志种类由高到低 : fatal,error,warn,info,debug

*Appender组件 :决定将日志信息输出到什么地方

*Layout组件:决定日志输出格式

顺序查找

这个缺点比较明显,依次进行查找的话(中途找到,提前结束)效率较低

import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner sr = new Scanner(System.in);
        int fs = sr.nextInt();
        int n = sr.nextInt();
        int attr[] = new int[n];
        for (int i=0;i<n;i++){
            attr[i]=sr.nextInt();
        }
        int index = searchmy(attr,fs,n);
        if (index==-1){
            System.out.println("未找到");
        }else{
            System.out.println(fs+" 找到的是:"+index);
        }
    }
     static int  searchmy(int att[],int m ,int n){
        int index=-1;
        for (int i=0;i<n;i++){
            if(att[i]==m){
                index = i;
                break;
            }else {
                index = -1;
            }
        }
        return index;
    }
}

二分查找

二分法查找的效率相对高,但是要将表按关键字进行排序,而排序的话会费时间,所以二分法比较适用于顺序存储结构

import java.util.Scanner;

public class BinarySearch {
    public static void main(String[] args){
        Scanner sr = new Scanner(System.in);
        int f = sr.nextInt();               //这里输入要查找的数字
        int n = sr.nextInt();              // 这里输入多少个数字
        int attr[] = new int[n]; 
        for (int i=0;i<n;i++){
            attr[i]=sr.nextInt();
        }
        int index = searchmy(attr,f,n);
        if (index==-1){
            System.out.println("未找到");
        }else{
            System.out.println(f+" 找到的是:"+index);
        }
    }
    static int  searchmy(int att[],int m ,int n){              //指定首部和尾部的值,再一点点的缩小
        int low = 0;
        int high=att.length;
        int  mid = 0;
           while(low<high){
               mid = (low+high)/2;
               if(att[mid]==m){
                   return mid;
               }else if(m<att[mid]){
                   high = mid - 1;
               }else{ //m>att[mid]
                   low = mid+1;
               }
            }
        return -1;
    }
}

明天学习内容:

用I/O进行数据处理

原文地址:https://www.cnblogs.com/SirNie/p/13410745.html