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. maven 构建war包时排除web.xml

    在使用maven构建项目的war包时,有时并不需要src/webapp/WEB-INF/下的一些文件. 这时可以通过maven-war-plugin创建配置来排除这些文件.下面贴出我平时使用的pom. ...

  2. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  3. 玩转X-CTR100 l STM32F4 l TB6612直流电机调速控制

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器的直流调速电机控制,X ...

  4. 由pg_xlogdump统计信息想到的问题

    最近深入理解了Checkpoint的相关逻辑,再来看WAL日志的一些设置,又有了新的收获. 1.回顾pg_xlogdump出来的wal日志信息: 2.wal中FPI的占比很高问题分析: 3.重申ful ...

  5. 利用Teensy进行em410x卡模拟以及暴力破解em410x类门禁系统

    什么是低频?什么是EM410x? 首先,我不得不再次提一下那些工作在125khz频率下的低频卡(如:EM410X之类的),以便大家更好的阅读以下的内容. 什么是低频?以下就是低频的解释: 低频(LF, ...

  6. grafana+influxdb+telegraf监控服务器cpu,内存和硬盘

    随便抄了一篇,目前我们的项目也在用,这个是linux和windows通吃的一种监控方案,非常有效,详细和优美,需要监控什么具体的业务内容,自己向influxdb中插入就行了. 监控服务器状态是运维必不 ...

  7. 如何学php少走弯路

    我是自学php,而且是非计算机专业,算半路出家的.(工作了一段时间又自学编程) 1.一本好书至关重要.如果这本书的知识非常深入,那么还是不要看了.对初学者来说只能是打击.因为很多东西都看不懂.一本知识 ...

  8. JS禁止用F5键

    //禁止用F5键 function document.onkeydown() { if ( event.keyCode==116) { event.keyCode = 0; event.cancelB ...

  9. git中的needs merge问题

    这个问题是在先“储藏”起来了,后面再调用出来出现的错误. 解决的方法就是通过git add    ,git commit -m  提交上去就可以了.

  10. [LeetCode&Python] Problem 700. Search in a Binary Search Tree

    Given the root node of a binary search tree (BST) and a value. You need to find the node in the BST ...