前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >-java常用API

-java常用API

原创
作者头像
ruochen
修改2021-11-24 14:13:23
1.1K0
修改2021-11-24 14:13:23
举报
文章被收录于专栏:若尘的技术专栏

Java常用API

1. StringBuffer
1.1 StringBuffer概述
代码语言:txt
复制
    为了解决String字符串操作导致的内存冗余,提高效率,Java中提供了StringBuffer和StringBuilder来操作字符串,并且提供了很多方法,便于程序员开发。
代码语言:txt
复制
    StringBuffer和StringBuilder中都有char类型可变长数组作为字符串的保存空间。使用到的方法类型和ArrayList类似。
代码语言:txt
复制
    StringBuffer 线程安全,效率较低
代码语言:txt
复制
    StringBuilder 线程不安全,效率较高
1.2 StringBuffer构造方法
代码语言:txt
复制
构造方法 Constructor
代码语言:txt
复制
    StringBuffer();
代码语言:txt
复制
        创建一个未存储任何字符串信息的空StringBuffer空间,底层初始化一个16个字符
代码语言:txt
复制
        char类型数组
代码语言:txt
复制
    StringBuffer(String str);
代码语言:txt
复制
        根据提供的String类型字符串创建对应的StringBuffer空间,底层char类型数组的容
代码语言:txt
复制
        量会根据str.length + 16决定,并且保存对应的str
1.3 添加方法
代码语言:txt
复制
append(Everything)
代码语言:txt
复制
    在StringBuffer和StringBuilder对象中,添加另外的数据,并且当做字符串处理。
代码语言:txt
复制
insert(int index, Everything)
代码语言:txt
复制
    在StringBuffer和StringBuilder对象中,在指定的下标位置,添加其他内容,并且当做
代码语言:txt
复制
    字符串处理
1.4 查看方法
代码语言:txt
复制
String toString();  
代码语言:txt
复制
    将底层的char类型数组保存的字符内容转换成对应的String类型字符串返回
代码语言:txt
复制
int length();
代码语言:txt
复制
    返回底层char类型数组中有多少有效元素。
代码语言:txt
复制
String substring(int begin);
代码语言:txt
复制
    从指定位置开始获取到char类型数组有效元素末尾对应的字符串,截取操作,
代码语言:txt
复制
String substring(int begin, int end);
代码语言:txt
复制
    从指定位置begin开始到end结束,获取对应的字符串,要头不要尾
代码语言:txt
复制
int indexOf(String str);
代码语言:txt
复制
    指定元素字符串所在下标位置
代码语言:txt
复制
int lastIndexOf(String str);
代码语言:txt
复制
    指定元素字符串最后一次所在下标位置
1.5 修改方法
代码语言:txt
复制
replace(int start, int end, String str);
代码语言:txt
复制
    从指定位置start开始,到end结束,start <= n < end, 使用str替换
代码语言:txt
复制
setCharAt(int index, char ch);
代码语言:txt
复制
    使用ch替换指定下标index对应的字符
1.6 删除和反序
代码语言:txt
复制
delete(int start, int end);
代码语言:txt
复制
    删除指定范围以内的字符 start <= n < end
代码语言:txt
复制
deleteCharAt(int index);
代码语言:txt
复制
    删除指定下标的字符
代码语言:txt
复制
reverse();
代码语言:txt
复制
    逆序
2. Math数学类
代码语言:txt
复制
Java中一些数学方法
代码语言:txt
复制
public static double abs(double a);
代码语言:txt
复制
    返回值为绝对值
代码语言:txt
复制
public static double ceil(double a);
代码语言:txt
复制
    向上取整
代码语言:txt
复制
public static double floor(double a);
代码语言:txt
复制
    向下取整
代码语言:txt
复制
public static double round(double a);
代码语言:txt
复制
    四舍五入
代码语言:txt
复制
public static double random();
代码语言:txt
复制
    随机数 0.0 <= n < 1.0
2.1 方法使用
代码语言:txt
复制
package com.qfedu.b_math;
代码语言:txt
复制
/*
代码语言:txt
复制
 * Math工具类方法
 */
