黑马程序员——JAVA中的字符串
2014-07-25 08:35
225 查看
在编程中我们常常会用到一种数据类型叫字符串,我们上网发帖的标题、正文都是字符串。因为要经常使用,所以封装成一个对象。在JAVA中描述字符串的是java.lang包中的类叫做String。
一、字符串的创建与初始化
1、使用字符串常量初始化,例: String str="abc";
2、使用String类的构造函数初始化,该类有多个构造函数,常用的有:
String() //初始化一个对象,表示空字符序列。
String(value);//利用已存在的字符串常量创建一个新的对象
例:String str=new String("abc");
String (char[] value);//利用一个字符数组创建一个字符串
String(char[] value,int offset,int count);//截取字符数组offset到count的字符创建一个非空串
String(StringBuffer buffer);//利用StringBuffer对象初始化String对象
注:字符串创建初始化后就不可以被改变。
二、String类中常用的方法
1、获取字符串的长度——public int length()。
例:int len=str.length();
2、比较字符串
(1) equals() //判断内容是否相同
(2)== //判断内容与地址是否相同
(3)equalsIgnoreCase() //忽略大小写的情况下判断内容是否相同
注:equals和==比较的内容不同,应区分开;
在上面的例子中,str1和str3的内容相同,地址不同。
3、字符串的查找操作
(1)public char charAt(int index); //返回指定索引index位置上的字符,索引范围从0开始
(2)public int indexOf(String str); //从字符串开始检索str,并返回第一次出现的位置,未出现返回-1
(3)public int indexOf(String str,int fromIndex); //从字符串的第fromIndex个字符开始检索str
(4)public boolean contains(CharSequence s); //如果只关心字符串中是否有某个字符而该字符的位置并不重要则用此方法
4、字符串的替换
(1)public String replace(char oldChar,char newChar); //返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。
(2)public String replace(CharSequence target,CharSequence replacement); //把原来的etarget子序列替换为replacement序列,返回新串
(3)public String replaceAll(String regex,String replacement); //用正则表达式实现对字符串的匹配
(4)public String replaceFirst(String regex,String replacement); //替换此字符串匹配给定的正则表达式的第一个子字符串
(5)public String toLowerCase(Locale locale); //所有字符转为小写
(6)public String toUpperCase(); //所有字符转为大写
5、字符串的转换
(1)public char[] toCharArray(); //将字符串转换为字符数组
(2)public String[] split(String regex); //根据给定正则表达式的匹配拆分此字符串,形成新的字符串数组。
三、可变字符串
在JAVA中,定义可变字符串可以使用StringBuffer和StringBuilder。StringBuffer是线程安全的,但效率低;StringBuilder是线程不安全的,但效率高。
由于这二者的API使用是一样的,我们就以StringBuffer为例来学习可变字符串。
(1)向可变字符串中添加字符,public StringBuffer append(type t);
(2)插入字符,public StringBuffer insert(int offset,type t);//在offset处加入类型为type的字符串
(3)反转,public StringBuffer reverse();
(4)删除,public StringBuffer delete(int start,int end);
(5)减少用于可变字符序列的存储空间,public void trimToSize();
(6)StringBuffer类转换成String类,public String toString();
一、字符串的创建与初始化
1、使用字符串常量初始化,例: String str="abc";
2、使用String类的构造函数初始化,该类有多个构造函数,常用的有:
String() //初始化一个对象,表示空字符序列。
String(value);//利用已存在的字符串常量创建一个新的对象
例:String str=new String("abc");
String (char[] value);//利用一个字符数组创建一个字符串
String(char[] value,int offset,int count);//截取字符数组offset到count的字符创建一个非空串
String(StringBuffer buffer);//利用StringBuffer对象初始化String对象
注:字符串创建初始化后就不可以被改变。
二、String类中常用的方法
1、获取字符串的长度——public int length()。
例:int len=str.length();
2、比较字符串
(1) equals() //判断内容是否相同
(2)== //判断内容与地址是否相同
(3)equalsIgnoreCase() //忽略大小写的情况下判断内容是否相同
注:equals和==比较的内容不同,应区分开;
public class bijiao { public static void main(String[] args) { String str1="abc"; String str2="aBc"; String str3=new String("abc"); String str4=str1; System.out.println(str1.equals(str3)); System.out.println(str1==str3); System.out.println(str1.equals(str4)); System.out.println(str1==str4); System.out.println(str1.equalsIgnoreCase(str2)); } }
在上面的例子中,str1和str3的内容相同,地址不同。
3、字符串的查找操作
(1)public char charAt(int index); //返回指定索引index位置上的字符,索引范围从0开始
(2)public int indexOf(String str); //从字符串开始检索str,并返回第一次出现的位置,未出现返回-1
(3)public int indexOf(String str,int fromIndex); //从字符串的第fromIndex个字符开始检索str
(4)public boolean contains(CharSequence s); //如果只关心字符串中是否有某个字符而该字符的位置并不重要则用此方法
4、字符串的替换
(1)public String replace(char oldChar,char newChar); //返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。
(2)public String replace(CharSequence target,CharSequence replacement); //把原来的etarget子序列替换为replacement序列,返回新串
(3)public String replaceAll(String regex,String replacement); //用正则表达式实现对字符串的匹配
(4)public String replaceFirst(String regex,String replacement); //替换此字符串匹配给定的正则表达式的第一个子字符串
(5)public String toLowerCase(Locale locale); //所有字符转为小写
(6)public String toUpperCase(); //所有字符转为大写
5、字符串的转换
(1)public char[] toCharArray(); //将字符串转换为字符数组
(2)public String[] split(String regex); //根据给定正则表达式的匹配拆分此字符串,形成新的字符串数组。
三、可变字符串
在JAVA中,定义可变字符串可以使用StringBuffer和StringBuilder。StringBuffer是线程安全的,但效率低;StringBuilder是线程不安全的,但效率高。
由于这二者的API使用是一样的,我们就以StringBuffer为例来学习可变字符串。
(1)向可变字符串中添加字符,public StringBuffer append(type t);
(2)插入字符,public StringBuffer insert(int offset,type t);//在offset处加入类型为type的字符串
(3)反转,public StringBuffer reverse();
(4)删除,public StringBuffer delete(int start,int end);
(5)减少用于可变字符序列的存储空间,public void trimToSize();
(6)StringBuffer类转换成String类,public String toString();
相关文章推荐
- 黑马程序员—8、JAVA基础&字符串
- 黑马程序员_java字符串对象
- 黑马程序员之java中操作字符串的常用类String和StringBuffer学习
- 黑马程序员 【】java学习之路——计算字符串中字母出现的次数
- 黑马程序员--java 知识回顾--内部类和字符串
- 黑马程序员—Java中的字符串浅析
- 黑马程序员_Java中字符串解析
- 黑马程序员—12—java基础:有关字符串的学习笔记和学习心得体会
- 黑马程序员_Java基础_字符串操作
- 黑马程序员_关于java字符串反转的几种方案
- 黑马程序员java学习日记——字符串String
- 黑马程序员_java中的字符串
- 黑马程序员 12 Java基础教学 - 12 - Java字符串总结
- 黑马程序员--java基础--String类和字符串缓冲区
- 黑马程序员_Java基础_字符串_13
- 黑马程序员_java之字符串String及集合
- 黑马程序员-java学习之String字符串
- 黑马程序员:Java中的字符串
- 黑马程序员--java 基础之线程与字符串处理类-----04
- 黑马程序员 java学习笔记 Day3:字符串