• Java语法知识点2


    基本数据类型的包装类
    byte   Byte
    short   Short
    int    Integer
    long  Long
    float  Float
    double  Double
    boolean   Boolean
    char   Character
    字符串和数值的互转
      Integer integer = new Integer(10);
        String str = "120";
      //字符串转数值
            int b = Integer.valueOf(str);//
            int c = Integer.parseInt(str);//
      //数值转字符串
            String re =  integer.toString();
            String re2 = 10+"";
            String re3 = String.valueOf(10);
    基本数据类型和包装类的区别
      包装类提供了方法
      初始值不一样,int  0,    Interger  null.
    自动装箱和自动拆箱
      Jdk1.5
      Integer a = 10;//自动装箱(把基本数据类型装成对象)
      // Integer a = new Integer(10);
      Integer a = new Integer(10);
      int b = a;//自动拆箱(把对象拆成基本数据类型)
    ==和equals()
      == 比较基本数据类型,比较的是值
      ==比较引用数据类型,比较的是地址
    equals()用来比较引用数据类型,如果没有重写,比较的是地址
      如果重写了,那就按照重写的方式去比较。
      比如String类重写了equals()方法,比较的是字符串内容
    异常
      对于程序运行出现的不正常情况,称为异常。
      描述不正常情况的类为异常类,不同的异常对应了不同的异常类,
      所有的异常类组成了异常体系。
      异常体系结构
    Throwable(可抛出的)
        --Error:通常是值jvm的严重性问题,不可处理的,比如内存溢出。
        --Exception:可处理的,非严重性问题
        --checkedException(检查性异常)
      在编译时会检测异常(比如文件找不到,中断异常)
      必须要通过throws或try..catch处理
        --uncheckedException(非检查性异常,运行时异常)
      在运行时出现的异常(比如空指针异常,越界异常。。)
      可处理,也可不处理

    异常处理机制
    trycatchfinallythrowthrows
      try{
        //可能出现异常的代码
      }catch(){
        //捕获异常,出现异常情况的处理代码
      }finally{
        //总是会执行的代码(不管是否 出现异常)
      }
    打开资源---》进行操作---》关闭资源
    注意:可以写多个catch,先写子类,再写父类。代码出现异常,从第一个catch开始匹配,依次往下,直到某个catch匹配到。如果最终都没有匹配到,程序会中断。
      throws  声明异常
      public static void show() throws ArithmeticException,NullPointerException{
              System.out.println(10/0);
      }
      throw  手动抛出异常
    //手动抛出一个空指针异常
      throw new NullPointerException();
    自定义异常
      如果自定义的异常是继承RuntimeException,自定义的异常是运行时异常
      如果自定义的异常是继承Exception ,自定义的异常是检查性异常
    日志
       主要用来记录系统运行中一些重要操作信息
       便于监视系统运行情况,帮助用户提前发现和避开可能出现的问题,或者出现问题后根据日志找到原因
       日志分类
         SQL日志、异常日志、业务日志
    如何使用log4j记录日志
      1. 导包,将log4j相关jar包添加到项目中
      2. 配置log4j.properties文件
      3. 获取日志记录器,使用。
    优先级从高到低分别是ERROR、WARN、INFO、DEBUG
    在此处,如果优先级别设为info,那么使用debug方法打印的日志信息将不被输出

     

    集合
      List:有序可重复
        ArrayList:可变数组,在内存中是连续的空间保存元素。查询效率高,删除添加效率低
        LinkedList:链表结构,由存储元素的节点连接而成,每个节点包含前一个节点的引用,和下一个节点的引用以及节点存储的值。当新节点插入时,只需要修改其中保持先后关系的节点引用即可。查询效率低,删除添加效率高
      Set :无序不可重复
        HashSet:哈希表结构
    如何保证唯一性的?
      先调用两个对象的hashCode()方法,判断hashCode是否一样,如果不一样,两个对象都可以存入HashSet,如果一样,再调用equals方法比较,如果equals比较的结果是true,不存入。为false,则存入。
        TreeSet:二叉树结构
      TreeSet:
        注意:添加到treeSet集合中的对象必须具备比较能力(要实现Comparable接口);
        TreeSet里保存的元素具有自然顺序。
    如何保证唯一性?
      通过compareTo()方法比较,比较是结果是0,表示一样,不存。比较结果是1,表示不一样,存入。
        Map 键值对   key – value
        键不可以重复,值可以重复
        如果键是重复的,相当是修改这个键所对应的值。
        HashMap  key和value都可以为null

     

    泛型   jdk1.5
    在定义类、接口、方法时,不局限地指定类型,而是让使用者传入类型。
    泛型的好处:避免强转,把问题暴露在编译期
      <? super T>  类型的下界(必须是T,或T的父类)
      <? extends T> 类型的上界(必须是T,或T的子类)
    Collections  是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
    自定义一个泛型的类,属性有:未知类型的对象,保存未知类型对象的List

     

    反射:
    在运行状态中,对于任意一个类都知道这个类的属性和方法,都能够调用任意一个方法和属性,这种动态获取信息以及动态调用对象方法的功能就是java反射机制。
    Class 是一个类,描述类的类
    一个类中有属性,方法,比如person类,animal类,这些都是不同的类,现在需要用一个类来描述这些类,这个类就是Class。
        Class  api
    getDeclaredField(属性名) 获取指定属性

     

    io流
      i:input    输入
      o:output   输出
    io流?输入输出流
      用来处理设备之间 的数据传输
      输入和输出是相对于内存而言。
      输入流:将外设的数据读取到内存中。
      输出流:将内存中的数据写到外设中。
      java IO    java 提供api读写文件…
      字节流:操作字节,字节数组
      字符流:操作字符,字符数组,字符串
      字节流的两个顶层父类
      InputStream  
      OutputStream
      字符流两个顶层父类
      Reader    FileReader   BufferedReader
      Writer     FileWriter   BufferedWriter
    序列化与反序列化
      序列化:将对象以字节的方式存到外设
        ObjectOutputStream
      反序列化:将存到外设的字节文件转成对象
        ObjectInputStream

     File

    Java.io.File类用来表示文件或目录 
      功能:能获取文件或文件夹的信息,
      对文件或文件夹操作。
    获取信息:
      file.getPath()  获取路径
      file.getName()  获取名称
      file.getParent()  获取目录,返回String
      file.getParentFile() 获取目录,返回File
      file.length()  获取文件大小,返回long
      file.lastModified()  获取文件最后修改时间
    判断:
      file.exists() 判断是否存在
      file.isFile() 判断是否是文件
      file. isDirectory() 判断是否是文件夹
      file. isHidden() 判断是否隐藏
    创建:
      file.createNewFile()  创建文件
      file.mkdir() 创建文件夹  父目录必须要存在
      file.mkdirs()创建文件夹,
      父目录可以不存在,会连带父目录一起创建
    删除:
      file.delete() 删除文件或空文件夹
    重命名:
      file.renameTo(File)  重命名/剪切
    列出
      File[] files = File.listRoots()  列出可用的文件系统根。
      File[] files = dir.listFiles() 获取指定文件夹下的所有文件和文件夹 返回的是File数组
      String[] fs = dir.list()   获取指定文件夹下的所有文件和文件夹  返回String数组

  • 相关阅读:
    java之类的封装
    java飞机大战之子弹的自动生成
    java之线程飞机大战制作
    java线程游戏之背景图片的移动
    mysql的安装以及简单的命令符
    java之控制多幅图片
    java之线程
    JAVA之数组队列
    java之链表
    python之数据库的操作(课前准备)
  • 原文地址:https://www.cnblogs.com/lin02/p/11103967.html
Copyright © 2020-2023  润新知