public class Demo1 {
    public static void main(String[] args) {
        // 绝对值
        System.out.println(Math.abs(1.5));
        System.out.println(Math.abs(-1.5));
        System.out.println(Math.abs(5));
        System.out.println(Math.abs(-5));
    
代码语言:txt
复制
        System.out.println("--------------------------------");
代码语言:txt
复制
        // 向上取整
代码语言:txt
复制
        System.out.println(Math.ceil(1.5));
代码语言:txt
复制
        System.out.println(Math.ceil(1.1));
代码语言:txt
复制
        System.out.println(Math.ceil(-1.9));
代码语言:txt
复制
        System.out.println(Math.ceil(-2.9));
代码语言:txt
复制
        System.out.println("--------------------------------");
代码语言:txt
复制
        // 向下取整
代码语言:txt
复制
        System.out.println(Math.floor(10.5));
代码语言:txt
复制
        System.out.println(Math.floor(10.1));
代码语言:txt
复制
        System.out.println(Math.floor(-10.5));
代码语言:txt
复制
        System.out.println(Math.floor(-10.1));
代码语言:txt
复制
        System.out.println("--------------------------------");
代码语言:txt
复制
        // 四舍五入
代码语言:txt
复制
        System.out.println(Math.round(3.5)); // 4
代码语言:txt
复制
        System.out.println(Math.round(3.4)); // 3
代码语言:txt
复制
        System.out.println(Math.round(-2.5)); // -2
代码语言:txt
复制
        System.out.println(Math.round(-2.4)); // -2
代码语言:txt
复制
        System.out.println(Math.round(-2.6)); // -3
代码语言:txt
复制
    }
代码语言:txt
复制
}
2.2 抽奖小演示
代码语言:txt
复制
package com.qfedu.b_math;
代码语言:txt
复制
public class Demo2 {
代码语言:txt
复制
    public static void main(String[] args) {
代码语言:txt
复制
        for (int i = 0; i < 20; i++) {
代码语言:txt
复制
            double num = Math.random() * 100;
代码语言:txt
复制
            if (0.0 <= num && num < 50) {
代码语言:txt
复制
                System.out.println("绿色普通卡");
代码语言:txt
复制
            } else if (50 <= num && num < 80) {
代码语言:txt
复制
                System.out.println("蓝色高端卡");
代码语言:txt
复制
            } else if (80 <= num && num < 98) {
代码语言:txt
复制
                System.out.println("紫色传说卡");
代码语言:txt
复制
            } else {
代码语言:txt
复制
                System.err.println("黄金史诗卡");
代码语言:txt
复制
            }   
代码语言:txt
复制
        }
代码语言:txt
复制
    }
代码语言:txt
复制
}
3. 日历时间格式
3.1 Date 时期类逐渐淘汰
代码语言:txt
复制
获取当前系统时间
代码语言:txt
复制
    大部分构造方法已经过时
代码语言:txt
复制
构造方法
代码语言:txt
复制
    Date();
代码语言:txt
复制
        创建一个Date,对应当前时间,精度在毫秒值
代码语言:txt
复制
    Date(long date);
代码语言:txt
复制
        根据时间戳毫秒数,创建对应的Date对象,时间戳是从1970-01-01 00:00:00 GMT
代码语言:txt
复制
    tips:
代码语言:txt
复制
        中国采用的东八区时间
代码语言:txt
复制
            1970-01-01 08:00:00 
代码语言:txt
复制
常用方法:
代码语言:txt
复制
    long getTime(); 
代码语言:txt
复制
        通过Date类对象获取对应当前时间的毫秒数
代码语言:txt
复制
        System.currentTimeMillis(); 可以获取当前系统时间戳毫秒数
3.2. DateFormat 日期格式类
代码语言:txt
复制
DateFormat 是一个abstract修饰的类,用于转换时间格式。
代码语言:txt
复制
DateFormat不能直接使用,一般使用DateFormat子类SimpleDataFormat来使用
代码语言:txt
复制
SimpleDataForma构造方法中需要的参数是一个String,String类型的参数有特定的要求

标识字母(区分大小写)

对应含义

y

M

d

H

时(24小时)

m

s

代码语言:txt
复制
String format(Date date);
代码语言:txt
复制
    根据指定匹配要求,转换Date格式成为字符串
代码语言:txt
复制
Date parse(String format);
代码语言:txt
复制
    按照指定的匹配规则,解析对应的字符串,返回一个Date数据
3.3 Calender日历类
代码语言:txt
复制
    Calender日历类,替换了很多Date类中的方法。把很多数据都作为静态的属性,通过一些特定的方法来获取。比Date处理日期数据更加方便。
代码语言:txt
复制
    Calender是一个abstract修饰的类,没有自己的类对象。这里通过特定的方法getInstance获取Calender日历类对象。
代码语言:txt
复制
    public static Calender getInstance();
代码语言:txt
复制
        默认当前系统时区的Calender对象
代码语言:txt
复制
常用方法:
代码语言:txt
复制
    public int get(int field);
