一.创建字符串
1.String类即字符串类型,并不是Java的基本数据类型,但可以像基本数据类型一样使用,用双引号括起来进行声明。在Java中用String类的构造方法来创建字符串变量。
2.String()
一个String对象,可表示一个空字符序列。
1 String str="字符串常量"; 2 String str1=new String("字符串常量");
3.字符串的初始化:“ ”引起来表示一个字符串常量;String 变量名=字符串常量;String 变量名=new String(字符串常量)。
4.String(char a[])
用一个字符数组a创建String对象。
1 char[] c=new char[]{'我','很','好'}; 2 3 String str4=new String(c);
二.字符串的比较
1.判断字符串是否相等
判断字符串是否相等有equals()和equalsIgnoreCase()两种方法。
(1)equals()方法
使用equals()方法对字符串进行比较时是严格区分大小写的,在此条件下,如果两个字符串仍具有相同的字符和 长度,则返回true,否则返回false。
语法格式为: str.equals(String otherstr)
注:str:参与比较的一个字符串对象;
otherstr:参加比较的另一个字符串对象;
返回值:返回boolean类型。
例:
1 String str="字符串常量"; 2 String str1=new String("字符串常量"); 3 4 String str2=new String("字符串常量"); 5 System.out.println("str1和str2是否==:"+str1.equals(str2)); 6 System.out.println("str和str1是否==:"+str.equals(str1)); 7 System.out.println("str和str2是否==:"+str.equals(str2));
2.比较运算符“==”
比较运算符“==”比较的是内存位置。
例:
1 String str="字符串常量"; 2 String str1=new String("字符串常量"); 3 4 String str2=new String("字符串常量"); 5 6 String str3="字符串常量"; 7 System.out.println("str1和str2是否==:"+(str1==str2)); 8 System.out.println("str和str1是否==:"+(str==str1)); 9 System.out.println("str和str2是否==:"+(str==str2)); 10 System.out.println("str和str3是否==:"+(str==str3));
注:比较运算符“==”不适宜拿来比较运算符,但整型等可以用比较运算符比较;equals()方法比较的两个字符串内容必须完全一样。
三.字符串操作
1.字符串的连接
字符串连接主要有连接多个字符串和连接其他数据类型两种不同的操作。
(1).多个字符串连接
连接多个字符串时,在每两个连接的字符串之间用“+”相连,“+”就是字符串的连接符,连接之后生成一个新的字符串。
例:
1 String s1=new String("Hello"); 2 3 String s2=new String("World"); 4 5 String s=s1+" "+s2; 6 7 System.out.println(s);
(2).连接其他数据类型
在字符串和其他数据类型连接时,同时使用"+"连接符,连接之后的返回值是字符串。
2.获取字符串信息
字符串变量是一个对象,可以通过相应方法获取字符串的有效信息。
(1).获取字符串长度
使用String类的length()方法可获取声明的字符串对象的长度。
语法格式为: str.length();
str:指定的字符串对象;
返回值:返回指定字符串的长度。
1 String str="字符串常量字符串常量"; 2 3 System.out.println("字符串长度="+str.length());
注意:字符串中有空格,长度也要算在内。
(2).获取指定字符的索引位置
String类提供了indexOf()和lastindexOf()方法来获取指定字符的索引位置,不同的是,indexOf()方法返回的是搜索的字符首次出现位置的索引,而lastindexOf()方法返回的是搜索的字符最后出现位置的索引。
1°.indexOf()方法
调用字符串的indexOf()方法搜索是,它是从前往后查找字符串中字符串的首个位置,返回找到之后的首字的索引值,如果没有检测到字符串,返回-1。
语法格式: str.indexOf(substr);
str:任意字符串对象;
substr:要搜索的字符;
返回值:返回字符序列中第一次出现该字符的索引。
例:
1 String str="字符串常量字符串常量"; 2 System.out.println("常字的位置"+str.indexOf("常")); 3 System.out.println("常量的位置"+str.indexOf("常量")); 4 System.out.println("我的位置"+str.indexOf("我"));
2°.lastindexOf()方法
调用字符串的indexOf()方法搜索是,它是从前往后查找字符串中字符串出现的位置,返回找到之后的最后一次出现时的索引值,如果没有检测到字符串,返回-1。
语法格式: str.lastindexOf(substr);
(3)获取指定索引位置的字符
使用String类的charAt()方法获取指定索引处的字符,返回字符的索引。
语法格式: str.charAt(int index)
str:任意字符串;
index:整型值,用于指定要返回字符的下标;
返回值:返回指定索引位置字符。
例:
1 String s="Hello World"; 2 3 char s1=s.charAt(6); 4 5 System.out.println("字符串s中索引位置是6的字符为:"+s1);