学习任务:

视频学习String的基本操作

动手测试字符串的长度

动手测试求子串

动手测试串的相等比较

学习jdk提供的常用类建议先查询API文档,查询String如下:

image-20200926070519414

String类代表字符串,继承Object,被final修饰表示它不能有子类, Java程序中的所有字符串(例如"pbteach.com" )都被实现为此类的实例。

字符串的创建方式非常简单,用双引号将一个或多个字符扩起来即可创建成功,例如:

String s1 = "pbteach.com"; String s2 = "攀博课堂";

上边代码执行后在字符串常量池中有两个字符串,s1引用指向"pbteach.com"这个字符串,s2指向"攀博课堂"字符串。

字符串定义后是不变的, 它是共享的即相同的字符串常量在内存中只存储一份,如下代码:

package com.pbteach.javase.oop.api.string;

/**
 * String测试
 * @author 攀博课堂
 * @version v1.0
 */
public class StringTest {
	
	//字符串常量测试
	public static void test1() {
		String s1 = "pbteach.com";
		String s2 = "攀博课堂";
		String s3 = "pbteach.com";
		System.out.println(s1==s3);
		
	}
	public static void main(String[] args) {
		test1();
	}

}

输出:

true

s1和s3是不同的引用,它们指向的字符串是同一个实例。

字符串就是Unicode字符序列,如下代码定义的s1常量由11个字符组成。

/**
	 * 
	 * 字符串长度测试
	 * @author 攀博课堂
	 * @version v1.0
	 */
	public static void test2() {
		String s1 = "pbteach.com";
		//字符串长度
		int length = s1.length();
		System.out.println(length);
		String s2 = "攀博课堂";
		System.out.println(s2.length());//字符串长度
		System.out.println(s2.getBytes().length);//共占的字节数
		String s3 = "pbteach.com\n";
		System.out.println(s3.length());
		
	}

输出:

11
4
12
12

s2.length()表示"攀博课堂"字符串的长度,一个汉字一个长度。

s2.getBytes().length表示"攀博课堂"字符串共占的字节数,一个汉字三个字节(utf-8编码)。

输出12表示“pbteach.com”加一个\n转义字符共12个字符组成。

以下是String提供的求子串的方法:

image-20200926081524525

String substring(int beginIndex) :

​ 从字符串的开始索引处到结尾索引处组成一个子串。

String substring(int beginIndex, int endIndex) :

​ 从字符串的开始索引处到指定子串结束的索引位置组成一个子串。

首先搞清楚索引,下图标记了字符串每个字符的索引位置,最开头索引为0,结尾处索引为11。

image-20200926082301959

​ 测试代码如下:

/**
	 * 
	 * 字符串求子串测试
	 * @author 攀博课堂
	 * @version v1.0
	 */
	public static void test3()  {
		String s1 = "pbteach.com";
		//截取子串
		String substring1 = s1.substring(7);
		String substring2 = s1.substring(7, 11);
		System.out.println(substring1);
		System.out.println(substring2);
		
	}

输出:

.com
.com

关于字符串的索引有专门的方法,如下:

image-20200926083329697

image-20200926083339735

测试代码如下:

/**
	 * 
	 * 字符串索引测试
	 * @author 攀博课堂
	 * @version v1.0
	 */
	public static void test4()  {
		String s1 = "www.pbteach.com";
		//求子串的索引位置
		System.out.println(s1.indexOf(".com"));
		//根据子串的索引位置取出子串
		System.out.println(s1.substring(s1.indexOf(".com")+1));
		//求子串最后一次出现的位置
		System.out.println(s1.lastIndexOf("."));
		
	}

输出:

11
com
3

提问-攀博课堂
我要提问 不会就问,有效沟通
关注公众号,加入微信群交流提问。 攀博课堂官方公众号
问答列表,查看本知识点所有问题