代码语言:txt
复制
        返回特定数据的数值
代码语言:txt
复制
    public void set(int field, int value);
代码语言:txt
复制
        设置特定字段对应的数据
代码语言:txt
复制
    public Date getTime();
代码语言:txt
复制
        返回得到一个Date对象,从计算机元年到现在的毫秒数,保存在date对象中

字段名

含义

YEAR

MONTH

月(从0开始,使用时习需要+1)

DAY_OF_MONTH

当前月的第几天

HOUR

小时(12小时制)

HOUR_OF_DAY

小时(24小时制)

MINUTE

分钟

SECOND

DAY_OF_WEEK

周几(周日为1)

4. System类
代码语言:txt
复制
System类提供了大量的静态方法,操作的内容和系统有关。   
代码语言:txt
复制
    可以获取当前时间戳   long currentTimeMillis()
代码语言:txt
复制
    获取系统属性的方法   Properties getProperties();
代码语言:txt
复制
    退出当前程序        exit(int status)
代码语言:txt
复制
    数组拷贝方法        arrayCopy(Object src,  -- 原数组
代码语言:txt
复制
                        int srcPos,  -- 从原数组指定下标开始
代码语言:txt
复制
                        Object dest,  -- 目标数组
代码语言:txt
复制
                        int destPos, -- 目标数组从指定位置开始
代码语言:txt
复制
                        int length) -- 读取数据的个数
5. Runtime类
代码语言:txt
复制
Runtime当前程序运行环境类对象,主要程序启动就会有对应的Runtime存在。
代码语言:txt
复制
获取Runtime对象的方法:
代码语言:txt
复制
    Runtime Runtime.getRuntime();
代码语言:txt
复制
需要了解的方法:
代码语言:txt
复制
    gc(); JVM的GC机制,但是就算你调用了GC方法,也不会立即执行。
代码语言:txt
复制
    long totalMemory(); 目前程序使用的总内存
代码语言:txt
复制
    long freeMemory(); 目前程序使用的剩余内容
代码语言:txt
复制
    long maxMemory(); Java程序能过申请的最大内存
代码语言:txt
复制
    Process exec(String exePath); 开启一个程序
6. 包装类
代码语言:txt
复制
Java中提供了两种数据类型
代码语言:txt
复制
    基本数据类型
代码语言:txt
复制
        byte short int long double float boolean char
代码语言:txt
复制
    引用数据类型
代码语言:txt
复制
        类对象,数组,字符串
代码语言:txt
复制
Java中万物皆对象,Java中提供了包装类,让基本类型也可以当做类对象来处理。
代码语言:txt
复制
包装之后的基本数据类型依然可以进行基本的操作和运算,但是多了一些特有的方法,增加了操作性。
代码语言:txt
复制
ArrayList中如果保存的数据类型是Integer类型
代码语言:txt
复制
    ArrayList元素:
代码语言:txt
复制
        [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
代码语言:txt
复制
    如果调用 
代码语言:txt
复制
        remove(1); 删除的是谁???

基本类型

对应的包装类(java.lang)

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

boolean

Boolean

char

Character

6.1 自动装箱和自动拆箱
代码语言:txt
复制
基本类和包装类型之间进行转换的操作,这个过程就是"装箱"和"拆箱"。
代码语言:txt
复制
    装箱 从基本类型到包装类
代码语言:txt
复制
    拆箱 从包装类到基本类型
代码语言:txt
复制
【不推荐】
代码语言:txt
复制
    使用强制操作,太麻烦!!!
6.2 包装类和字符串数据转换过程
代码语言:txt
复制
从文本中读取的数据很多都是字符串类型,例如 JSON XML Database
代码语言:txt
复制
除了Character字符包装类之外,其他的包装类都有对应的解析方法
代码语言:txt
复制
以下方法都是static修饰的静态方法
代码语言:txt
复制
public static byte parseByte(String str);
代码语言:txt
复制
public static short parseShort(String str);
代码语言:txt
复制
public static int parseInt(String str);
代码语言:txt
复制
public static long parseLong(String str);
代码语言:txt
复制
public static float parseFloat(String str);
代码语言:txt
复制
public static double parseDouble(String str);
代码语言:txt
复制
public static boolean parseBoolean(String str);
代码语言:txt
复制
    以上方法都是对饮的包装类调用,解析成对应的基本数据类型。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • Java常用API
    • 1. StringBuffer
      • 2. Math数学类
        • 3. 日历时间格式
          • 4. System类
            • 5. Runtime类
              • 6. 包装类
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档