Java常用类2


前言


String: 不可变的字符串
Stringbuffer/StringBuilder: 可变的字符串, 对字符串的操作,都在原来的空间进行操作,

StringBuffer 中的方法与StringBuilder的方法一样, 但是StringBuffer的方法加synchronized,而StringBuilder没有加
StringBuffer : 线程安全的, StringBuilder是线程不安全 多线程下: StringBuffer效率比StringBuilder低

一、StringBuffer类

1.创建对象

在这里插入图片描述
如果StringBuffer存放的内容大于16个字节, 推荐大家使用指定内容的构造方法, 设置的容量大于等于存放的内容的大小
如果没有指定容量, StringBuffer进行自动扩容, 扩容过程进行拷贝,这个很牺牲性能,
把StringBuffer(String)把String转换为StringBuffer,如果对字符串进行大量的修改操作,推荐把String转换为StringBuffer来操作

2.常用方法

  1. 往字符串末尾追加: append() 与String的+操作一样

    StringBuffer append(任意数据类型) 返回的Stringbuffer就是原理的StringBuffer, 都在原来的空间进行操作,

    StringBuffer 的方法返回原理的Stringbuffer对象, 目的: 实现方法的连写

  2. 往字符串指定位置插入内容

    StringBuffer insert(int 下标,任意类型的内容 )

  3. 修改指定位置上的字符

    void setCharAt(int 下标, 修改字符)

  4. 删除指定范围的字符

    StringBuffer delete(int 开始下标,int 结束下标)

    注意: 包括开始位置, 不包括结束位置

  5. 删除指定位置上一个字符

    StringBuffer deleteCharAt(int 下标)

  6. 字符串反写

    StringBuffer reverse()

  7. 替换指定范围的内容

StringBuffer replace(int start, int end, String str)

  1. 把StringBuffer 变成String

    String toString()

如果一个String字符串,进行大量的修改操作(插入,追加,修改,删除), 为了提高性能, 先把String转换为Stringbuffer,通过StringBuffer进行修改操作, 最后把StringBuffer变成String

实际项目中,前端传递内容都是String,而不是StringBuffer
代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

二、Math类

1.Math类介绍

数学帮助类:位于:Java.lang
Math类的所有方法都是static
常量:
在这里插入图片描述

2.方法

开发的应用程序, 简单的计算:

  1. static double pow(double a, double b) 求多少次方 幂

  2. 产生随机数 大于等于0 小于1的随机小数 [0,1)

    static double random()

​ 随机产生 指定范围的整数 [m,n] [2-100]

0=<Math.random()<1 已知 n大数, m小数

结果: [2-100) (int)(Math.random() * (n-m) +m) [m,n)

2=< (int)(Math.random() * 98 +2) < 100

[2-100] (int)(Math.random() * (n-m +1) +m) [m,n]

0+2=< (int)(Math.random() * 99 +2) < 1*99+2

2=< (int)(Math.random() * 99 +2) < 101

静态导入

使用Scanner: 包: java.util.Scanner;

使用import导包:

import  包名.类名;//把某个类导入进行
import  包名.*; //把某个包下所有的类导入

静态导入: 导入某个类所有的静态资源

import static 包名.类名.*;    //*这个类的所有的静态资源
//静态导入
import static java.lang.Math.*;

三、Random类

1.Random介绍

Random类位于Java.util包,也被称之为伪随机数;
如果用相同的种子创建两个Random实例,则对每个实例进行相同的方法调用序列,它们将返回相同的数组序列

2.构造方法

在这里插入图片描述Random() 随机种子; 当前时间的毫秒值, 推荐使用无参. 种子不一样, 产生的随机数序列不一样

3.常用方法

int nextInt(int bound) 产生一个大于等于0 小于bound的随机整数


四、System系统类

System类代表当前java程序的运行平台,程序不能自己创建System类的对象。

1、 System类提供了一些静态属性和方法,允许通过类名直接调用。

2、 System类提供了代表标准输入、标准输出、错误输出的类属性。

