前文介绍了类和对象的知识,本文介绍Java中字符串的使用。

一、字符串的定义与基本操作

在前面的介绍中,我们已经多次设计到了字符串的定义和使用。
字符串的变量的定义和赋初值有下面两种常用形式:
1.String 变量名 = “初始值”;
2.String 变量名 = new String (“初始值”);

1.字符串的+操作

字符串可以使用 + 运算符,可以是字符串 + 字符串,也可以是字符串 + 基本类型数据,后者是先把基本类型数据转化为字符串然后再执行 + 操作的。
例如:

String str1 = "hello" + "world!"//结果是helloworld!
String str2 = "123" + "hello"//结果是123hello
String str3 = str1 + "5"// 结果是helloworld!5

2.字符串的==操作

在基本类型数据中,==用来比较两个数据的值是否相等,如果相等就是true,不相等就是false。
对于字符串来说它是引用类型,==操作比较的是两个字符串的引用地址是否相同而不是在比较值。要比较字符串的值,可以使用String类自带的equals方法。
这里演示个小例子:

public static void main(String[] args) {
        String str1 = "hello";
        String str2 = "hel" ;
        String str3 = str2 + "lo";
        System.out.println(str1 == str3);
    }

输出结果:false。
这是在比较两个字符串对象的地址,而不是内容。

public static void main(String[] args) {
        String str1 = "hello";
        String str2 = "hel" ;
        String str3 = str2 + "lo";
        System.out.println(str1.equals(str3));
    }

输出结果:true。
这就是比较两个字符串的内容了。
这里简单介绍一下,以后我们还要在字符串常量池部分介绍这里的知识。

二、字符串的常用操作

1.字符串本质

这里首先介绍字符串的本质,字符串实质上就是char型的字符数组。

下面以"hello world"为例说明其在内存中的分配。

java 关于字符串对象 java字符串用法_java 关于字符串对象

2.字符串常用方法及举例

下面列举了一些字符串的常用的方法:

方法名称

作用

length()

获取字符串的长度

charAt(int)

获取字符串中的一个字符

indexOf(String)

判断传入的字符串在原字符串中第一次出现的位置

compareTo(String)

判断两个字符串的大小

substring(int)

截取字符串,从传入参数位置到字符串末尾

substring(int,int)

截取字符串,从传入参数1位置到传入参数2位置(注意截取区间是左开右闭)

split(String)

按传入参数将字符串分割为字符串数组

contains(String)

判断字符串是否包含传入的部分

这里方法的使用并没有什么难度,要注意方法之间的灵活使用。下面就演示几个简单的例子。

字符串分割:

String str = "明月松间照,清泉石上流。";
        String[] str2 = str.split("间");
        for (int i = 0; i < str2.length; i++) {
            System.out.println(str2[i]);
        }

输出结果:
明月松
照,清泉石上流。

判断是否包含子字符串:

String str = "明月松间照,清泉石上流。";
        System.out.println(str.contains("明月"));

输出结果:
true

判断传入的字符串在原字符串中第一次出现的位置:

String str = "明月松间照,清泉石上流。";
        System.out.println(str.indexOf(","));

输出结果:
5
截取字符串,从传入参数1位置到传入参数2位置:

String str = "明月松间照,清泉石上流。";
        System.out.println(str.substring(2,6));

输出结果:
松间照,

关于字符串剩下的之后,我们下篇博文继续来介绍。