• 学习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进行数据处理

  • 相关阅读:
    linux 命令收集
    tomcat + nginx 负载均衡
    lamp + 然之协同
    万能的 命令库
    boost.asio源码剖析(三) 流程分析
    boost.asio源码剖析(一) 前 言
    给你的JAVA程序配置参数(Properties的使用)
    JAVA将Excel中的报表导出为图片格式(三)换一种实现
    JAVA使用apache http组件发送POST请求
    JAVA使用原始HttpURLConnection发送POST数据
  • 原文地址:https://www.cnblogs.com/SirNie/p/13410745.html
Copyright © 2020-2023  润新知