今日学习目录:

  • BigInteger类
  • BigDecimal类
  • Arrays类
  • 包装类
  • String类的常用方法
  • 正则表达式
  • Collection集合

    1 BigInteger类

    概述 : java.math.BigInteger类是一个引用数据类型 , 可以用于计算一些大的整数 , 当超出基本数据类型数据范围的整数运算时就可以使用BigInteger了。

    2 BigDecimal类

    概述 : java.math.BigDecimal可以对大浮点数进行运算,保证运算的准确性。float,double 他们在存储及运算的时候,会导致数据精度的丢失。如果要保证运算的准确性,就需要使用BigDecimal。

    3 Arrays类

    概述 : java.util.Arrays是数组的工具类,里面有很多静态的方法用来对数组进行操作(如排序和搜索),还包含一个静态工厂,可以将数组转换为List集合(后面会讲到集合知识

    4 包装类

    概述 :Java中基本数据类型对应的引用数据类型
    作用:

  • 基本数据类型 , 没有变量 , 没有方法 , 包装类就是让基本数据类型拥有变量和属性 , 实现对象化交互

  • 基本数据类型和字符串之间的转换

    5 正则表达式

    概述:正则表达式通常用来校验,检查字符串是否符合规则的

    5.1正则表达式的语法

    • [abc] :代表a或者b,或者c字符中的一个。
    • [^abc]:代表除a,b,c以外的任何字符。
    • [a-z] :代表a-z的所有小写字符中的一个。
    • [A-Z] :代表A-Z的所有大写字符中的一个。
    • [0-9] :代表0-9之间的某一个数字字符。
    • [a-zA-Z0-9]:代表a-z或者A-Z或者0-9之间的任意一个字符。
    • [a-dm-p]:a 到 d 或 m 到 p之间的任意一个字符
      预定义字符类
  • “.” : 匹配任何字符。

  • “\d”:任何数字[0-9]的简写;
  • “\D”:任何非数字0-9的简写;
  • “\s” : 空白字符:[ \t\n\x0B\f\r] 的简写
  • “\S” : 非空白字符:\s 的简写
  • “\w” :单词字符:[a-zA-Z_0-9]的简写
  • “\W”:非单词字符:\w

    数量词
  • X? : 0次或1次

  • X* : 0次到多次
  • X+ : 1次或多次
  • X{n} : 恰好n次
  • X{n,} : 至少n次
  • X{n,m}: n到m次(n和m都是包含的)

    6 Collection集合

    6.1集合和数组的区别

  • 数组 : 长度固定 集合 : 长度可变

  • 数组 : 可以存储基本数据类型

    • 集合 : 只能存储引用数据类型 , 要想存储基本数据类型 , 需要存储对应的包装类类型

      6.2Collection集合常用的方法

  • public boolean add(E e): 把给定的对象添加到当前集合中 。

  • public void clear() :清空集合中所有的元素。
  • public boolean remove(E e): 把给定的对象在当前集合中删除。
  • public boolean contains(Object obj): 判断当前集合中是否包含给定的对象。
  • public boolean isEmpty(): 判断当前集合是否为空。
  • public int size(): 返回集合中元素的个数。
  • public Object[] toArray(): 把集合中的元素,存储到数组中

    6.3 迭代器

  • 概述 :迭代器就是对Iterator的称呼 , 专门用来对Collection集合进行遍历使用的。学习迭代器的目的就是为了遍历集合

  • 获取迭代器对象的方式:
    • 通过Collection集合对象调用Iterable接口中的iterator方法 , 就可以获取迭代器对象(拿单列集合对象调用iterator(),就会拿到迭代器对象)
  • 迭代器中的方法
    • next():返回迭代中的下一个元素。
    • remove():从底层集合中删除此迭代器返回的最后一个元素
  • 迭代器的注意事项

    • 当迭代器迭代元素完成后,不能继续next获取元素,否则会报:NoSuchElementException
    • 当迭代器在使用的过程中,不能使用集合对象直接增删元素。会导致报错ConcurrentModificationException。如果要删除可以使用迭代器来删除

      6.3 增强for循环

  • 专门用来遍历集合或者数组,底层实现使用迭代器

  • 定义格式 :
    1. for(元素的类型 变量名 : 数组/单列集合 ){
    2. 变量代表的就是集合或者数组的元素
    3. }
    快捷键:数组/单列集合.for
    缺点: 没有索引