文章目录
前言
String: 不可变的字符串
Stringbuffer/StringBuilder: 可变的字符串, 对字符串的操作,都在原来的空间进行操作,
StringBuffer 中的方法与StringBuilder的方法一样, 但是StringBuffer的方法加synchronized,而StringBuilder没有加
StringBuffer : 线程安全的, StringBuilder是线程不安全 多线程下: StringBuffer效率比StringBuilder低
一、StringBuffer类
1.创建对象
如果StringBuffer存放的内容大于16个字节, 推荐大家使用指定内容的构造方法, 设置的容量大于等于存放的内容的大小
如果没有指定容量, StringBuffer进行自动扩容, 扩容过程进行拷贝,这个很牺牲性能,
把StringBuffer(String)把String转换为StringBuffer,如果对字符串进行大量的修改操作,推荐把String转换为StringBuffer来操作
2.常用方法
-
往字符串末尾追加: append() 与String的+操作一样
StringBuffer append(任意数据类型) 返回的Stringbuffer就是原理的StringBuffer, 都在原来的空间进行操作,
StringBuffer 的方法返回原理的Stringbuffer对象, 目的: 实现方法的连写
-
往字符串指定位置插入内容
StringBuffer insert(int 下标,任意类型的内容 )
-
修改指定位置上的字符
void setCharAt(int 下标, 修改字符)
-
删除指定范围的字符
StringBuffer delete(int 开始下标,int 结束下标)
注意: 包括开始位置, 不包括结束位置
-
删除指定位置上一个字符
StringBuffer deleteCharAt(int 下标)
-
字符串反写
StringBuffer reverse()
-
替换指定范围的内容
StringBuffer
replace(int start, int end, String str)
-
把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.方法
开发的应用程序, 简单的计算:
-
static double pow(double a, double b) 求多少次方 幂
-
产生随机数 大于等于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继承的
-
把指定日期格式字符串转换为日期
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.创建对象
- 调用子类的构造方法创建Calendar对象
- 调用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查询