常用API

Object类

jvm启动,默认导入的是java.lang包中的内容,该包下的内容不需要import进行导入。

概念

  • 该类是java体系中的根类,所有对象都将该类作为直接或者间接父类
    所有对象包括数组都继承了该类中的方法

构造方法:

  • Object() :该方法中没有super()语句了。

方法

  • boolean equals(Object obj)

    • 比较两个对象的地址值是否相同

    • 该方法比较的是地址值,没有实际意义,通常会将该方法进行重写,比较有意义数据,通常是类中属性的比较。

    • == 和 equals区别:

      • ==

        • 可以比较基本··类型也可以比较引用类型
        • 比较基本类型: 比较是数值是否相同
        • 比较引用类型: 比较是的地址值
      • equals

        • 只能进行引用类型的比较,比较是地址值
        • 通常会重写,比较属性
  • int hashCode() :返回对象的哈希码值

    • 每创建一个对象,该对象都会有一个哈希值存在,默认不同对象(object类中的equals)哈希值不同,但是可以通过重写hashCode方法,让不同对象有相同的哈希值。因此该方法是不能判断是否是同一对象的。如果是同一对象的,哈希值一定相同。
  • String toString() :返回对象的字符串表示

String类

概述

  • 1.该类是一个final类,不能有子类。

  • 2.只要出现双引号表示的字面值数据,都是该类的一个实例对象,如“abc”
    说明创建字符串对象,可以不适用关键字new。

  • 3.字符串是常量,创建后不能改变,能改变的是引用的指向

  • 4.由于字符串不能改变,因此被共享。

  • 5.字符串底层原理就是字符数组

构造方法

  • 使用new关键字创建对象时,调用的方法

    • 单元测试:JUnit

      • 定义方法: public void 方法名(){ ….}
      • 需要在方法的上边加入 @Test 注解,需要导入对应的列库。
      • 注意:项目中不要出现以Test为类名的类。
  • String()

    • 初始化一个新创建的String对象,使其表示一个空字符序列
  • String(byte[] bytes)

    • 通过使用平台的默认字符集解码指定的byte数组,构造一个新的String
  • String(byte[] bytes,int offsert,int length)

    • 通过使用平台的默认字符集解码指定的byte子数组,构造一个新的String
  • String(char[] value)

    • 分配一个新的String,使其表示字符数组参数中当前包含的字符序列
  • String(char[] value,int offsert,int count)

    • 分配一个新的String,包含取自字符数组参数一个子数组的字符
  • String(String original)

    • 初始化一个新创建的String对象,使其表示一个与参数相同的字符序列
    • 新创建的字符串是该参数字符串的副本

方法

  • 1、判断

    • 返回boolean

      • contains(CharSequence s)

        • 当且仅当此字符串包含指定的char值序列,返回true
      • endsWith(String suffix)

        • 测试此字符串是否以指定的后缀结束。
      • equals(Object anObject)

        • 将此字符串与指定对象比较
      • equalsIgnoreCase(String anotherString)

        • 将此String与另一个String比较,不考虑大小写
      • isEmpty()

        • 当且仅当length()为0时返回true
      • startsWith(String prefix)

        • 测试此字符串是否以指定的前缀开始
  • 2、获取

    • 返回char

      • charAt(int index)

        • 返回指定索引处的char值
    • 返回int

      • 找不到指定的字符或字符串,则返回固定值-1

      • indexOf(int ch)

        • 返回指定字符在次字符串中第一次出现处的索引
      • indexOf(int ch,int fromIndex)

        • 返回在次字符串中第一次出现指定字符处的索引,从指定的索引开始搜索
      • indexOf(String str)

        • 返回指定字符串在此字符串中第一次出现处的索引
      • indexOf(String str,int fromIndex)

        • 返回在次字符串中第一次出现指定字符串处的索引,从指定的索引开始搜索
      • length()

        • 返回此字符串的长度
    • 返回String

      • 截取字符串

      • substring(int beginIndex)

        • 返回一个新字符串,它是此字符串的一个子字符串
      • substring(int beginIndex,int endIndex)

        • 返回一个新字符串,它是此字符串的一个子字符串
  • 3、转换

    • 返回String

      • copyValueOf(char[] data)

        • 返回指定数组中表示该字符序列的String
      • copyValueOf(char[] data,int offset,int count)

        • 返回指定数组中表示该字符序列的String
      • 将字符数组转换为字符串

      • 将任意类型转换为字符串

        • valueOf()

          • 参数可为各种基本类型,返回该参数的字符串形式
      • 字母字符串的大小写转换

        • toUpperCase()

          • 将此String中的所有字符转换为大写
        • toLowerCase()

          • 将此String中的所有字符串转换为小写
    • 返回char[]

      • toCharArray()

        • 将此字符串转换为一个新的字符数组
    • 返回byte[]

      • getBytes()

        • 使用平台的默认字符集将此String编码为byte序列,并将结果存储到一个新的byte数组中
  • 4、其他

    • 返回String

      • concat(String str)

        • 将指定字符串连接到此字符串的结尾
      • replace(char oldChar,char newChar)

        • 返回一个新的字符串,它是通过用newChar替代此字符串出现的所有ordChar得到的
      • trim()

        • 返回字符串的副本,忽略前面和尾部的空白

