字符串是由单个或者多个字符组成的。字符串也相当于char类型的数组。
Java中提供了两种字符串类,分别是String和StringBuffer
声明字符串
两种方式:常量声明方式:
<span style="white-space:pre"> </span>String hello = "HelloWorld";对象声明方式:
<span style="white-space:pre"> </span>字符串类型 字符串名 =new 字符串类(参数); <span style="white-space:pre"> </span>String hello = new String("helloworld");
创建字符串
<span style="white-space:pre"> </span>String hello = new String();
字符串操作
字符串的比较
对于字符串内容的比较:equals():比较两个字符串的内容是否相等,返回值为Boolean
equalsIgoreCase():忽略大小写,比较两个字符串的内容是否相等,返回值为Boolean
compareTo(String 另一个字符串):按照词典的顺序比较,返回int类型值,>0相同,<0不同
连接字符串:一个字符串名Str.concat(另一个字符串名s) 表示在Str代表的字符串后连接s代表的字符串
复制字符串:主要由copyValueOf()方法来实现,其中有两种参数方式,分别完成对字符串的全部复制和部分复制
<span style="white-space:pre"> </span>String copyValueOf(char[],int offset,int count) <span style="white-space:pre"> </span>这个方法是将字符数组的一部分作为一个新的字符串 <span style="white-space:pre"> </span>String copyValueOf(char[]) <span style="white-space:pre"> </span>这个方法是复制整个字符串数组作为一个新的字符串实例:
package ch01; public class CopyValueOf { public static void main(String[] args){ //先声明一个字符串 String str = "HelloWorld"; //创建一个字符数组 char []ch = new char[str.length()]; //给数组赋值 for(int i=0;i<ch.length;i++){ <div style="text-indent: 28px;"><span style="font-family: Arial, Helvetica, sans-serif;"> ch[i] = str.charAt(i);//charAt()返回指定索引位置的char值</span></div> } String s = String.copyValueOf(ch); System.out.println(s); //0 H 1 e 2 l 3 l 4 o 5 String t = String.copyValueOf(ch, 0, 5); System.out.println(t); } }
更改字符串的内容:replace(char,char):把字符串中与方法的第一个参数字符相同的字符统一替换成方法中的第二个字符
replaceAll(String,String):将字符串中与方法的第一个参数字符串相同的字符串统一替换成方法中的第二个字符串
replaceFirst(String,String):将字符串中与第一个参数字符串相同的第一个字符串替换为方法中的第二个字符串
获取字符串的长度:String类对象的长度值是固定的,一旦创建就不会改变,String.length()
分割字符串:使用split()方法,首先要按照指定的划界表达式将字符串分割成几部分,每一部分是一个字符串,方法的返回值是一个字符串数组
StringBuffer:其长度是可以改变的。如果使用String频繁的进行字符串的拼接操作,会产生很多对象。使用StringBuffer就可以避免
length():返回字符串的长度
insert():在字符串中间插入
append():在字符串的末尾追加字符
setCharAt(int index,char ch):设置指定索引位置为制定的字符
toString():返回字符串
实例:
package ch01; public class StringBufferTest { public static void main(String[] args){ StringBuffer c = new StringBuffer(); c.append("zhangsan,"); c.append("lisi,"); c.append("wangwu"); System.out.println(c); System.out.println(c.toString()); int i = c.length(); System.out.println(i); } }