3、 System类提供了一些静态方法用于访问环境变量、系统属性的方法。

4、 System类还提供了加载文件和动态链接库的方法。

1.public static void exit(intstatus) 退出当前虚拟机

2.public static long currentTimeMillis() 获得当前系统的毫秒值(与1970 年 1 月 1 日午夜之间的时间差) 重点

3.public static Properties getProperties() 获得当前的所有系统属性

4.public static String getProperty(String key) 获得指定键的系统属性

5.public static void setIn(InputStream in) 输入重定向

6.public static void setOut(PrintStream out) 输出重定向

7.publicstatic void setErr(PrintStream err) 错误重定向

五、Runtime类

Runtime类代表java程序的运行时环境,每个程序都有一个与之关联的Runtime实例,应用程序通过该对象与运行时环境相连。

Runtime 对应一个程序

应用程序不能自己创建Runtime对象,可以通过Runtime的静态方法getRuntime()获得Runtime对象。

六、Date 日期类

位于java.util.Date

获取当前日期: new Date()

获取当前系统时间的毫秒值: long getTime() 底层调用System的currentTimeMillis()

月: 0-11  0: 1月份  1: 2月份  获取月份, + 1
//星期:  0-6:  0:表示星期天  1:星期一  2: 星期二

七、SimpleDateFormat类

1.介绍

new Date() 获取到当前系统时间: Sat Apr 09 09:36:18 CST 2022

进行转换: yyyy-MM-dd hh:mm:ss 日期字符串

用户输入Scanner, 输入日期只能是一个字符串 “1993-12-12” 需要把String转换为Date

使用SimpleDateFormat: 进行日期与String之间转换, 位于java.text包下: 父类: 抽象类 DateFormat

2.创建对象 构造方法

在这里插入图片描述

pattern: 日期格式表达式字符串:  比如:  yyyy-MM-dd  hh:mm:ss

日期每一部分的 标识符: 

在这里插入图片描述

3.常用方法

1.把日期转换为字符串

​ String format(Date 日期) 从DateFormat继承的

  1. 把指定日期格式字符串转换为日期

    Date parse(String s) 抛一个ParseException

 public static void main(String[] args) {
        Date now = new Date(); //得到当前系统时间
        System.out.println(now);  //Sat Apr 09 09:50:59 CST 2022
        //把日期转换为指定格式: yyyy-MM-dd   2022-04-09
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //调用format() 方法进行转换
        String dateStr = sdf.format(now);
        System.out.println(dateStr);  //2022-04-09


        Scanner input = new Scanner(System.in);
        System.out.println("请输入您的出生日期(yyyy-MM-dd):");
        String  birthdayStr = input.next();
        //把birthdayStr字符串转换为Date类型
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
        //调用parse()
        try {
            Date birthday = sdf1.parse(birthdayStr);
            System.out.println(birthday);
        } catch (ParseException e) {
            // 字符串的格式与SimpleDateFormat的pattern匹配,抛这个异常
            e.printStackTrace();
        }

    }

八、Calendar日历类

1.介绍

位于Java.util.Date
设置年,月,日, 时,分秒 位于java.util包 Calendar 是抽象类: 子类: GregorianCalendar

public abstract class Calendar

2.创建对象

  1. 调用子类的构造方法创建Calendar对象
    在这里插入图片描述
  2. 调用Calendar类的static方法: static Calendar getInstance(); 推荐
public static Calendar getInstance()  //Calendar返回的是基于默认时区的当前时间

3.常用方法

1)获取指定日期部分的值

int get(int field)   //field 日期部分

在这里插入图片描述
2)设置日期
在这里插入图片描述
3)日期相加

`add(int field,  int amount)

4)Calendar对象转换Date

Calendar的getTime()   //把Calendar对象转换Date   

Date的getTime()     获取日期的毫秒值 

5)把Date转化为Calendar

setTime(Date date)

九、总结

这里大概就是一些常用类的常用方法,让自己有个印象,以后方便在API查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值