字符串缓存区对象

缓冲区:

  • 看成一个容器,此容器的大小可以改变

字符串缓冲区

  • 操作过程中可以操作任意类型的数据,操作结束后,得到一个唯一的字符。
    在操作的过程中,一直操作同意缓存区

对象

  • StringBuffer和StringBuilder

    • 区别

      • StringBuffer jdk1.0版本的,多线程安全,效率慢
      •     StringBuilder jdk5.0版本的,多线程不安全,效率快
        
    • 特点

      • 都是final类,即不能有子类,可变的字符序列
    • 构造方法

      • new StringBuilder() 常用
      • new StringBuilder(指定容量)
      • new StringBuilder(String str) 常用,将字符串转为字符串缓冲区对象
    • 字符串和缓冲区对象之间的转换问题:

      • String—->StringBuilder :

        • new StringBuilder(String str)
      • StringBuilder —->String

        • new String(StringBuilder s)
        • new StringBuilder().toString()
      • 互转的目的就是为了使用对方的功能或对方的特点

    • 方法

        • append(data) : 将data追加到原有数据的末尾
        • insert(index,data) :将data插入到index位置上
        • delete(start ,end) :删除[start,end)区间内的字符
        • deleteCharAt(index):删除index位置上的字符
        • replace(start,end ,newStr):将[start,end)区间内的替换为newStr
        • reverse(): 反转
        • setCharAt(index, newChar) :将index位置上的字符修改为newChar
        • length(): 获取字符长度
        • capcity(): 获取实际容量
        • toString():返回字符序列

包装类

java.lang包中的对象

  • 基本类型仅仅是表示一个简单的数据,需要能像对象一样,进行方法和属性的访问操作。

基本类型

  • byte short int long double float char boolean

包装类型

  • Byte Short Integer Long Double Float Character Boolean

构造方法

  • Integer(int value)

    • 构造一个新分配的Integer对象,它表示指定的int值
  • Integer(String s)

    • 构造一个新分配的Integer对象,它表示String参数所指示的int值
  • Character(char valuer)

    • 构造一个新分配的Character对象,用以表示指定的char值
  • 只有字符类型有一个构造方法,来创建对象,其他对是两个与Integer类似。

  • 注意:String参数一定要与被创建对象的格式是一致的,否则出现格式化异常。

方法

  • 1、基本类型关键字+Value()

    • 将包装类对象转为对应的基本类型
  • 2、static parse+基本类型关键字(首字母大写)(String s)

    • 将s解析为对应的基本类型

总结

  • int 、String、 Integer三者间转换:

    • int—>String :

      • int+””
      • String.valueOf(int)
      • Integer.toString(int)
    • String—> int:

      • Integer.parseInt(str)
    • int—>Integer

      • new Integer(int)
      • Integer.valurOf(int)
    • Integer—->int

      • intValue()
    • String—->Integer

      • new Integer(str)
      • Integer.valueOf(str)
    • Integer—->String :

      • new Integer().toString()

JDK5.0特性

  • 自动装箱和自动拆箱

    • 装箱

      • 将基本类型转为包装类对象形式
    • 拆箱

      • 将包装类对象转为基本类型
    • 自动装箱

      • 可以将基本类型数据直接赋值给包装类对象
    • 自动拆箱

      • 可以将包装类对象直接赋值给基本类型变量
    • 好处

      • 简化代码的书写
    • 弊端

      • 大量使用可能会对性能有损伤,不建议多使用

System类

java.lang包中,final类,系统类,类中成员是静态的,该类不能实例化。

属性

  • out: 标准的输出数据,默认输出位置是控制台,可以改。
  • in :标准的输入数据,默认是通过键盘进行输入,可以改。
  • err: 标准的错误数据输出,用法out相同,输出位置也是控制台,输出内容位置会移动。

方法

  • long currentTimeMillis():

    • 获取当前系统时间毫秒值,从1970-1-1 0:0:0开始计算的。
    • 1s = 1000ms
  • void exit(int status)

    • :jvm终止执行。status是状态码,非0数字代表异常退出

Math

java.lang包中,final类,类中封装了常用的一些基本数学计算,如三角函数、对数等。

类中成员都是静态的。

