在Java语言中将字符串作为对象来处理,可以通过java.lang包中的String类来创建字符串对象。字符串是常量,一旦被创建就不能被改变,但是引用可以被改变。
一、 声明字符串
在Java中字符串必须包含在一对引号(" ")之内。例如:
"223.2"、"abcd"、"你好"
上面那些都是字符串常量,字符串常量是系统能够显示的任何文字信息,甚至是单个字符。可以通过以下语法来声明字符串变量:
Strnf s="你好";
声明字符串变量必须经过初始化才能使用,否则编译器会报出“变量未被初始化错误”。
二、String类中常见的构造方法
在String类中与许多构造方法,下面为大家介绍一些。
- public String():
空构造 - public String(byte[] bytes):
把字节数组转成字符串 - public String(byte[] bytes,int index,int length):
把字节数组的一部分转成字符串(index:表示的是从第几个索引开始, length表示的是长度) - public String(char[] value):
把字符数组转成字符串 - public String(char[] value,int index,int count):
把字符数组的一部分转成字符串 - public String(String original):
把字符串常量值转成字符串
三、 获取字符串信息
字符串作为对象,可通过相应的方法来获取字符串的有效信息,那下面为大家介绍一些获取字符串的相关信息的方法。
1.获取字符串长度
使用String类的length()方法可获取声明的字符串对象的长度。语法如下:
s.length();
其中,s为字符串对象。实例代码如下:
String s="大 家 好!";
int num=s.length();
上面的代码是将字符串s的长度赋给 int 型的 num ,此时num的值为5,这说明length()方法返回的字符串的长度包括字符串中的空格。
2.字符串查找
String类提供了两种查找字符串的方法,分别为indexOf()与lastIndexOf()方法。
1)indexOf(String s)
该方法用于返回参数字符串s在指定字符串中首次出现的索引位置。当调用字符串的indexOf()方法时,会从当前字符串的开始位置搜索s的位置;如果没有检索到字符串s,那么该方法的返回值是-1。语法如下:
str.indexOf(s)
其中str代表字符串对象,s代表搜索的字符串。当 indexOf(int ch,int fromIndex)方法的传入值为这两个时,那么就表示返回指定字符在此字符串中从指定位置后第一次出现处的索引。
2)lastIndexOf(String s)
该方法用于返回指定字符串最后一次出现的索引位置,如果为检索到返回值是-1。语法同indexOf()一样。
3.获取指定索引位置的字符
使用charAt()方法可以将指定索引处的字符返回。语法如下:
s.char(int index)
四、 获取字符串
1.截取字符串
通过Sting类中的substring()方法可对字符串进行截取。这个方法被两个不同的方法重载,来满足不同的需求。
1)substring(int beginIndex)
该方法返回的是从指定索引位置开始截取到该字符串末尾的字符串。语法如下:
str.substring(int beginIndex)
2)substring(int beginIndex,int endIndex)
该方法返回的结果是指定开始位置到结束位置之间的字符串,实例如下:
public class Subs{
public static void main(String args[]){
String s="hello";
String subs=s.substring(0,3);
System.out.println(subs)
}
}
该代码的运行结果为 hel ,由此可见,截取的字符是索引为0、1、2的字符,3的字符并没有被截取,所以该方法结束索引的字符并不会被截取。
2.去除空格
trim()方法返回值是,去除前后空格后的字符串。语法如下:
s.trim();
3.字符串替换
replace()方法可以实现将指定的字符或字符串替换为新的字符或字符串。语法如下:
s.replace(char oldChar,char newChar)
其中oldChar是需要替换的字符或字符串,newChar是用于替换掉原来字符串的内容。该方法返回的结果是一个新的字符串。如果oldChar没有出现在该字符串中,则将原字符串返回。
4.判断字符串的开始与结尾
starsWitn()方法与endsWith()方法分别判断字符串是否以指定的字符串开始或结束。这两个方法的返回值类型都是布尔型。
1)starsWith()方法
该方法用来判断当前字符串对象的前缀是否为参数指定的字符串,如果是返回值为true,否则为false。语法如下:
s.starsWith(String str)
1)endsWith()方法
该方法用来判断当前字符串对象的末尾是否为参数指定的字符串,如果是返回值为true,否则为false。语法如下:
s.endsWith(String str)
5.判断字符串是否为空串
isEmpty()方法用来判断字符串是否为空串。这个方法的返回值为boolean型,如果是空串,返回值为true,否则为false。
五、 String类中的转换功能
1.字母大小写的转换
在转换过程中数字和符号不受影响,只有字母会发生相应的改变。
1)toLowerCase()方法
该方法将Sting转换为小写,如果字符串中没有被转换的字符,则将原字符串返回,否则将原来的字符串中大写字符都转换为相应的小写字符。
2)toUpperCase()方法
该方法将Sting转换为大写,如果字符串中没有被转换的字符,则将原字符串返回,否则将原来的字符串中小写字符都转换为相应的大写字符。
2.把字符串转换为字节数组
getBytes()可以把字符串转换为字节数组。简单来说就是把每个字符换成它所队对应的ASCII值以数组的形式输出。
3.把字符串转换为字符数组。
toCharArray()方法简单来说就是把字符串变成数组,里面的元素不发生变化
4.把字符数组转成字符串。
valueOf(char[] chs):
5.把int类型的数据转成字符串
valueOf(int i)
注意:String类的valueOf方法可以把任意类型的数据转成字符串。
6.把字符串拼接。
concat(String str)方法是把两个字符串的内容拼接在一起,然后输出一个新的字符串。
public class Aa {
public static void main(String[] args) {
String s = "爱你";
String b = "3000遍";
String l = s.concat(b);
System.out.println(l);
}
}
上面的代码运行结果为“爱你3000遍”。