Java SE---String/StringBuilder/StringBuffer

String

/*
 * int indexOf(String str)
 * 该方法是用来查找给定字符串在当前字符串中的位置。该方法有几个重载方法。
 * 
 */
public class StringDemo2 {

    public static void main(String[] args) {
        //            0123456789012345
        String str = "thinking in java";
        /*
         * 查找in在str字符串中的位置,若没有会返回-1。
         */
        int index = str.indexOf("in");
        System.out.println("index:"+index);
        /*
         * 重载方法允许从指定位置处开始查找
         */
        index = str.indexOf("in", 3);
        System.out.println("index:"+index);
        /*
         * 查找最后一次出现指定字符串的位置
         */
        index = str.lastIndexOf("in");
        System.out.println("index:"+index);
    }
}

/*
 * String subString(int start, int end)
 * 截取字符串,从指定位置(start)开始截取到指定的位置(end)
 * java api有一个特点,通常用两个数字表示范围时,都是含头不含尾
 */
public class StringDemo3 {

    public static void main(String[] args) {
        //            0123456789012345
        String str = "thinking in java";
        //截取"ing"
        String sub = str.substring(5, 8);
        System.out.println("sub: "+sub);

        String host = "www.abcde.cn";
        sub = host.substring(4, 9);
        System.out.println("sub: "+sub);

        /*
         * 若只传入一个参数,则是从指定位置开始截取到字符串末尾。
         */
        sub = host.substring(4);
        System.out.println("sub: "+sub);

    }

}

/*
 * String trim()
 * 去除当前字符串两边的空白字符
 */
public class StringDemo4 {

    public static void main(String[] args) {
        String str = "  hello   ";
        String trim = str.trim();
        System.out.println(str);
        System.out.println(trim);
    }
}

/*
 * char charAt(int index)
 * 获取当前字符串指定下标对应的字符
 */
public class StringDemo5 {

    public static void main(String[] args) {
        //            0123456789012345
        String str = "thinking in java";
        //查看第5个字符是什么?
        char c = str.charAt(4);
        System.out.println(c);

        /*
         * 检查一个字符串是否为回文
         */
        String info = "北京市海淀区淀海市京北";

        for(int i=0; i<info.length()/2; i++){
            if(info.charAt(i)!=info.charAt(info.length()-i-1)){
                System.out.println("不是回文");
                break;
            }
        }


    }
}

/*
 * boolean startWith(String str)
 * boolean endsWith(String str)
 * 判断当前字符串是否是以指定的字符串开始或结尾的。
 */
public class StringDemo6 {

    public static void main(String[] args) {
        //            0123456789012345
        String str = "thinking in java";
        boolean starts = str.startsWith("thi");
        System.out.println("starts: "+starts);

        boolean ends = str.endsWith("ava");
        System.out.println("ends: "+ends);

    }
}

/*
 * String toUpperCase()
 * String toLowerCase()
 * 将当前字符串的英文转换为全大写或全小写
 */
public class StringDemo7 {

    public static void main(String[] args) {
        String str = "我爱Java";
        String upper = str.toUpperCase();
        System.out.println(upper);

        String lower = str.toLowerCase();
        System.out.println(lower);          
    }
}

/*
 * String提供了若干重载的静态方法
 * static String valueOf(XXX xxx)
 * 该方法的作用是将java中其他类型转换为字符串
 */
public class StringDemo8 {

    public static void main(String[] args) {
        int a = 1;
        String strA = String.valueOf(a);

        double d = 1.1;
        String strB = String.valueOf(d);

        System.out.println(strA);
        System.out.println(strB);
    }

}

StringBuilder

/*
 * StringBuilder提供了用于修改字符串内容的相关方法
 * 其内部维护的是一个变长的字符数组,所以修改都是在当前对象内部完成的。
 * 当频繁修改字符串内容时,应当使用当前类来完成
 */
public class StringBuilderDemo1 {

    public static void main(String[] args) {
        String str = "北京海淀区Java";
        /*
         * 将String转换为StringBuilder
         * 可以使用有参的构造方法。
         * StringBuilder也有无参构造方法,默认表示空字符串
         */
        StringBuilder builder = new StringBuilder(str);

        /*
         * 从StringBuilder转换为String
         * 使用StringBuilder的toSting方法即可
         */
        str = builder.toString();
        System.out.println(str);

        /*
         * StringBuilder append(String str)
         * 向当前字符串末尾追加指定内容。
         * 有若干重载方法,参数类型不同,这些重载方法
         * 允许追加其他内容(先转换为字符串再追加)
         */
        builder.append(",这是追加的部分。");
        System.out.println(builder.toString());

        /*
         * StringBuilder replace(int start, int end, String str)
         * 将指定范围内的字符串替换为指定的内容。
         */
        builder.replace(9, 19, ",改变之后的部分。");
        System.out.println(builder.toString());

        /*
         * StringBuilder delete(int start, int end)
         * 将当前字符串中指定范围内的内容删除。
         */
        builder.delete(0, 9);
        System.out.println(builder.toString());

        /*
         * StringBuilder insert(int index, String str)
         * 将给定字符串插入到指定位置,原位置及后续字符串顺序向后移动。
         */
        builder.insert(0, "插入的部分");
        System.out.println(builder.toString());

        /*
         * 字符串反转
         */
        builder.reverse();
        System.out.println(builder.toString());
    }
}

StringBuffer

StringBuffer 的功能和 StringBuilder 类似,区别在于 StringBuffer 是线程安全的,而 StringBuilder 不是线程安全的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值