小白成长记——Java基础之字符串类

1.String类
1).使用“+”运算符连接字符串时注意以下三点:
·字符串与字符串进行“+”连接时,第二个字符串会连接到第一个字符串之后
·字符串与其他类型进行“+”连接时,因字符串在前面,所以其他类型的数据都将转换成字符串与前面的字符串进行连接
·其他类型与字符串进行“+”连接时,因字符串在后面,其他类型按照从左向右进行运算,最后再与字符串进行连接
示例:

public class test {
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		String str = "hello";
		System.out.println(str + "world");
		System.out.println(str + 10 + 20);
		System.out.println(10 + 20 + str);
	}
}

输出结果:

helloworld
hello1020
30hello

2).String类常用的方法:
·length(),获取字符串长度
·substring(i),截取从下标i开始的子字符串
·substring(i,j),截取从下标i开始到j结束的子字符串
·toLowerCase(),转换成小写
·toUpperCase(),转换成大写

示例:

public class test {
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		String str = "I am zhangsan, welcome to China!";
		System.out.println("字符串长度:" + str.length());
		System.out.println("截取从下标5开始的子字符串:" + str.substring(5));
		System.out.println("截取从下标5开始到10结束的子字符串:" + str.substring(5, 10));
		System.out.println("转换成小写:" + str.toLowerCase());
		System.out.println("转换成大写:" + str.toUpperCase());
	}
}

输出结果:

字符串长度:32
截取从下标5开始的子字符串:zhangsan, welcome to China!
截取从下标5开始到10结束的子字符串:zhang
转换成小写:i am zhangsan, welcome to china!
转换成大写:I AM ZHANGSAN, WELCOME TO CHINA!

2.StringBuffer类
1).StringBuffer用来创建和操作字符串对象,和String的区别如下:
·String创建的字符串是不可变的,如果改变字符串变量的值,是在内存中创建一个新的字符串,字符串变量将引用新创建的字符串地址,而原来的字符串在内存中依然存在且内容不变,直至Java的垃圾回收系统对其进行销毁。
·StringBuffer创建的字符串是可变的,当使用StringBuffer创建一个字符串后,该字符串的内容可以通过append()、insert()、setCharAt()等方法进行改变,而字符串变量所引用的地址一直不变,最终调用它的toString()方法转换成一个String对象。

2).StringBuffer类常用方法:

·capacity(),字符串的初始容量
·append("aaa"),在字符串后追加字符串aaa
·insert(i,"bbb"),在字符串第i位置插入字符串bbb

示例:

public class test {
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		StringBuffer sb = new StringBuffer();
		System.out.println("字符串的初始容量为:" + sb.capacity());
		// 追加字符串
		sb.append("java");
		System.out.println("追加后:" + sb);
		// 插入字符串
		sb.insert(0, "hello");
		System.out.println("插入后:" + sb);
	}
}

输出结果:

字符串的初始容量为:16
追加后:java
插入后:hellojava
 

3.StringBuilder类
StringBuilder与StringBuffer类似也是创建一个可变的字符串,不同的是StringBuffer是线程安全的,而StringBuilder没有实现线程安全,常用方法和StringBuffer一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值