属性

  • PI:圆周率
  • E:自然底数

方法

  • abs()

    • 绝对值:参数类型float、double、int、long
  • cbrt()

    • 开立方:参数类型double
  • sqrt()

    • 开平方根:参数类型double
  • ceil()

    • 大于参数的最小整数:参数类型 double
  • floor()

    • 小于参数的最大整数:参数类型 double
  • max()

    • 返回两个整数中的大数:参数类型:double、int、long
  • min()

    • 返回两个整数中的小数:参数类型:double、int、long
  • pow()

    • 计算2的3次幂:参数类型double
  • round()

    • 四色五日:参数类型float–int double—long
  • random

    • 随机数 0.0~1.0

new Random()

  • nextInt(int n)

    • 返回[0,n)之间的随机整数

大数据类型

java.math包中

BigInteger:

  • 基本类型:long类型8字节

    • 遇到的数据超出long类型,使用BigInteger来表示
  • 构造方法

    • BIgInteger(String val)

      • 将BigInteger的十进制字符串表示形式转换为BigInteger
    • BIgInteger(String val,int radix)

      • 将指定基数的BigInteger的字符串表示形式转换为BigInteger
  • 方法

    • b1.add(b2)

      • 加法
    • b1.subtract(b2)

      • 减法
    • b1.multiply(b2)

    • b1.divide(b2)

    • b1.abs()

      • 绝对值
    • 注:

      • 方法的返回值类型是:BigInteger类型。

BigDecimal

  • double、float 应用领域:科学记数或工业领域,都是近似数。
    该类是一个不可变的有精确的表示小数

  • 构造方法

    • BigDecimal(String num) : 常用

    • BigDecimal(double num)

      • 可能出现不可预知的结果,因此不建议使用
        将double数据转为字符串,再封装到BigDecimal对象中

日期对象

java.util包

Date

  • 表示特定的瞬间,能精确到毫秒

  • 构造方法()

    • Date()

      • 分配Data对象并初始化此对象,以表示分配它的时间(精确到毫秒)
    • Date(long date)

      • 放入long类型毫秒值,把毫秒值转换为Date日期
  • 方法

    • setTime(long time)

      • 设置此Date对象,以表示1970年1月1日00:00:00GMT以后time毫秒的时间点
    • getTime()

      • 返回1970年1月1日00:00:00GMT以来此Date对象表示的毫秒数

日期格式化

  • DateFormat

    • DateFormat类是一个抽象类,无法直接创造对象使用,可以使用DateFormat类的子类

    • 构造方法

      • SimpleDateFormat(String pattern)

        • 用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat
        • 写对应的模式,会把模式替换为对应的日期和时间
  •  "yyyy-MM-dd HH:mm:ss"
     	- 注:连接符号可以改,字母不能更改
     	- 模式: y 年   M 月   d 日   h/H 小时  m分钟   s 秒  S毫秒  E 星期
    
    • 成员方法

      • String format(Date date)

        • 按照指定的模式,把指定的模式,把Date日期,格式化为符合模式的字符串(文本)
      • Date parse(String source)

        • 把符合模式的字符串,解析为Date日期

日历对象

在java.util包中

Calendar

  • 该对象将Date类中的大部分方法替代了。该对象封装有关系时间日期信息很详细

  • 获取Calendar对象

    • static getInstance()
  • 方法

    • public int get(int field)

      • 返回给定日历字段的值
      • 参数:传递指定的日历字段(YEAR,MONTH……)
    • public void set(int field,int value)

      • 将给定的日历字段设置为给定值
      • 参数:
    •   int field:传递指定的日历字段(YEAR,MONTH)
      
    •   int value:给指定字段设置的值
      
    • public abstract void add(int field,int amount)

      • 根据日历的规则,为给定的日历字段添加或减去指定的时间量。
      • 参数:
    •   int filed传递指定的日历字段(YEAR,MONTH)
      
    •   int amount:增加/减少指定的值
      
    •          正数:增加
      
    •          负数:减少
      
    • public Date getTime():

      • 返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象
        把日历对象,转换成日期对象

总结

  • 1.Date和Calendar互转
    2.获取毫秒值的方式
    3.格式化日期或日历对

NumberFormat

该类是用来格式化和解析数值数据的,该类是一个抽象类,类中提供静态方法可以获取对象

获取NumberFormat对象

  • format()

    • 格式化数据,将数值转化为文本格式
  • parse()

    • 解析数据,将文本转为数值
  • setMaximumFractionDigits(int newValue)

    • 设置数的小数部分所允许的最大位数
  • setMaximumIntegerDigits(int newValue)

    • 设置数的整数部分所允许的最大位数

版权声明:本文为chenglong0201原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/chenglong0201/p/14993175.html