1、
  把数组拼接成一个字符串

 public class StringBufferTest2 {

 public static void main(String[] args) {
//定义一个数组
int[] arr = {12,21,33,9,2}; //方式1:定义功能,使用String做拼接
String s1 = arrayToString(arr);
System.out.println("String拼接的方法:"+s1); //方式2:定义功能能,使用StringBuffer做拼接
String s2 = arrayToString2(arr);
System.out.println("StringBuffer拼接的方法:"+s2); } public static String arrayToString(int[] arr) {
//定义一个[的字符串
String s = "[";
//进行数组的遍历以及转换为字符串 for(int x=0;x<arr.length;x++){
if(x == arr.length-1){
s += arr[x]+"]";
}
else{
s += arr[x]+",";
}
}
return s;
} public static String arrayToString2(int[] arr) { //定义一个"["的StringBuffer的缓冲区
StringBuffer sb = new StringBuffer();
sb.append("["); //进行数组的遍历,以及转换为StringBuffer缓冲区
for(int x=0;x<arr.length;x++){
if(x == arr.length-1){
sb.append(arr[x]);
}
else{
sb.append(arr[x]).append(",");
}
}
sb.append("]");
//StringBuffer 转换成 String
return sb.toString();
}
}

2、
   把字符串反转

 import java.util.Scanner;
public class StringBufferTest3 { public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入想要反转的数据");
String str = sc.nextLine(); //调用方法1 reverse1
String result = reverse1(str);
System.out.println("反转后的数据:"+result); //调用方法2 reverse2
String result2 = reverse2(str);
System.out.println("反转后的数据:"+result2);
} //方式1:用String的方法
public static String reverse1(String s){ //定义一个[的字符串
String s1 = ""; //把字符串转成数组
char[] ch = s.toCharArray(); //进行数组的元素遍历以及字符串的拼接
for(int x = ch.length-1;x >= 0;x--){ if(x == 0){
s1 += ch[x];
}
else{
s1 += ch[x];
}
}
return s1;
} //方式2,利用StringBuffer的反转方法
public static String reverse2 (String s){ //把输入的String类型转换为StringBuffer类型
//StringBuffer buffer = new StringBuffer(s); //进行StringBuffer的反转功能:
//public StringBuffer reverse()
//return buffer.reverse().toString(); //简洁版
return new StringBuffer(s).reverse().toString();
} }

3、
  判断一个字符串是否是对称字符串
    分析:
      两种方法可以完成:
      A:用string来完成:
        先把字符串改成数组,再对里面的数据进行, 一个一个地对比,最后的和第一个,倒二和第二....
      B:用StringBuffer来完成:
        直接倒转来对比原值
      C:分别创建方法,两个必须确认的值:
                a:返回类型:boolean
                b:参数列表:String

 import java.util.Scanner;
public class StringBufferTest4 { public static void main(String[] args) {
//创建键盘输入
Scanner sc = new Scanner(System.in);
System.out.println("请输入你想要判断的字符串:");
String str = sc.nextLine(); //调用第一种方法
boolean b1 = symmetry1(str);
System.out.println("这个字符串是否对称:"+b1); //调用第一种方法2
boolean b2 = symmetry2(str);
System.out.println("这个字符串是否对称:"+b2); //调用第二种方法
boolean b3 = symmetry2(str);
System.out.println("这个字符串是否对称:"+b3);
} //方式1:用string的方法来一个一个对比
public static boolean symmetry1(String s){
//把字符串改成数组
char[] c = s.toCharArray();
//进行比较,定义2个变量:start和end,分别从两端开始对比
for(int start = 0, end = c.length-1;start < end ; start ++,end--){
if(c[start] != c[end]){//进行判断
return false; }
}
return true;
} //方式1的另外一种方式:
public static boolean symmetry2(String s){
//定义一个boolean值
boolean flog = true; //把字符串改成数组
char[] c = s.toCharArray(); //进行比较,定义2个变量:start和end,分别从两端开始对比
for(int start = 0, end = c.length-1;start < end ; start ++,end--){
if(c[start] != c[end]){//进行判断
flog = false;
break;
}
}
return flog;
} //方式2 利用StringBuffer的反转功能
public static boolean symmetry3(String s){
return new StringBuffer(s).reverse().toString().equals(s);
//先从String变为StringBuffer类型,再对它进行反转,再变回string类型,再让此时得到的字符串与原来的对比里面的数据是否一样
}
}

