package hello;

import java.util.Scanner;

public class 实验五 {

    public static void main(String[] args) {
// TODO Auto-generated method stub
char cc[]={'a','b','c','d','e','f'}; //将字符串数组转成string
String s1 =String.copyValueOf(cc);
System.out.println(s1);
//将string转成StringBuffer
StringBuffer s2 = new StringBuffer(s1); //在1这个位置插入z
s2.insert(1, 'z');
System.out.println(s2); //把第0个位置换成x
s2.replace(0, 1, "x");
System.out.println(s2); //将StringBuffer转成String
String s3 = s2.toString();
System.out.println(s3.toUpperCase());
} }

1. String和StringBuffer的相互转化:

        String s1 ="cjs_hhh";
System.out.println("String "+s1);
//将string转成StringBuffer
StringBuffer s2 = new StringBuffer(s1); System.out.println("StringBuffer "+s1);
//将StringBuffer转成String
String s3 = s2.toString();
System.out.println("String "+s3);

2. 字符数组和String的相互转化:

        char cc[]={'a','b','c','d','e','f'};
//将字符串数组转成string
String s1 =String.copyValueOf(cc);
System.out.println("String "+s1); //将string转成字符串数组
char c[]=s1.toCharArray();
for(int i=0;i<c.length;i++)
{
System.out.print(c[i]);
}

3. 字符数组和StringBuffer的相互转化:

1、将StringBuffer转换成字符数组
 
在Java中不支持直接从StringBuffer转换成字符数组。而是先将StringBuffer转换成String,
然后由String调用toCharArray函数转换成字符数组。
StringBuffer stringBuffer = new StringBuffer(“Hello World.”);
String str = stringBuffer.toString();// 先将StringBuffer对象转换成String对象
char[] ch = str.toCharArray();// 再调用String对象的toCharArray函数转换成字符数组
 
2、将字符数组转换成StringBuffer
 
与将StringBuffer转换成字符数组类似,需要先将字符数组转换成String,然后再由String转换成StringBuffer。
char[] data = {'H', 'e', 'l','l', 'o', 'd'};
String str = new String();//或者直接调用构造方法:String str = new String(data);
str = String.valueOf(data);//调用String类的valueOf函数将字符数组转换成String
StringBuffer buffer = new StringBuffer();
buffer = buffer.append(str);//调用append函数将String转换成Stringbuffer

4.StringBuffer的一些方法

StringBuffer是字符串缓冲区,是一个容器。 
1、长度是可变化的;(数组长度不变) 
2、可以操作多个数据类型; 
3、最终会通过toString方法变成字符串。

1、添加。 
StringBuffer append(); //将指定数据作为参数添加到已有数据结尾处 
StringBuffer insert(index,数据); //可以将数据插入到指定index位置 
2、删除。 
StringBuffer delete(start,end); //删除缓冲区中的数据,包含start,不包含end 
StringBuffer deleteCharAt(index); //删除指定位置的字符 
3、修改。 
StringBuffer replace(start,end,string); //用string字符串替换原有字符串中的数据,包含start,不包含end 
void setCharAt(int index,char ch); //用ch字符替换指定位置的字符(注意:void没有返回值) 
4、获取。 
char charAt(int index); //根据角标获取 
int indexOf(String str); //根据字符串获取位置 
int lastIndexOf(String str); //如果出现字符串参数一次或多次,则返回最后一个这样的字符串的第一个字符的索引返回 
int length(); //获取长度 
String substring(int start,int end); //获取子字符串,包含start,不包含end(注意:访问的是String,不是StringBuffer) 
5、反转。 
StringBuffer reverse(); //返回StringBuffer对象的颠倒顺序 
6、将缓冲区中指定数据存储到指定数组中。 
void getChars(int scrBegin,int scrEnd,char[] dst,int dstBegin); //scrBegin(源开始位),dstBegin(目标开始位)

 

