Java中的String、StringBuffer和Math类
2008-01-05 19:19:51 来源:WEB开发网核心提示:java是一种真正的面向对象的语言,即使是开发简单的程序,Java中的String、StringBuffer和Math类,也必须设计对象,Java自身也为我们提供了许多已设计好的类,生成一个新的字符串常量,并返回,要想灵活使用Java进行编程,熟悉Java的这些主要类将是必不可少的前提条件之一
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[]={'h','e','l','l','o'};
String test=new String(z);
注:此时test中的内容为"hello"
public String( char value[],
int offset, int count )
这个构造函数是对上一个的扩充,用一句话来说,就是用字符数组value,从第offset个字符起取count个字符来创建一个String类的对象。用法如:
char z[]={'h','e','l','l','o'};
String test=new String(z,1,3);
注:此时test中的内容为"ell",数组中,下标0表示第一个元素,1表示第二个元素……
假如 起始点offset 或 截取数量count 越界,将会产生异常。
StringIndexOutOfBoundsException
public String( StringBuffer buffer )
这个构造函数用一个StringBuffer类的对象作为参数来创建一个新的字符串常量。String类是字符串常量,而StringBuffer类是字符串变量,是不同的。StringBuffer类将在后面进行介绍。
String类的方法有:
public char charAt( int index )
这个方法用来获取字符串常量中的一个字符。参数index指定从字符串中返回第几个字符,这个方法返回一个字符型变量。用法如:
String s="hello";
char k=s.charAt(0);
(注:此时k的值为'h')
public int compareTo( String anotherString )
这个方法用来比较字符串常量的大小,参数anotherString为另一个字符串常量。若两个字符串常量一样,返回值为0。若当前字符串常量大,则返回值大于0。若另一个字符串常量大,则返回值小于0。用法如:
String s1="abc";
String s2="abd";
int result=s2.compareTo(s1);
(注:result的值大于0,
因为d在ascII码中排在c的后面,则s2>s1)
public String concat( String str )
这个方法将把参数??字符串常量str接在当前字符串常量的后面,生成一个新的字符串常量,并返回。用法如:
String s1="How do ";
String s2="you do?";
String ss=s1.concat(s2);
(注:ss的值为"How do you do?")
public boolean startsWith( String PRefix )
这个方法判定当前字符串常量是不是以参数??prefix字符串常量开头的。
Tags:Java String StringBuffer
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接