Java进阶篇5——String类+StringBuffer类

1. String 类

  在编程中会大量的使用String类。如,在学生类中定义3个属性分别为学生学号,姓名。院系:

public class Student {
	private String sno, sname, sdept;
}

1.1 字符串比较

  • 比较从3个方面:
1. 一个是串的内存应用是否相等。
2. 另一个是值是否相等。
3. 最后是串值ASCII码的大小。
  • 字符串值忽略大小写比较:
	public static void main(String[] args) {
		String s1 = "Java";
		String s2 = new String("JAVA");
		
		/*
		 * 1. eequalsIgnoreCase()
		 * 
		 * 2. 忽略大小写,比较第二点
		 */
		if(s1.equalsIgnoreCase(s2)) {
			System.out.println("s1与s2值相等");
		} else {
			System.out.println("s1与s2值不相等");
		}
	}
s1与s2值相等
  • 字符串大小比较:
	/**
	 * 比较串值ASCII码
	 */
	public static void practice2() {
		String s1 = new String("aaa");
		String s2 = "bbb";
		
		/*
		 * 1. compareTo()
		 * 
		 * 2. 比较字符串的ASCII码
		 * 
		 * 3. 输出两个字母的ASCII码差值
		 * 
		 * 4. 从首字母到尾字母一一比教,直到能比出大小
		 */
		int x = s1.compareTo(s2);

		if (x > 0) {
			System.out.println("s1>s2");
		} else if (x < 0) {
			System.out.println("s1<s2");
		} else {
			System.out.println("s1=s2");
		}
	}
s1<s2

1.2 分割字符串函数 split()

  • 对 s1以“,”号分割,返回一个数组
		String s1 = "aa,bb,cc,dd,ee fff";
		String s[] = s1.split(",");
  • 对 s1以“,”或“ ”(空格)分割
		String s1 = "aa,bb,cc,dd,ee fff";
		String s[] = s1.split(",| ");
  • 以 点,逗号, 空格,分割
	/**
	 * 分割字符串函数 split()
	 */
	public static void practice3() {
		String s1 = "aa.bb.cc,dd,ee fff";
		String s[] = s1.split("\\.|,| ");
		
		for(String x : s) {
			System.out.println(x);
		}
	}
aa
bb
cc
dd
ee
fff

1.3 查找 indexOf()

	/**
	 * indexOf()
	 */
	public static void practice4() {
		String s1 = "Hello Java , I love Java";
		int x = s1.indexOf("Java");
		
		System.out.println(x);
	}
6

1.4 判断字符串是否包含

	/**
	 * 判断字符串是否包含
	 */
	public static void practice5() {
		String s = "I love java";
		String s1 = "I";
		String s2 = "love";
		String s3 = "java";

		System.out.println("love是否在字符串里面:" + s.contains(s2));
		System.out.println("I是否是字符串前缀:" + s.contains(s1));
		System.out.println("you是否是字符串后缀:" + s.contains(s3));
	}
love是否在字符串里面:true
I是否是字符串前缀:true
you是否是字符串后缀:true

2. StringBuffer类

  与String最大的区别在与,StringBuffer本身串的内容是可变的。如果需要频繁的对字符串的内容修改,又不想改变串的内存引用地址,适合使用它。

2.1 StringBuffer类有3个构造方法

1. StringBuffer(), 默认容量为 16 个字符,不够自动增长。
2. StringBuffer(int size), 容量为 size 个字符,不够自动增长。
3. StringBuffer(String s), 容量为 s+16 个字符,不够自动增长。

2.2 容量,实际长度

1. 容量:最大能装
buf1.capacity(); // 获取 buf1的目前容量

2. 实际长度:实际能装
buf1.length(); // 获取buf1的实际字符个数

2.3 追加对象 append(Object)

buf1.append("I").append(" love").append(" java");

注意:
- buf1本身的内容在改变。
- 而String使用substring()函数时,String本身没有变。

2.4 插入子串 insert(int index, object)

buf1.insert(4, "java web");

2.5 删除字串 delete(int start, int end)

buf1.delete(4, 8);
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姜满月

鼓励,鼓励,更加努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值