Java教程

Java第七次作业

本文主要是介绍Java第七次作业,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. 借助JDK文档, 选取String与StringBuffer 、StringBuilder的常用API,并编写实例测试API的功能。      

1)String 的 length()
int length()
Returns the length of this string.
返回string的长度

char charAt(int index)返回值是char类型,参数是int,作用和C语言中字符串的下标取值一样,得到的是串中下标为index的字符

public class hello{
  public static void main(String[] args){
      String w=new String("nice to meet you");
      System.out.println(w);
      int i;
      for(i=0;i<w.length();++i)
       System.out.print(w.charAt(i)+"#");
  }
}
输出:
hello,nice to meet you
h#e#l#l#o#,#n#i#c#e# #t#o# #m#e#e#t# #y#o#u#

2)StringBuffer的append(char[] str)
StringBuffer
append(char[] str)
Appends the string representation of the char array argument to this sequence.
返回一个StringBuffer 类型。
将括号里的字符串加到原字符串后面

3)StringBuilder的append(char[] str)
StringBuilder append(char[] str)
Appends the string representation of the char array
argument to this sequence.
同.StringBuffer的append(char[] str)

public class hello{
  public static void main(String[] args){
      StringBuffer w=new StringBuffer("Nice to Meet You");
      System.out.println(w);
      System.out.println(w.append(" too");
  }
}

输出:
Nice to Meet You
Nice to Meet You too

2. 请简述String,StringBuffer,StringBuilder三者之间的共同点与区别,应该分别在何种场景下使用?      

String、StringBuffer、StringBuilder相同点  :

内部实现基于字符数组,封装了对字符串处理的各种操作

可自动检测数组越界等运行时异常

String、StringBuffer、StringBuilder不同点:

   String内部实现基于常量字符数组,内容不可变;StringBuffer、StringBuilder基于普通字符数    组,数组大小可根据 字符串的实际长度自动扩容,内容可变  

 性能方面,对于字符串的处理,相对来说        StringBuilder > StringBuffer > String

  StringBuffer线程安全;StringBuilder非线程安全

3. 为什么不建议在for循环中使用“+”进行字符串拼接?

字符串拼接,应使用StringBuilder或StringBuffer,并将对象创建语句放到 循环体外。 

这篇关于Java第七次作业的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!