第十三天-JavaAPI(String类、StringBuffer)

本文详细介绍了Java中String类的特点及常用操作方法,包括字符串的获取、判断、转换等功能,并对比了String与StringBuffer的区别。同时,还介绍了StringBuffer和StringBuilder的用法及其在JDK1.5后的变化。
String类


String s1 = "abc";//s1是一个类类型变量,"abc"是一个对象。


字符串最大特点:一旦被初始化就不可以被改变。
String类复写了Object类中equals方法,该方法用于判断字符串是否相同。


比较:
①String s1 = "abc";
②String s1 = new String("abc");
 ①只有一个对象,②有两个对象。


String类适用于描述字符串事物。
那么它就提供了多个方法对字符串进行操作。


常见操作:
1、获取

1、1字符串中的包含的字符数,也就是字符串的长度。int length();
1、2根据位置获取位置上某个字符。char charAt(int index);
1、3根据字符获取该字符在字符串中位置。
int indexOf(int ch);返回的是ch在字符串中第一次出现位置。传入int型变量,因为是根据ASCII码查询。
int indexOf(int ch,int index);从指定位置开始查找。
2、判断
2、1字符串中是否包含某一个子串。boolean contains(str);
特殊之处:indexOf(str):可以索引str第一次出现位置,如果返回-1表示该str不在字符串中。
所以,也可以用于对指定判断是否包含。而且该方法既可以判断,又可以获取出现位置。
2、2字符串中是否有内容。boolean isEmpty();
2、3字符串是否已指定内容开头。boolean startsWith(str);
2、4字符串是否是以指定内容结尾。boolean endsWith(str);
2、5判断字符串的内容是否相同。复写了object类中的equals方法。boolean equals(str);
2、6判断内容是否相同,并忽略大小写。boolean equalsIgnoreCase();
3、转换
3、1将字符数组转成字符串。
构造函数:
String(char[]);
String(char[],offset,count):将字符数组一部分转成字符串。
静态方法:
static String copyValueOf(char[]);
static String copyValueOf(char[] data,int offset,int count);
static String valueOf(char[]);


3、2将字符串转成字符数组。
char[] toCharArray();
3、3将字节数组转成字符串。
String(byte[]);
String(byte[],offset,count);将字符数组中的一部分转成字符串。
3、4将字符串转成字节数组。
byte[] getBytes();
3、5将基本数据类型转成字符串。
static String valueOf(int);
static String valueOf(double);
4、替换
String replace(oldchar,newchar);
5、切割
String[] split(regex);
6、子串
获取字符串中的一部分。
String substring(begin);//从指定位置开始至结尾。
String substring(begin,end);//包含头,不包含尾。
7、转换,去除空格,比较
7、1将字符串转成大写或小写
String toUpperCase();//变大写
String toLowerCase();//变小写
7、2将字符串两端的多个空格去除。
String trim();
7、3对两个字符串进行自然顺序的比较。
int compareTo(string);


StringBuffer
StringBuffer是字符串缓冲区。是一个容器。
特点:
1、长度是可变换的。
2、可以直接操作多个数据类型。
3、最终会通过toString方法变成字符串。


常见操作:
C create U update R read D delete
1、存储。
StringBuffer append:将指定数据作为参数添加到已有数据结尾处。
StringBuffer insert(index,数据):将数据插入到指定Index位置。
2、删除。
StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end
StringBuffer deleteCharAt(index):删除指定位置字符。
3、获取。
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start,int end)
4、修改。
StringBuffer replace(start,end,string)
void setCharAt(int index,char ch)
5、反转
StringBuffer reverse()
6、void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)


JDK1.5版本之后出现了StringBulider
StringBuffer是线程同步。
StringBulider是线程不同步。
以后开发,建议使用StringBuilder


JDK升级三个因素:
1、提高效率。
2、简化书写。

3、提高安全性。


基本数据类型对象包装类
byte Byte
short Short
int Integer
long Long
boolean Boolean
float Float
double Double
char Character


基本数据类型对象包装类的最常作用:
用于基本数据类型和字符串类型之间做转换。


基本数据类型转成字符串。
基本数据类型+"";
基本数据类型.toString(基本数据类型值);//Integer.toString(34);将整数34变成"34";


字符串转成基本数据类型。
xxx a = Xxx.parseXxx(String);
//int a = Integer.parseInt("123");
//boolean a = Boolean.parseBoolean("true");


十进制转成其他进制。
toBinaryString();
toHexString();
toOctalString();
其他进制转成十进制。
parseInt(String str,int radix);//str指需要转的数据,radix指进制,取值有2、8、16。


JDK1.5版本后出现的新特性。

Integer x = 4;//自动装箱,相当于Integer x = new Integer(4);
x = x + 2;//x+2:x进行自动拆箱。变成int类型,和2进行加法运算。再将和进行装箱赋值给x。


Integer m = 128;
Integer n = 128;
System.out.println("m==n"+(m==n));//false


Integer m = 127;
Integer n = 127;
System.out.println("m==n"+(m==n));//true。因为a和b指向了同一个Integer对象。
				//因为当数值在byte范围内时,对于新特性,如果该数值已经存在,则不会再开辟新空间。


Java是一种具备卓越性能与广泛平台适应性的高级程序设计语言,最初由Sun Microsystems(现属Oracle公司)的James Gosling及其团队于1995年正式发布。该语言在设计上追求简洁性、稳定性、可移植性以及并发处理能力,同时具备动态执行特性。其核心特征与显著优点可归纳如下: **平台无关性**:遵循“一次编写,随处运行”的理念,Java编写的程序能够在多种操作系统与硬件环境中执行,无需针对不同平台进行修改。这一特性主要依赖于Java虚拟机(JVM)的实现,JVM作为程序与底层系统之间的中间层,负责解释并执行编译后的字节码。 **面向对象范式**:Java全面贯彻面向对象的设计原则,提供对封装、继承、多态等机制的完整支持。这种设计方式有助于构建结构清晰、模块独立的代码,提升软件的可维护性与扩展性。 **并发编程支持**:语言层面集成了多线程处理能力,允许开发者构建能够同时执行多项任务的应用程序。这一特性尤其适用于需要高并发处理的场景,例如服务器端软件、网络服务及大规模分布式系统。 **自动内存管理**:通过内置的垃圾回收机制,Java运行时环境能够自动识别并释放不再使用的对象所占用的内存空间。这不仅降低了开发者在内存管理方面的工作负担,也有效减少了因手动管理内存可能引发的内存泄漏问题。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值