Day20 Java常用类

Day20 Java常用类

一、String类

1、概念: 在Java中,String类是一个非常常用的类,用于表示字符串对象。String类提供了许多方法来操作和处理字符串。

2、String类常用方法:

  1. 获取字符串长度
  • int length(): 返回字符串的长度。
  1. 获取指定位置的字符
  • char charAt(int index): 返回指定索引位置的字符。
  1. 比较字符串
  • boolean equals(Object obj): 比较字符串是否相等。
  • boolean equalsIgnoreCase(String anotherString): 忽略大小写比较字符串是否相等。
  • int compareTo(String anotherString): 按字典顺序比较字符串。
  1. 查找子字符串
  • int indexOf(String str): 返回子字符串第一次出现的位置。
  • int lastIndexOf(String str): 返回子字符串最后一次出现的位置。
  • boolean contains(CharSequence s): 判断字符串是否包含指定的字符序列。
  1. 截取子字符串
  • String substring(int beginIndex): 返回从指定索引开始到字符串末尾的子字符串。
  • String substring(int beginIndex, int endIndex): 返回从指定索引开始到指定索引结束的子字符串。
  1. 替换字符串
  • String replace(char oldChar, char newChar): 替换字符串中的字符。
  • String replace(CharSequence target, CharSequence replacement): 替换字符串中的指定字符序列。
  1. 转换大小写
  • String toLowerCase(): 将字符串转换为小写。
  • String toUpperCase(): 将字符串转换为大写。
  1. 去除空格
  • String trim(): 去除字符串两端的空格。
  1. 拼接字符串
  • String concat(String str): 将指定字符串连接到该字符串的末尾。
  1. 判断字符串是否为空
  • boolean isEmpty(): 判断字符串是否为空。

二、StringBuffer类和StringBuilder类

1、StringBuffer概念:StringBuffer代表可变的字符序列。StringBuffer称为字符串缓冲区,它的工作原理是:预先申请一块内存,存放字符序列,如果字符序列满了,会重新改变缓存区的大小,以容纳更多的字符序列。StringBuffer是可变对象,这个是String最大的不同。

​ StringBuilder概念:StringBuilder与StringBuffer的用法完全一致,唯一的区别是StringBuffer是线程安全的,而StringBuilder不是线程安全的。所以StringBuilder的性能要比StringBuffer要好。单线程推荐使用StringBuilder,多线程使用StringBuffer。

2、 创建StringBuffer类对象:

​ StringBuffer可以理解为一个字符串容器,可以动态的改变容器中的内容。

​ StringBuffer类的常用构造方法:

​ StringBuffer()

​ 构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符

​ StringBuffer(String str)

​ 构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容

3、StringBuffer类的常用方法:

  1. append(String str)
  • 将指定的字符串追加到当前StringBuffer对象的末尾。
  1. insert(int offset, String str)
  • 在指定位置插入指定的字符串。
  1. delete(int start, int end)
  • 删除从指定位置开始到结束位置之间的字符序列。
  1. replace(int start, int end, String str)
  • 用指定的字符串替换从指定起始位置到结束位置之间的字符。
  1. substring(int start) / substring(int start, int end)
  • 返回从指定位置开始到结束位置之间的子字符串。
  1. reverse()
  • 反转当前StringBuffer对象中的字符序列。
  1. length()
  • 返回当前StringBuffer对象的长度(字符数)。
  1. indexOf(String str) / lastIndexOf(String str)
  • 返回指定字符串在StringBuffer对象中第一次/最后一次出现的位置。
  1. charAt(int index)
  • 返回指定索引位置的字符。
  1. setCharAt(int index, char ch)
  • 将指定索引位置的字符设置为指定的字符。
  1. substring(int start, int end)
  • 返回从指定起始位置到结束位置之间的子字符串。
  1. toString()
  • StringBuffer对象转换为一个普通的字符串。

思考: 为什么需要StringBuilder及StringBuffer类 ?

:字符串的不变性:

一个String对象的长度是固定的,不能改变它的内容,或者是附加新的字符到String对象中。

您也许会使用+来串联字符串以达到附加新字符或字符串的目的,但+会产生一个新的String对象。

String s1 = “abc”;

String s2 = “abc”;

String s3 = s1+s2;

如果程序对这种附加字符串的需求很频繁,系统会频繁在内存中创建String对象,造成性能下降。所以并不建议使用+来进行频繁的字符串串联。应该使用java.lang.StringBuffer类。

三、正则表达式

1、概念: 正则表达式是一种强大的文本匹配工具,用于在字符串中搜索和匹配特定模式的文本。在Java中,正则表达式通常通过java.util.regex包来使用。

2、理解:用来描述或者匹配一系列符合某个语句规则的字符串

3、用法:

  1. .:匹配除换行符以外的任意字符。
  2. ^:匹配字符串的开始。
  3. $:匹配字符串的结束。
  4. \*:匹配前面的元素零次或多次。
  5. +:匹配前面的元素一次或多次。
  6. ?:匹配前面的元素零次或一次。
  7. \d:匹配数字字符。
  8. \w:匹配字母、数字或下划线字符。
  9. \s:匹配空白字符。
  10. [ ]:匹配括号内的任意一个字符。
  11. [^ ]:匹配不在括号内的任意一个字符。
  12. {n}:匹配前面的元素恰好n次。
  13. {n,}:匹配前面的元素至少n次。
  14. {n,m}:匹配前面的元素至少n次,最多m次。

四、日期时间类

在Java中,有多种用于处理日期和时间的类,其中一些主要的类包括:

  1. java.util.Date
    • Date类用于表示特定的时间点,但它在Java 8及以后被标记为过时,不推荐在新代码中使用。
  2. java.util.Calendar
    • Calendar类是一个抽象类,用于对日期和时间进行操作,但使用起来比较繁琐。
  3. java.util.GregorianCalendar
    • GregorianCalendar类是Calendar类的具体实现,提供了处理日期和时间的方法。
  4. java.time.LocalDate
    • LocalDate类表示一个不带时区的日期,可以用于处理年、月、日信息。
  5. java.time.LocalTime
    • LocalTime类表示一个不带时区的时间,可以用于处理时、分、秒信息。
  6. java.time.LocalDateTime
    • LocalDateTime类表示一个不带时区的日期和时间。
  7. java.time.ZonedDateTime
    • ZonedDateTime类表示带时区的日期和时间。
  8. java.time.format.DateTimeFormatter
    • DateTimeFormatter类用于日期时间的格式化和解析。
  9. java.time.Durationjava.time.Period
    • Duration类表示时间间隔,Period类表示日期间隔。

五、Math类

1、概念: 在Java中,java.lang.Math类提供了许多用于执行常见数学运算的静态方法

2、注意:Math 类提供了一序列基本数学运算和几何函数的方法。

​ Math类是类,并且它的所有成员变量和成员方法都是静态的。

3、用法:

  1. 数学函数
  • abs(x):返回参数的绝对值。
  • ceil(x):返回大于或等于参数的最小整数。
  • floor(x):返回小于或等于参数的最大整数。
  • round(x):将参数四舍五入为最接近的整数。
  • max(x, y):返回两个参数中的较大值。
  • min(x, y):返回两个参数中的较小值。
  • sqrt(x):返回参数的平方根。
  • cbrt(x):返回参数的立方根。
  • pow(x, y):返回x的y次幂。
  • exp(x):返回自然对数的底e的x次幂。
  • log(x):返回参数的自然对数(以e为底)。
  • log10(x):返回参数的以10为底的对数。
  • sin(x)cos(x)tan(x):三角函数,分别返回参数的正弦、余弦和正切值。
  • asin(x)acos(x)atan(x):反三角函数,分别返回参数的反正弦、反余弦和反正切值。
  1. 常量
  • Math.PI:表示圆周率π的常量。
  • Math.E:表示自然对数的底e的常量。

六、Random类

1、概念: 在Java中,java.util.Random类用于生成伪随机数

2、创建Random类对象:

​ 此类用于生成随机数:

​ Random(); 创建一个新的随机数生成器Random(long seed);种子数(重点理解工作原理,什么是伪随机数)

3、用法:

  1. 构造方法
    • Random():使用默认种子创建一个新的Random对象。
    • Random(long seed):使用指定种子创建一个新的Random对象,相同种子会生成相同的随机数序列。
  2. 生成随机数
    • nextInt():返回一个随机的32位整数。
    • nextInt(int bound):返回一个大于等于0且小于bound的随机整数。
    • nextLong():返回一个随机的64位整数。
    • nextDouble():返回一个大于等于0.0且小于1.0的随机双精度浮点数。
    • nextBoolean():返回一个随机的布尔值。
  3. 设置种子
    • setSeed(long seed):重新设置随机数生成器的种子,可以影响生成的随机数序列。
  4. 生成随机字节流
    • nextBytes(byte[] bytes):生成随机字节并将其放入指定的字节数组中。

七、 System类

1、概念: 在Java中,java.lang.System类提供了访问系统相关信息和操作系统资源的静态方法。

2、注意:

Java程序的运行平台:

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

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

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

3、常用方法及功能:

  1. 标准输入输出
  • System.out:标准输出流,通常用于输出信息到控制台。
  • System.err:标准错误输出流,用于输出错误信息到控制台。
  • System.in:标准输入流,用于从控制台读取输入。
  1. 系统属性
  • getProperty(String key):获取指定系统属性的值。
  • setProperty(String key, String value):设置指定系统属性的值。
  1. 环境变量
  • getenv(String name):获取指定环境变量的值。
  1. 数组复制
  • arraycopy(Object src, int srcPos, Object dest, int destPos, int length):将一个数组的指定范围复制到另一个数组的指定位置。
  1. 退出程序
  • exit(int status):终止当前运行的Java虚拟机,参数为退出状态码。
  1. 垃圾回收
  • gc():运行垃圾回收器。
  1. 获取当前时间
  • currentTimeMillis():返回当前时间与1970年1月1日UTC之间的毫秒数差值,常用于性能测试和时间计算。
  1. 加载动态链接库
  • loadLibrary(String libname):加载指定名称的本机库。

八、 Runtime类

1、概念: 在Java中,java.lang.Runtime类允许应用程序与运行时环境进行交互,执行系统级操作,如执行外部进程、获取系统信息等 。

2、注意:Runtime代表Java程序的运行时环境,可以通过 getRuntime 方法获取当前运行时。

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

Runtime类可以访问jvm的相关信息,如处理器数量,内存信息等

3、用法:

  1. 获取Runtime对象
  • Runtime.getRuntime():返回当前应用程序的Runtime对象,用于与运行时环境交互。
  1. 执行外部进程
  • exec(String command):在单独的进程中执行指定的命令。
  • exec(String[] cmdarray):在单独的进程中执行指定的命令和参数。
  • exec(String command, String[] envp, File dir):在指定环境变量和工作目录下执行指定命令。
  1. 获取系统信息
  • totalMemory():返回JVM的总内存量。
  • freeMemory():返回JVM的空闲内存量。
  • availableProcessors():返回可用的处理器数量。
  • maxMemory():返回JVM的最大内存量。
  1. 垃圾回收
  • gc():运行垃圾回收器。
  1. 关闭虚拟机
  • exit(int status):终止当前运行的Java虚拟机,参数为退出状态码。
  1. 加载动态链接库
  • load(String filename):加载指定名称的本机库。
  1. 执行Finalization
  • runFinalization():运行所有对象的finalize方法。
  • 28
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值