`
imBa_MarlBoro
  • 浏览: 4134 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

17.01.2011

阅读更多

String类测试

     无论是何种语言,字符串(String)都是编写程序最为重要的一种数据结构。处理很多问题归根结底都可以转化为对字符串的处理。因此在Java语言中特别对字符串也安排了一个类---String类。

           String类是在Java中使用最为广泛的类了,与普通类不同,创建一个String对象只需要String str, 并且支持+ , +=的运算,不需要调用方法就可以很顺利的连接字符串。

           当然,了解一个类,了解他的构造器和方法是必不可少的。

           String类中的构造器种类繁多,最常用的就是无参构造器String()和讲字符数组转换成字符串的构造器String(char[] value)了,对字符数组转换成字符串的测试代码如下:

 

public class StringTest {

    public static void main(String args[]){

       char[] value = {'h','e','l','l','o'};

       String str = new String(value);

       System.out.println(str);

    }

}

 运行结果如下:

 

 

hello

           String类中也有许多方便操作的方法,对其测试代码如下:

 

public class StringTest {

 

    public static void main(String args[]){

 

       String str = "Hello World!";

       System.out.println("原字符串是: " + str);

       

       char c = str.charAt(0);//charAt方法返回以参数为索引的字符(索引值从0开始到str.length()-1)

       System.out.println("第0号位置的字符是: " + c);

       

       String str1 = "hello world!";

       int i = str.compareTo(str1);//compareTo为字符串比较方法,按照字典顺序比较,如果在第k处不同则返回这两个字符串在位置 k 处两个char 值的差,即值: 

                                //this.charAt(k)-anotherString.charAt(k),(相同则返回0)

       System.out.println("比较后的结果为: " + i);

 

       String str2 = "??";

       str2 = str.concat(str2);//concat方法是连接两个字符串这条语句相当于str2 = str + str2;

       System.out.println(str2);

       

       str1 = str.substring(7);//单参数substring为截取从参数索引值开始的子串,并返回

       str2 = str.substring(0 , 3);//双参数substring为截取从第一个参数索引值开始到第二个参数前面以为结束的子串,并返回

       System.out.println(str1 + '\n' + str2);

       

       String s = "aa|bb;cc|dd;ee|ff";

       String[] ss = s.split(";");//split方法为指定一个字符串作为分割,将原串分割成多个串作为String数组保存返回

       for(int j = 0; j < ss.length ; j++){

           System.out.println(ss[j]);

       }

       

       char[] arr = str.toCharArray();//将字符串转化为字符数组并返回

       for(int j = 0; j < arr.length ; j++){

           System.out.print(arr[j] + '\t');

       }

       System.out.println();

       

       int i1 = str.indexOf('l');//indexOf返回参数第一次出现的位置

       int i2 = str.lastIndexOf('l');//lastIndexOf返回参数最后一次出现的位置

       System.out.println(i1 + "<--->" + i2);

       

       str1 = "Hello";

       str2 = "Hello World!";

       boolean b1 = str.matches(str1);//判断是否匹配成功

       boolean b2 = str.matches(str2);

       System.out.println("1匹配是否成功?" + b1);

       System.out.println("1匹配是否成功?" + b2);

    }

}

 

 

运行结果如下:

原字符串是: Hello World!

0号位置的字符是: H

比较后的结果为: -32

Hello World!??

orld!

Hel

aa|bb

cc|dd

ee|ff

81110117117120419612012311710942

2<--->9

1匹配是否成功?false

1匹配是否成功?true

           熟练掌握字符串对于程序设计十分重要,希望在以后的编程学习中可以更加巧妙的使用String类。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics