Java教程

Java常用类

本文主要是介绍Java常用类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java常用类

字符串相关的类

int length():返回字符串的长度: return value.length 

char charAt(int index): 返回某索引处的字符return value[index] 

boolean isEmpty():判断是否是空字符串:return value.length == 0 

String toLowerCase():使用默认语言环境,将 String 中的所有字符转换为小写 

String toUpperCase():使用默认语言环境,将 String 中的所有字符转换为大写 

String trim():返回字符串的副本,忽略前导空白和尾部空白 

boolean equals(Object obj):比较字符串的内容是否相同 

boolean equalsIgnoreCase(String anotherString):与equals方法类似,忽略大小写 

String concat(String str):将指定字符串连接到此字符串的结尾。 等价于用“+” 

int compareTo(String anotherString):比较两个字符串的大小 

String substring(int beginIndex):返回一个新的字符串,它是此字符串的从beginIndex开始截取到最后的一个子字符串。 

String substring(int beginIndex, int endIndex) :返回一个新字符串,它是此字符串从beginIndex开始截取到endIndex(不包含)的一个子字符串。 

boolean contains(CharSequence s):当且仅当此字符串包含指定的 char 值序列时,返回 true 

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

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

int lastIndexOf(String str):返回指定子字符串在此字符串中最右边出现处的索引 

int lastIndexOf(String str, int fromIndex):返回指定子字符串在此字符串中最后 一次出现处的索引,从指定的索引开始反向搜索 注:indexOf和lastIndexOf方法如果未找到都是返回-1 

boolean endsWith(String suffix):测试此字符串是否以指定的后缀结束 

boolean startsWith(String prefix):测试此字符串是否以指定的前缀开始 

boolean startsWith(String prefix, int toffset):测试此字符串从指定索引开始的 子字符串是否以指定前缀开始

StringBuffer

  1. StringBuffer类的常用方法

    StringBuffer append(xxx):提供了很多的append()方法,用于进行字符串拼接
    StringBuffer delete(int start,int end):删除指定位置的内容
    StringBuffer replace(int start, int end, String str):把[start,end)位置替换为str
    StringBuffer insert(int offset, xxx):在指定位置插入xxx
    StringBuffer reverse() :把当前字符序列逆转
    public int indexOf(String str)
    public String substring(int start,int end)
    public int length()
    public char charAt(int n )
    public void setCharAt(int n ,char ch)
    
    • 面试题:对比String、StringBuffer、StringBuilder
    • String(JDK1.0):不可变字符序列
    • StringBuffer(JDK1.0):可变字符序列、效率低、线程安全
    • StringBuilder(JDK 5.0):可变字符序列、效率高、线程不安全
    • 注意:作为参数传递的话,方法内部String不会改变其值,StringBuffer和StringBuilder 会改变其值。

时间API

  1. . java.lang.System类

    System类提供的public static long currentTimeMillis()用来返回当前时 间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。

    此方法适于计算时间差。

  2. java.util.Date类

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

    • 构造器:
      • Date():使用无参构造器创建的对象可以获取本地当前时间。
      • Date(long date)
    • 常用方法
      • getTime():返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
      • toString():把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat),zzz是时间标准。
  3. java.text.SimpleDateFormat类

    它允许进行格式化:日期文本、解析:文本日期

    • 格式化:
      • SimpleDateFormat() :默认的模式和语言环境创建对象
      • public SimpleDateFormat(String pattern):该构造方法可以用参数pattern指定的格式创建一个对象,该对象调用:
      • public String format(Date date):方法格式化时间对象date
    • 解析:
      • public Date parse(String source):从给定字符串的开始解析文本,以生成一个日期。
  4. java.util.Calendar(日历)类

    • Calendar是一个抽象基类,主用用于完成日期字段之间相互操作的功能。
    • 获取Calendar实例的方法
      • 使用Calendar.getInstance()方法
      • 调用它的子类GregorianCalendar的构造器。
    • 一个Calendar的实例是系统时间的抽象表示,通过get(int field)方法来取得想要的时间信息。比如YEAR、MONTH、DAY_OF_WEEK、HOUR_OF_DAY 、 MINUTE、SECOND
      • public void set(int field,int value)
      • public void add(int field,int amount)
      • public final Date getTime()
      • public final void setTime(Date date)
    • 注意:
      • 获取月份时:一月是0,二月是1,以此类推,12月是11
      • 获取星期时:周日是1,周二是2 , 。。。。周六是7