java实验五——字符数组、String、StringBuffer的相互转化,StringBuffer的一些方法的更多相关文章

  1. 20165310 Java实验五《网络编程与安全》

    20165310 Java实验五<网络编程与安全> 任务一 题目:①编写MyBC.java实现中缀表达式转后缀表达式的功能:②编写MyDC.java实现从上面功能中获取的表达式中实现后缀表 ...

  2. 20165324 Java实验五 网络编程与安全

    20165324 Java实验五 网络编程与安全 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:何春江 学号:20165324 指导教师:娄嘉鹏 实验日期:2018年5月28日 实 ...

  3. 2018-2019-2-20175323 java实验五 网络编程与安全

    20175323 java实验五 网络编程与安全 任务一 ①编写MyBC.java实现中缀表达式转后缀表达式的功能 ②编写MyDC.java实现从上面功能中获取的表达式中实现后缀表达式求值的功能 基本 ...

  4. JAVA关于字符串&&字符数组处理的小题目

    JAVA关于字符串&&字符数组的小题目 第二题:分析以下需求,并用代码实现 1.键盘录入一个大字符串,再录入一个小字符串 2.统计小字符串在大字符串中出现的次数 3.代码运行打印格式: ...

  5. java 字符串,字符数组,list间的转化

    1.关于java.lang.string.split xxx.split()方法可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回. 2.字符串转字符数组 String str =" ...

  6. Java实验五

    20145113 Java实验五 网络编程及安全 实验内容 对于客户端与服务器端:修改原代码,使其可以实现连续的传消息,并且传送文件. 对于加解密部分: 对于原先的加密只加密"hello w ...

  7. java中将一个字符数组赋值给另一个,两者同时变化

    java中将一个字符数组赋值给另一个,两者的变化怎么是同步的?怎么才能让他们独立开? 比如有一个int[][] a 已经存在值,现在定义int[][] b=a;之后改变a的值,为何b也跟着改变?怎么才 ...

  8. Java基础(40)String、StringBuilder和StringBuffer的区别(TODO)

    一.String String实现了Serializable接口.Comparable<String>接口和CharSequence接口,并且使用final char value[]不可变 ...

  9. 20165326 java实验五

    实验五 网络编程与安全 一.实验内容 任务一: 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java 这个代码在 ...

随机推荐

  1. 使用pool的多进程,不执行的问题

    from multiprocessing import Pool def fetch_data(idlist,test): pass p=Pool(4) result=[] for i in rang ...

  2. python运维01-获取系统基础信息

    1.获取系统主机名,IP,MAC地址 import socket import uuid macs = uuid.UUID(int = uuid.getnode()).hex[-12:] mac = ...

  3. localstorage检测

    localstorage检测 初来乍到,刚刚接触一个从零开始的移动wap项目,希望内容根据策略(正在思考中)在浏览器中缓存,appcache.localstorage都作为泛化知识进行了解和练习,知道 ...

  4. 深入理解Linux网络技术内幕——用户空间与内核空间交互

    概述:     内核空间与用户空间经常需要进行交互.举个例子:当用户空间使用一些配置命令如ifconfig或route时,内核处理程序就要响应这些处理请求.     用户空间与内核有多种交互方式,最常 ...

  5. JVM --- OutOfMemoryError异常

    在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有可能发生OutOfMemoryError(OOM)异常. 1.Java堆溢出 Java堆用于存储对象实例,只要不断地创 ...

  6. REST easy with kbmMW #3 – SSL

    我在前两篇文章中展示了“REST easy with kbmMW”文章,如何使用kbmMW制作REST服务器,以及如何使用该REST服务器轻松地从数据库返回和存储数据,所有这些都在不到30行的真实数据 ...

  7. Python 之 numpy 和 tensorflow 中的各种乘法(点乘和矩阵乘)

    点乘和矩阵乘的区别: 1)点乘(即“ * ”) ---- 各个矩阵对应元素做乘法 若 w 为 m* 的矩阵,x 为 m*n 的矩阵,那么通过点乘结果就会得到一个 m*n 的矩阵. 若 w 为 m*n ...

  8. 用js取1-100的随机数

    function sum (m,n){ var num = Math.floor(Math.random()*(m - n) + n); alert(num) } sum(1,100): 万能 公式, ...

  9. SWIFT中隐藏TableView多余的分隔线

    在用TableView是如果数据不能填充满整个屏幕时,数据行下面会有空行及分隔线,这样不是很美观,如下 如何把多余的部分删除掉呢,其它很简单,把TableView的Footer替换为一个空的UIVie ...

  10. Qt Quick Hello World hacking

    /********************************************************************************************* * Qt ...