您的位置:首页 > 编程语言 > Java开发

Java基础练习 — 常用API(高级)

2019-04-23 18:51 387 查看

文章目录

  • 二、System
  • 三、Date
  • 四、SimpleDateFormat
  • 五、Calendar
  • 六、Integer
  • 七、自动装箱、自动拆包
  • 八、正则表达式
  • 一、Object

    是类层次的根类,每个类都使用

    object
    作为超类。

    成员方法

    1. String toString()
      返回该对象的字符串表示。
      在创建对象的该类中重写,例如main中要
      new Student()
      ,则在Student类中重写
      toString()
    2. boolean equals(Object obj)

      使用
      ==
      来比较是否相等,引用类型比较的是地址值是否相等,基本类型是比较值是否相等
      在创建对象引用的类中重写,例如main中要
      new Person()
      ,则在Person类中重写
      equals(Object)

    二、System

    包含一些有用的类字段和方法,它不能被实例化
    ##成员方法

    1. static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
      源数组,源数组起始索引,目标数组,目标数组起始索引,复制长度。
    2. static long currentTimeMillis()
      以毫秒返回当前系统时间
    3. static void exit(int status)
      终止虚拟机,0为正常退出
    4. static void gc()
      垃圾回收,了解即可

    三、Date

    表示特定的瞬间,精确到毫秒,它可以通过方法来设定自己所表示的时间,可以表示任意时间。

    System.currentTimeMillis();
    返回的是当前系统时间,1970-1-1到至今的毫秒数。

    构造方法

    1. Date()
      创建的是一个表示当前系统时间的Date对象。
    2. Date(long date)
      根据“指定时间”创建date对象,简单的加法运算,在1970-1-1的基础上+
      date
      毫秒
      显示当前系统时间的例子
    Date d = new Date();
    System.out.println(d.toLocaleString); //过时的方法,但是很好用

    成员方法

    1. 毫秒 -> Date :设置,返回
      void
      ,需要参数
      long

      void setTime(long time)
      使用方法进行设置
      Date(long time)
      直接构造的时候设置参数
    2. Date -> 毫秒:获取,返回
      long
      型,不需要参数
      long getTime()

    四、SimpleDateFormat

    分为格式化解析两个步骤

    格式化

    创建一个模式sdf

    new SimpleDateFormat()
    ,将当前日期date
    new Date()
    ,以这个格式输出
    sdf.format(date)

    Date -> String
    2048-8-26 -> 2049年8月26日
    采用的成员方法是
    String format(Date date)

    解析

    这个格式表示的日期,解析成默认格式
    String -> Date
    “2049年8月26日” -> 2049-8-26
    采用的成员方法是

    Date parse(String source)

    构造方法

    1. SimpleDateFormat()
      :使用默认的格式进行对象的构建
    2. SimpleDateFormat(String pattern)
      :使用指定的格式进行对象的构建
      注意:解析的字符串模式必须和构建对象的模式一样。
      4个小姨,2个大美眉,2个小弟弟
      (yyyy年MM月dd日)
    //创建模式
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
    
    //格式化
    Date date = new Date();
    String s = sdf.format(date);
    System.out.println(s); //2019年4月16日
    
    //解析
    Date d = sdf.parse("2019年4月16日");
    System.out.println(d); //2019-4-16

    五、Calendar

    成员方法

    1. 获取:
      int get(int field)
    2. 修改:
      void set(int field, int value)
    3. 添加:
      abstract void add(int field, int amout)
    Calendar c = Calendar.getInstance(); //使用默认时区和语言环境获得一个日历
    c.set(Calendar.DAY_OF_MONTH, 20); //将DAY_OF_MONTH改成20
    c.add(Calendar.MONTH, 2); //MONTH+2
    c.get(Calendar.YEAR); //获得年份

    六、Integer

    由于基本数据类型只能做一些简单的操作和运算,所以Java为我们封装了基本数据类型,为每种基本数据类型提供了包装类对象。
    包装类就是封装了基本数据的类,为我们提供了更多复杂的方法和一些变量。

    byte short char int long float double boolean
    Byte Short Character Integer Long Float Double Boolean

    String -> int

    1. 方法1:
      intValue();
    2. 方法2:
      Integer.parceInt(String s);
    Integer i = new Integer("10");
    int a = i.intValue();
    int b = Integer.parceInt("10");

    int -> String

    1. 方法1:+
      " "
      ;
    2. 方法2:
      String toString();
    3. 方法3:
      static String toString(int i );
    String s = i.toString();
    String s2 = Integer.toString(10);

    构造方法

    1. Integer(int value)
    2. Integer(String s)

    七、自动装箱、自动拆包

    JDK1.5特性:

    1. 自动装箱:基本数据类型转换为包装类对象的过程(使用构造方法实现该过程)。
    2. 自动拆包:包装类对象转换为基本数据类型的过程(
      intValue()
      方法实现)

    自动装箱

    Integer i = 10;
    -> Integer  i = new Integer(10);

    自动拆包

    int a = i;
    -> int a = i.intValue();

    八、正则表达式

    常用正则表达式
    字符 x 字符x
    \\ 反斜线字符
    字符类 [abc] a或b或c
    [^abc] 任何字符,除了a、b、c
    [a-zA-Z] a到z或A到Z
    . 任何字符
    \d 数字[0-9]
    \D 非数字[0-9]
    \s 空的字符[\t\n\xoB\f\r]
    \S 非空白字符[^\s]
    \w 单词字符[a-zA- 29e38 Z_O-9]
    \W 非单词字符[^\s]
    数量词 X? 一次或一次也没有
    X* 零次或多次
    X+ 一次或多次
    X{n} 恰好n次
    X{n,} 至少n次
    X{n,m} 至少n次,不超过m次

    举一个栗子:
    校验QQ — 条件:

    1. 5-15位

    2. 开头不为0

    3. 必须为数字

      [1-9][0-9]{4,14}
      第1个数字1~9内
      第2个数字0~9内
      出现4次不超过14次

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: