03.13 string stringbuffer stringbuilder

03.13
常用类操作
在这里插入图片描述
在这里插入图片描述
System类代表当前Java程序的运行平台
Runtime类代表java程序的运行时环境
在这里插入图片描述

常用类

api中的包作用

java.awt:包含创建用户界面和绘制图形图像的类
java.io:提供数据流、序列化,以及文件系统
java.lang:提供了java进行编程过程中的一些基础类
java.math:提供了数学中的各种计算方式,或者计算方法
java.text:提供一些类处理文本 日期 以及数字和消息
java.util:包含在开发过程中用到的各种工具类(collection框架 随机数生成器等)

javax.sql:java用于提供访问数据库的一些接口和类
java.xml:提供用于解析xml文件的接口和类

创建包的时候,不要用以上这些名字

arrays 拷贝数组

System 类

在这里插入图片描述

程序运行时间计算器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

System类

java在不同操作系统可能会获取平台的一些属性,或者调用平台的一些命令来完成特定的功能。System类目的提供开发者,可以供我们操作平台一些内容
特点:
1、final类,终态类,不能再被继承
2、类中所有的属性和方法都是static的。在操作的时候可以通过类名。属性 或 类名。方法

Runtime类

代表java运行时的环境,每一个java程序都会有一个Runtime类,应用程序通过Runtime类可以和运行环境相连,通过Runtiame可以获取当前运行环境的信息。比如虚拟机的内存,CPU核心数或者执行操作系统的命令

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
Runtime 不能直接new

String类

特点
1、Sting并不是基本数据类型,表示字符串意思,是一个对象,当前string类是final类
2、string表示字符串,在操作string的时候每次才做当前string都会产生一个新的对象(一旦创建一个字符串,字符串就不能被变更,直到被销毁)
创建字符串:
<>在这里插入代码片

  string s =“abc”;
    string s2 = new string (“abc”);

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

字符串加载的流程(面试重点)

在java中常量池分为两种
1、静态常量池: *.class 文件中的常量池,class文件中的常量池不仅包含了字符串的字面量信息(数字) 还包含了类、方法之类的信息。就是这些东西占据了class文件的空间。string s3 =“a”+“bc” 在class文件中的常量池里面就已经计算后存放的值为“abc”
2、动态常量池 :运行时的常量池,在jvm加载完当前类后,将class文件中的常量池内容加载内存中,保存方法区里面,方法区单独有一块空间用来存放这些数据。方法区常量池
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在编译期间无法确定值得时候,无法确定地址
final 存放在常量池中
常量池中 常量和常量可以直接相加

== 比较地址,equals比较直(默认比较地址,自己重写后比较值)

字符串特性 :不可变更特性

在这里插入图片描述
在这里插入图片描述
通过字符数组来实现
final类 不能被继承 能被创建
不可变更特性
原理:
string 使用pubic static final char[] 来保存的字符串数据,将你定义的每一个字符装到字符数组,但是字符数组final类型,不可变更。你在操作字符串的时候,产生一个新的对象,将原来的引用指向新的对象。

api方法

charAt
输出字符串中第几个字符
结果为x
compareTo
比较字符串的大小
输出的是数值
concat
字符串拼接
输出两个字符串合并后的值
第一次出现的位置intdexOf
最后一次的出现的位置lastIndexOf
在这里插入图片描述
在这里插入图片描述

拆分字符串 split
在这里插入图片描述
在这里插入图片描述
拆分成每一个字符 to
在这里插入图片描述

转换成大写 toUpperCase
toLowerCase
在这里插入图片描述
在这里插入图片描述

trim 去掉首尾空格
在这里插入图片描述

静态方法通过类名来调

StringBuffer和StringBuilder

StringBuffer:
1、和string一样 都是用来存储字符串的 内部实现的方式有区别 对应的使用范围不一样。它在处理字符串的时候,在原来的值上面进行修改,不会产生新的内容。

在某些时候他的性能优于string
当前对象他是线程安全的对象
2、StringBuffer对象不能使用=来初始化,只能构造的形式来初始化数据
3、因为他是可变得,经常用它来操作变化的字符串,比如有的字符串频繁 增加 、修改、删除内容

创建StringBuffer类型的字符串
在这里插入图片描述
在这里插入图片描述
api:

append 拼接
在这里插入图片描述
在这里插入图片描述
delete 删除 .delete(0,5);
insert

StringBuilder

特点同StringBuffer一样
StringBuilder: 是线程不安全的。效率非常高

可变
线程安全
效率不同

效率差别

在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值