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));//除法
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容

  • Date 类Date表示特定的瞬间,精确到毫秒。 本质上拥有一个long fastTime属性的包装类,提供了很多...
    什么时候养猫阅读 240评论 0 0
  • 1.Object 是所有类的基类 public String toString() 在打印输出类或者字符串连接时会...
    dawsonenjoy阅读 618评论 0 1
  • 1、包装类 在JAVA中,将基本类型数据封装在包装类中,这样便可以把基本数据类型转换为对象类型处理。包装类详单于基...
    文哥的学习日记阅读 1,224评论 0 2
  • 之前将Java的大部分语法都回顾完了,后面添加一些常见的操作,基础语法就结束了。至于在这里再次提到常用类是由于有一...
    一叶障目阅读 251评论 0 0
  • 吃完早餐的时候母女俩还在熟睡 尽管屡次被警告,不要打扰她享受早晨的懒床时间,可出门前我还是忍不住又去床头坐会儿 轻...
    为卿画眉L阅读 396评论 2 0