java 12-5 StringBuffer的几个案例的更多相关文章

  1. final修饰和StringBuffer的几个案例(拼接,反转,对称操作)

    final关键字修饰时如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改:如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象,但引用变量不能变,引用变量所指向的对象中的内容还 ...

  2. java学习笔记 --- StringBuffer类

    1.定义:字符串缓冲区,即它是一个容器,容器中可以装很多字符.并且能够对其中的字符进行各种操作. StringBuffer的特点: 1.是一个字符串缓冲区,其实就是一个容器. 2.长度是可变,任意类型 ...

  3. Java中的StringBuffer

    Java中的StringBuffer /** * */ package com.you.model; /** * @author YouHaidong * */ public class StrFoo ...

  4. Java 12 正式发布,8大新特性

    自 2 月 7 日开始,Java/JDK 12 就进入了 RC 阶段.按照发布周期,美国当地时间 3 月 19 日,也就是北京时间 20 号 Java 12 正式发布了! 1.Shenandoah:低 ...

  5. 尝鲜Java 12新特性:switch表达式

    Java 12将在两个月后(2019/3/19)发布,现已进入RDP1阶段,确定加入8个JEP.其中对Java语法的改进是JEP 325: switch表达式.于是我迫不及待,提前感受一下更先进的语言 ...

  6. [java,2017-05-16] java中清空StringBuffer的方法以及耗费时间比较

    java中清空StringBuffer的方法,我能想到的有4种: 1. buffer.setLength(0);  设置长度为0 2. buffer.delete(0, buffer.length() ...

  7. Java面向对象之多态(来源于身边的案例)

    2019年1月3日 星期四 Java面向对象之多态(来源于身边的案例) 1. 为什么要用多态? 1.1 多态是面向对象的三大特性之一 1.2 多态是基于接口设计的模型 1.3 多态具有横向扩展特性 1 ...

  8. 5分钟了解Java 12 八大新特性

    Java 12 终于发布了,我们一起来看一看 Java 12 中的新特性.通过本文可以在5分钟内快速了解 Java 12 新特性. 1 Switch 表达式 使用Java 12,switch不仅可以作 ...

  9. .Net Core 2.2与Java 12性能对比

    我发现基准游戏(https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/csharp.html)是一套非常好的基准测试. ...

  10. Java常用函数式接口--Predicate接口使用案例

    Java常用函数式接口--Predicate接口使用案例 该方法可以使用and来优化: 调用:

随机推荐

  1. 如何rename sqlserver database

    Problem Sometimes there is a need to change the name of your database whether this is because the or ...

  2. 使用WCF对外提供接口

    本篇将通过WCF以webservices的方式对外提供接口.同时使用NUnit对webservices中的方法进行单元测试. 开发契约 contract Contract项目为类库项目,该项目下会包含 ...

  3. RHEL7用户管理

    本文介绍Linux的用户管理 用户管理 Linux 是一个可以实现多用户登陆的操作系统,不同用户可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件. 但实 ...

  4. NSNumber和NSValue

    在进行数据处理的时候,因为对象类型的不同, 并不能进行相应的数据处理,所以必须要进行数据类型的转换,这也就是NSNumber,NSValue这两类值对象出现的原因. 简而言之,NSNumber就是实现 ...

  5. iOS程序启动的过程及原理

    iOS程序启动的过程及原理 文字部分 先执行main函数,main内部会调用UIApplicationMain函数 UIApplicationMain函数里面做了什么事情??? 1> 创建UIA ...

  6. iOS UIWebView和网页的交互(OC中调执行JS)

    UIWebView和网页的交互(OC中调执行JS)- (void)viewDidLoad{[super viewDidLoad];// 1.webViewUIWebView *webView = [[ ...

  7. Qt安装后配置环境变量(Mac)

    打开终端需要打开配置文件(注意这里不是bash_profile而是 .bash_profile,我开始少了".") 如果bash_profile文件不存在,就会自动创建,然后需要输 ...

  8. Java基础--常用正则匹配符号(必背,必须背,死都要背)

    1.字母:匹配单个字母 (1)A:表示匹配字母A: (2)\\:匹配转义字符“\”: (3)\t:匹配转义字符“\t”: (4)\n:匹配转义字符“\n”: 2.一组字符:任意匹配里面的一个单个字符: ...

  9. Java线程池的实现

    线程池的作用: 一个线程的周期分为:创建.运行.销毁三个阶段. 处理一个任务时,首先创建一个任务线程,然后执行任务,完了还要销毁线程.而线程只有处于运行状态的时候,才是真的在处理我们交给它的任务,这个 ...

  10. Android程序入口以及项目文件夹的含义和使用总结—入门

    新接触一门程序或者开发框架,我一般都要先弄清楚程序的入口在哪里,程序怎么运行的:建立一个项目后,各个文件夹有什么作用以及如何使用等等.理清楚这些东西对以后开发是很有好处的,古话说得好,工欲善其事,必先 ...