2021-12-06 Java学习

字符串反转:

键盘录入一个字符串,在控制台输出反转后的结果。例如:"abc"------>"cba"

package Demo;

import java.util.Scanner;

public class stringDemo2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String s = sc.nextLine();
        System.out.println(resver(s));
    }

    public static String resver(String s) {
        String s1 = "";
        for (int i = s.length()-1 ;i>=0;i--){
            s1 += s.charAt(i);
        }
        return s1;
    }
}

StringBuilder:

对字符串拼接,每次拼接,都构建一个新的String对象,即耗时,又浪费内存空间。通过StringBuilder类来解决这个问题。

StringBuilder是一个可变的字符串类,我们可以把它看成一个容器,这里的可变指的是Stringbuilder对象的内容是可变的

String:内容不可变

StringBuilder:内容是可变的

StringBuilder构造方法

public StringBuilder()      创建一个空白可变的字符串对象,不含任何内容

public StringBuilder(String str)       根据字符串的内容,来创建可变字符串对象

package Demo2;

public class stringDemo3 {
    public static void main(String[] args) {
        StringBuilder sc = new StringBuilder();
        System.out.println("sc:"+sc);
        System.out.println("sb.length:"+sc.length());
        StringBuilder sc1 = new StringBuilder("helloworld");
        System.out.println("sc:"+sc1);
        System.out.println("sb.length:"+sc1.length());
    }
}

StringBuilder的添加和反转:

public StringBuilder append()   添加数据,并返回对象本身

public StringBuilder reverse()   返回相反的字符序列

package Demo2;

public class StringBuilderDemo {
    public static void main(String[] args) {
        StringBuilder sc = new StringBuilder();
        StringBuilder sc1 = sc.append("hello");
        System.out.println("sc:"+sc);
        System.out.println("sc1:"+sc1);
        sc.append("java");
        sc.append("100");
        System.out.println("sc:"+sc);
        System.out.println("sc1:"+sc1);
        sc.reverse();
        System.out.println("sc:"+sc);
        System.out.println("sc1:"+sc1);
    }
}

StringBuilder和String相互转换:

1、StringBuilder转换String

通过toString()就可以实现把StringBuilder转换为String

public String toString():

2、String转换为StringBuilder

通过构造方法可以实现把String转换为StringBuilder

public StringBuilder(String s):
package Demo2;

public class StringBuilderDemo {
    public static void main(String[] args) {
        StringBuilder sc = new StringBuilder();
        sc.append("hello");
        // String s1 = sb;   //错误的方式
        String s = sc.toString();  //正确的方式
        System.out.println(s);
        // StringBuilder sb = s;   //错误的方式
        StringBuilder sb = new StringBuilder(s);//正确的方式
        System.out.println(sb);
    }
}

加强版字符串拼接:

package Demo2;

public class StringBuilderDemo2 {
    public static void main(String[] args) {
        int[] arr = {1,5,7};
        StringBuilder sc = new StringBuilder();
        sc.append("[");
        for(int i = 0;i<arr.length;i++){
            if(i!= arr.length-1){
                sc.append(arr[i]+",");
            }
            else{
                sc.append(arr[i]);
            }
        }
        sc.append("]");
        System.out.println(sc);
    }
}

加强版字符串反转:

package Demo2;

import java.util.Scanner;

public class StringBuilderDemo3 {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String s = sc.nextLine();
        String s1 =  Myreverse(s);
        System.out.println(s1);
    }
    public static  String Myreverse(String s){
        /*
        StringBuilder s1 = new StringBuilder(s);
        s1.reverse();
        String s2 = s1.toString();
        return  s2;
        */
        return new StringBuilder(s).reverse().toString();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值