JDK8新时间API

  1. 新时间日期API

    java.time – 包含值对象的基础包 
    java.time.chrono – 提供对不同的日历系统的访问 
    java.time.format – 格式化和解析时间和日期 
    java.time.temporal – 包括底层框架和扩展特性 
    java.time.zone – 包含时区支持的类
    
  2. LocalDate、LocalTime、LocalDateTime 类是其中较重要的几个类,它们的实例 是不可变的对象:

    LocalDate代表IOS格式(yyyy-MM-dd)的日期,可以存储 生日、纪念日等日期。

    LocalTime表示一个时间,而不是日期。

    LocalDateTime是用来表示日期和时间的,这是一个最常用的类之一。

  3. Instant

    java.time包通过值类型Instant提供机器视图,不提供处理人类意义上的时间 单位。Instant表示时间线上的一点,而不需要任何上下文信息,例如,时区。 概念上讲,它只是简单的表示自1970年1月1日0时0分0秒(UTC)开始的秒 数。因为java.time包是基于纳秒计算的,所以Instant的精度可以达到纳秒级。

    (1 ns = 10-9 s) 1秒 = 1000毫秒 =106微秒=109纳秒

Java比较器

  1. 自然排序:java.lang.Comparable

    Collections.sort 或 Arrays.sort进行自动排序。

    • String:按照字符串中字符的Unicode值进行比较
    • Character:按照字符的Unicode值来进行比较
    • 数值类型对应的包装类以及BigInteger、BigDecimal:按照它们对应的数值 大小进行比较
    • Boolean:true 对应的包装类实例大于 false 对应的包装类实例
    • Date、Time等:后面的日期时间比前面的日期时间大
  2. 定制排序:java.util.Comparator

    • 当元素的类型没有实现java.lang.Comparable接口而又不方便修改代码,或者实现了java.lang.Comparable接口的排序规则不适合当前的操作,那么可以考虑使用 Comparator 的对象来排序

    • 重写compare(Object o1,Object o2)方法,比较o1和o2的大小:如果方法返 回正整数,则表示o1大于o2;如果返回0,表示相等;返回负整数,表示 o1小于o2。

System类

  1. 成员变量

    1. System类内部包含in、out和err三个成员变量,分别代表标准输入流 (键盘输入),标准输出流(显示器)和标准错误输出流(显示器)。

    2. 成员方法

      • native long currentTimeMillis():该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时 间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。
      • void exit(int status):该方法的作用是退出程序。其中status的值为0代表正常退出,非零代表 异常退出。使用该方法可以在图形界面编程中实现程序的退出功能等。
      • void gc():
      • 该方法的作用是请求系统进行垃圾回收。至于系统是否立刻回收,则 取决于系统中垃圾回收算法的实现以及系统执行时的情况。
      • String getProperty(String key):
      • 该方法的作用是获得系统中属性名为key的属性对应的值。系统中常见 的属性名以及属性的作用如下表所示:

Math类

abs 绝对值

acos,asin,atan,cos,sin,tan 三角函数

sqrt 平方根

pow(double a,doble b) a的b次幂

log 自然对数

exp e为底指数

max(double a,double b)

min(double a,double b)

random() 返回0.0到1.0的随机数

long round(double a) double型数据a转换为long型(四舍五入)

toDegrees(double angrad) 弧度—>角度

toRadians(double angdeg) 角度—>弧度

这篇关于Java常用类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!