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. 搭建 spring 项目

    参考原文:http://blog.csdn.net/binyao02123202/article/details/20387595 1.新建maven web 工程 2.编辑pom.xml添加依赖 & ...

  2. 安装Linux Mint17

    韩总有台笔记本之前安装的是Win7,结果被她用成含毒,含马的机器了,最后干脆机器操作不了,愤怒的韩总把戴尔骂了个痛快并保证以后再也不用戴尔的笔记本了,然后愉快的换了一台新电脑,这台机器便放在我这里没人 ...

  3. QNX的深度嵌入过程

    QNX的深度嵌入过程   1.1           QNX目标系统嵌入 利用QNX的模块性和和可裁剪性,其嵌入过程一般是: 构建Buildfile -> 编译buildfile生成系统映象文件 ...

  4. STM32 LSM6DSL 陀螺仪数据采集

    /************************************************************************************ * STM32 LSM6DS ...

  5. caffe测试mnist问题-error while loading shared libraries

    问题描述 build/examples/mnist/convert_mnist_data.bin: error while loading shared libraries: libcudart.so ...

  6. dos命令批处理发送文字到剪贴板

     方法一(推荐): echo 要发送到剪贴板的字 | clip   方法二: @echo off::显示要发送的文字重定向到windows临时文件夹下echo 要发送到剪贴板的字>%system ...

  7. PR使用技巧

    1.要经常使用快捷键,这样能进步效率. 常用的快捷键是:+(放大),-(缩小),v(移动),c(切刀),x(变速),L(快放),ctrl+K(载切),ctrl+M(输出视频),ctrl+alt+M(输 ...

  8. 20155229 2016-2017-2 《Java程序设计》第五周学习总结

    20155229 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 第八章: Java中所有错误都会被打包为对象. 设计错误对象都继承自java.lang.Th ...

  9. JAVA解压文件

    package com.chauvet.utils; import java.io.File; import java.io.FileOutputStream; import java.io.IOEx ...

  10. 状压dp2

    2018年全国多校算法寒假训练营练习比赛(第二场) https://www.nowcoder.com/acm/contest/74/F 上一篇状压dp例题由于每个位置都含有一个非负数,所以不需要判断能 ...