字符串的方法,字符串的练习,StringBuffer

2022/2/3 23:12:49

本文主要是介绍字符串的方法,字符串的练习,StringBuffer,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

获取方法:

  int length()  获取字符串的长度

  char charAt(int index)  获取特定位置的字符(角度越界)

  int indexOf(String str)  查找子串第一次出现的索引值,如果子串没有出现在字符串中,那么则返回-1表示。

  int lstlndexOf(String str)  查找子串最后一次出现的索引值,如果子串没有出现在字符串中那么则返回-1表示

代码演示:

 

package aa.aa;

public class Demo06 {
    public static void main(String[] args) {
        String str = "abc中国按中国";
        System.out.println("字符串的字符个数:"+str.length());
        System.out.println("根据索引值获取对应的字符:"+str.charAt(3));
        System.out.println("查找子串第一次出现的索引值:"+str.indexOf("中国"));
        System.out.println("查找子串最后一次出现的索引值:"+str.lastIndexOf("中国"));
    }
}

 运行结果:

 

 判断方法:

  boolean endsWith(String str)  是否以指定字符结束

  boolean isEmpty()  是否长度为0

  boolean contains(charSequence)  是否包含指定序列  应用:搜索

  boolean equals(Object anObject)  是否相同

  boolean equalslgnore(String anotherString)  忽略大小写是否相等

转换方法:

  char[] toCharArray()  将字符串转换为字符数组

  byte[]  getBytes();  把字符串装换字节数组

代码演示:

package aa;

import java.util.Arrays;

public class Demo05 {
    public static void main(String[] args) {
        String str = "Demo.java";
        System.out.println("是否以指定的字符结束:"+str.endsWith("java"));
        System.out.println("判断字符串是否为空内容:"+str.isEmpty());
        System.out.println("判断字符串是否包含指定的内容:"+str.contains("Demo"));
        System.out.println("判断两个字符串的内容是否一致:"+"DEMO.JAVA".equals(str));
        System.out.println("判断两个字符串的内容是否一致(忽略大小写):"+"DEMO.JAVA".equalsIgnoreCase(str));
        //转换的方法
        char[] buf = str.toCharArray();
        System.out.println("字符串组:"+ Arrays.toString(buf));
        byte[] buf2 = str.getBytes();
        System.out.println("字节数组:"+Arrays.toString(buf2));
    }
}
运行结果:

 需求1:自己实现trim方法。

代码演示:

public class Demo07 {
    public static void main(String[] args) {
        String str = "   传奇 博客  ";
        System.out.println(myTrinm(str));
    }
    public static String myTrinm(String str){
        char[] arr = str.toCharArray();
        int startindex = 0;
        int ecdindex = arr.length-1;
        while (true){
            if (arr[startindex]==' '){
                startindex++;
            }else {
                break;
            }
        }
        while (true){
            if (arr[ecdindex]==' '){
                ecdindex--;
            }else {
                break;
            }
        }
        return str.substring(startindex,ecdindex+1);
    }
}
运行结果:

 

 需求2: 获取上传文件名  "D:\\20120512\\day12\\Demo1.java"。

代码演示:

public class Demo08 {
    public static void main(String[] args) {
        String str = " D:\\20120512\\day12\\Demo1.java";
        getFileName(str);
    }
    public static void getFileName(String path){
        int index = path.lastIndexOf("\\");
        String fileName = path.substring(index+1);
        System.out.println("文件名:"+fileName);

    }
}
运行结果:

 

 需求三:将字符串对象中存储的字符反序。    新中国好

代码演示:

public class Demo08 {
    public static void main(String[] args) {
    String str = "新中国好";
    System.out.println(reverse(str));
    }
    public static String reverse(String str){
        char[] arr = str.toCharArray();
        for (int startlndex = 0,ecdlndex = arr.length-1;startlndex<ecdlndex;startlndex++,ecdlndex--){
            char temp = arr[startlndex];
            arr[startlndex] = arr[ecdlndex];
            arr[ecdlndex] = temp;
        }
        return new String(arr);
    }
}
运行结果:

 

 字符串的特点:字符串是常量,它们的值在创建之后就不能更改。

字符串的内容一旦发生变化那么马上会创建一个新的对象。

注意:字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象。

如果需要频繁修改字符串内容,建议使用字符串缓冲类(StringBuffer)。

StringBuffer其实是一个存储字符的容器。

代码演示:

public class Demo08 {
    public static void main(String[] args) {
        String str1 = "hello";
        String str2 = str1+"world";
        System.out.println("str1与str2是同一个对象吗?"+(str1==str2));
    }
}
运行结果:

 

 

如果需要频繁修改字符串内容,建议使用字符串缓冲类(StringBuffer)。

StringBuffer其实是一个存储字符的容器。

笔试题目:使用StringBuffer无惨的构造函数创建一个对象时,默认的初容量是多少?自动增长多少倍?

  StringBuffer 底层是依赖了一个字符数组才能存储字符数据 的,该字符串数组默认 的初始容量是16, 如果字符数组的长度不够使用 死,自动增长1倍。

容器的具备行为:

  增加

  删除

  修改

  查看

  判断

代码演示:

 

public class Demo08 {
    public static void main(String[] args) {
    StringBuffer sb = new StringBuffer();
    sb.append("java");
    sb.append("java");
    sb.append("java");
    sb.append("java");
    sb.append("java");
    System.out.println(sb);
    }
}
运行结果:

 



这篇关于字符串的方法,字符串的练习,StringBuffer的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程