Java常用类

1、字符串处理

字符串:关于字符串的序列(CharSquence),就是用双引号""引起来的内容
String :字符串的常量,常量指值的地址。
    String str="123";
    str="456"; //相当于重新定义了一个字符串
    
    1、字符串常用方法回顾:
        length() //字符串长度;
        subString(a,b) //从下标[a,b)截取字符串
        repalace("a","b") //字符串替换
        charAt(index) //返回索引位置字符
        toCharArray() //返回字符数组
        trim() //去左右空格
        toLowerCase() //字母全部小写
        toUpperCase() //字母全部大写
        cotains("a") //模糊查询:判断字符串是否包含字符串"a",返回一个布尔值
        等等……

加强版字符串:字符串变量
StringBuilder:一般用来进行字符串的大量添加、删除和修改。
StringBuffer:

总结:
一般用于操作少量字符串数据,字符串常量,效率较低。
String 

一般用来操作大量字符串数据,字符串变量,效率较高。
StringBuilder:异步处理,线程不安全,速度快。
StringBuffer:同步处理,线程安全,速度慢。

添加:append(String str)
删除: deletCharAt(int index) 或 deletCharAt(int start,int end)
修改: setCharAt(int index)
插入: insert(int index,String str)
反转: reverse()

2、Date时间类型

日期类型:Date() 获取系统默认时间
Date date=new Date();
date.toString() //可直接输出本地时间
date.getTime() //获取距格林尼治1970年1月1日0时0分0秒的毫秒数
  
1、自定义时间格式
    //自定义日期格式 yyyy MM dd HH mm ss
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        String formatDate = sdf.format(date);
        System.out.println(formatDate);          //2019年07月22日 15时55分11秒

2、将指定格式的字符串转换为时间类
    //将字符串替换为日期类型
        String strDate = "2019年07月22日 15时55分11秒";
        Date myDate = sdf.parse(strDate); //转换的时候字符串格式要和定义的格式完全一致
        System.out.println(sdf.format(myDate));
        
        //将字符串转换为时分秒
        SimpleDateFormat sdf1 = new SimpleDateFormat("HH:mm:ss");
        String timeStr = "13:12:13";
        Date myTime = sdf1.parse(timeStr);
        System.out.println(timeStr);

3、Calendar日历类(单例模式)

1、获取Calendar对象的方式:
//常量:static static int…… 常量名全是大写的
Calendar cal=Calendar.getInstance();

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class CalendarTest {
    public static void main(String[] args) {
        //得到一个日历对象
        Calendar cal = Calendar.getInstance();
        
        //设置时间 0-11代表1-12月
        cal.set(2020,6,30);
        
        //40天后对应日期 通过毫秒数设置40天后的日期
        cal.setTimeInMillis(cal.getTimeInMillis() + (40 * 24 * 3600 * 1000L));
        
        System.out.println(cal.get(Calendar.YEAR));
        System.out.println((cal.get(Calendar.MONTH) + 1));
        System.out.println(cal.get(Calendar.DAY_OF_MONTH));
        System.out.println(cal.get(Calendar.HOUR_OF_DAY));
        System.out.println(cal.get(Calendar.MINUTE));
        System.out.println(cal.get(Calendar.SECOND));
        System.out.println((cal.get(Calendar.DAY_OF_WEEK) - 1));//星期从周日开始计算

        //当前月份的最大天数
        cal.getMaximum(Calendar.DAY_OF_MONTH);
        //日历转换为日期类
        Date date = cal.getTime();
        //格式化输出
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        System.out.println(sdf.format(date));
    }
}

4、数学类(Math)

数学工具类(静态方法)
1、求根    Math.sqrt();
2、随机数   Math.random();
3、绝对值   Math.abs();
4、幂函数   Math.pow(a,b) a^b
5、四舍五入  Math.round(0.45); //返回一个long类型整数 0
6、向上取整  Math.ceil(1.00001); //结果是2
7、向下取整  Math.floor(9.9999); //结果是9
8、圆周率   Math.PI;

5、随机类

Random ra=new Random();
ra.nextInt(10) [0,10)随机整数
ra.nextDouble() [0,1)随机小数
ra.nextFloat() [0,1)随机小数
ra.nextBoolean() 随机产生true或false

6、BigDecimal() 高精度数据

三种构造
方法一:
    BigDecimal big1=new BigDecimal(0.1); //不推荐使用 无限接近与0.1并不是完全等于0.1
方法二:
    BigDecimal big2=new BigDecimal("0.1");
方法三:
    BigDecimal big3=new BigDecimal(整数);
    
//四则运算
        System.out.println(big1.add(big2));//加法
        System.out.println(big1.subtract(big2));//减法
        System.out.println(big1.multiply(big2));//乘法
        System.out.println(big2.divide(big3));//除法

你可能感兴趣的:(Java常用类)