ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java第七次作业

2021-11-28 19:02:29  阅读:140  来源: 互联网

标签:Java String StringBuffer 第七次 作业 char StringBuilder 字符串 append


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有