Java是一种真正的面向对象的语言即使是开发简单的程序也必须设计对象Java自身也为我们提供了许多已设计好的类要想灵活使用Java进行编程熟悉Java的这些主要类将是必不可少的前提条件之一
String类
顾名思义String是串的意思这个类是字符串常量的类相信使用过C语言进行编程的人都知道字符串是怎么回事这里就不再进行赘述了但有一点要说明的是Java中的字符串和C语言中的字符串是有区别的
在C语言中并没有真正意义上的字符串C语言中的字符串就是字符数组使用起来非常的灵活而在Java中字符串常量是一个类String类它和字符数组是不同的
下面先介绍一下String类的构造函数
public String()
这个构造函数用来创建一个空的字符串常量如
String test=new String();
或
String test;
test=new String();
public String(String value )
这个构造函数用一个已经存在的字符串常量作为参数来创建一个新的字符串常量另外值得注意的是Java会为每个用双引号括起来的字符串常量创建一个String类的对象
如
String k=Hi;
Java会为Hi创建一个String类的对象然后把这个对象赋值给k等同于
String temp=new String(Hi);
String k=temp;
这个构造函数的用法如
String test=new String(k);
(注k是一个String类的对象)
String test=new String(Hello world);
public String( char value[] )
这个构造函数用一个字符数组作为参数来创建一个新的字符串常量用法如
char z[]={hello};
String test=new String(z);
注此时test中的内容为hello
public String( char value[]
int offset int count )
这个构造函数是对上一个的扩充用一句话来说就是用字符数组value从第offset个字符起取count个字符来创建一个String类的对象用法如
char z[]={hello};
String test=new String(z);
注此时test中的内容为ell数组中下标表示第一个元素表示第二个元素……
如果 起始点offset 或 截取数量count 越界将会产生异常
StringIndexOutOfBoundsException
public String( StringBuffer buffer )
这个构造函数用一个StringBuffer类的对象作为参数来创建一个新的字符串常量String类是字符串常量而StringBuffer类是字符串变量是不同的StringBuffer类将在后面进行介绍
String类的方法有
public char charAt( int index )
这个方法用来获取字符串常量中的一个字符参数index指定从字符串中返回第几个字符这个方法返回一个字符型变量用法如
String s=hello;
char k=scharAt();
(注此时k的值为h)
public int compareTo( String anotherString )
这个方法用来比较字符串常量的大小参数anotherString为另一个字符串常量若两个字符串常量一样返回值为若当前字符串常量大则返回值大于若另一个字符串常量大则返回值小于用法如
String s=abc;
String s=abd;
int result=pareTo(s);
(注result的值大于
因为d在ascII码中排在c的后面则s>s)
public String concat( String str )
这个方法将把参数??字符串常量str接在当前字符串常量的后面生成一个新的字符串常量并返回用法如
String s=How do ;
String s=you do?;
String ss=ncat(s);
(注ss的值为How do you do?)
public boolean startsWith( String prefix )
这个方法判断当前字符串常量是不是以参数??prefix字符串常量开头的是返回true否返回false 用法如
String s=abcdefg;
String s=bc;
boolean result=sstartsWith(s);
(注result的值为false)
public boolean startsWith
( String prefix int toffset )
这个重载方法新增的参数toffset指定 进行查找的起始点
public boolean endsWith( String suffix )
这个方法判断当前字符串常量是不是以参数??suffix字符串常量结尾的是返回true否返回false用法如
String s=abcdefg;
String s=fg;
boolean result=sendsWith(s);
(注result的值为true)
public void getChars
( int srcBegin int srcEnd
char dst[] int dstBegin )
这个方法用来从字符串常量中截取一段字符串并转换为字符数组参数srcBegin为截取的起始点srcEnd为截取的结束点dst为目标字符数组dstBegin指定将截取的字符串放在字符数组的什么位置实际上srcEnd为截取的结束点加srcEndsrcBegin为要截取的字符数用法如
String s=abcdefg;
char z[]=new char[];
sgetChars(z);
(注z[]的值为cz[]的值为d
截取了两个字符 =)
public int indexOf( int ch )
这个方法的返回值为字符ch在字符串常量中从左到右第一次出现的位置若字符串常量中没有该字符则返回用法如
String s=abcdefg;
int r=sindexOf(c);
int r=sindexOf(x);
(注r的值为r的值为)
public int indexOf
( int ch int fromIndex )
这个方法是对上一个方法的重载新增的参数fromIndex为查找的起始点用法如
String s=abcdaefg;
int r=sindexOf(a);
(注r的值为)
public int indexOf( String str )
这个重载方法返回字符串常量str在当前字符串常量中从左到右第一次出现的位置若当前字符串常量中不包含字符串常量str则返回用法如
String s=abcdefg;
int r=sindexOf(cd);
int r=sindexOf(ca);
(注r的值为r的值为)
public int indexOf
( String str int fromIndex )
这个重载方法新增的参数fromIndex为查找的起始点以下四个方法与上面的四个方法用法类似只是在字符串常量中从右向左进行查找
public int lastIndexOf( int ch )
public int lastIndexOf( int ch int fromIndex )
public int lastIndexOf( String str )
public int lastIndexOf( String str int fromIndex )
public int length()
这个方法返回字符串常量的长度这是最常用的一个方法用法如
String s=abc;
int result=slength();
(注result的值为)
public char[] toCharArray()
这个方法将当前字符串常量转换为字符数组并返回用法如
String s=Who are you?;
char z[]=stoCharArray();
public static String valueOf( boolean b )
public static String valueOf( char c )
public static String valueOf( int i )
public static String valueOf( long l )
public static String valueOf( float f )
public static String valueOf( double d )
以上个方法可将booleancharintlongfloat和double 种类型的变量转换为String类的对象用法如
String r=StringvalueOf(true);
(注r的值为true)
String r=StringvalueOf(c);
(注r的值为c)
float ff=;
String r=StringvalueOf(ff);
(注r的值为)
StringBuffer 类
String类是字符串常量是不可更改的常量而StringBuffer是字符串变量它的对象是可以扩充和修改的
String类的构造函数
public StringBuffer()
创建一个空的StringBuffer类的对象
public StringBuffer( int length )
创建一个长度为 参数length 的StringBuffer类的对象
注意如果参数length小于将触发NegativeArraySizeException异常
public StringBuffer( String str )
用一个已存在的字符串常量来创建StringBuffer类的对