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,String,StringBuffer,第七次,作业,char,StringBuilder,字符串,append 来源: https://blog.csdn.net/qq_51932492/article/details/121342680