java String和stringBuffer注意项总结

String
创建方式:2种 直接使用字符串常量 调用String类构造函数
实例方法:
与序号相关 可以通过序号获取相应字符 也可以通过字符获取序号
字符串对象不可变 但是通过转换可以生成新的对象
逻辑判断
subString 两个参数的形式 包含开头 不包含结尾
split 切割机 切割结果不包含切割符号
通过偏移访问字符串 当大于等于字符串长度时 发生运行时异常 程序中断
StringBuffer
特点:长度 内容 可以变化
实例方法:
添加 尾部追加 中间插入
删除:单个删除 区间删除
转换:单个替换 区间替换
相同点:一串有序的字符
不同点:
长度内容不可变 可变
重写equals方法 没重写
可以使用+ 不能

package test;

public class test1 {
    public static void main(String[] args) {


        //无参构建
        String str1 = new String();
        //有参构建
        String str2 = new String("abcd");

        char[] chars = new char[]{'d', 'e', 'f'};
        //字符数组的构建
        String str3 = new String(chars);


        System.out.println(str1);
        System.out.println(str2);
        System.out.println(str3);
    }

}


package test;

public class test2 {

            //创建方式:2种 直接使用字符串常量 调用String类构造函数
            //    实例方法:
            //            与序号相关 可以通过序号获取相应字符 也可以通过字符获取序号
            //            字符串对象不可变 但是通过转换可以生成新的对象
            //            逻辑判断
            // subString 两个参数的形式 包含开头 不包含结尾
            // split 切割机 切割结果不包含切割符号
            // 通过偏移访问字符串 当大于等于字符串长度时 发生运行时异常 程序中断
    public static void main(String[] args) {
        basic();
        alter();
        logic();
    }

    public static void basic() {
        String str = "Life is a chain of moments of enjoyment, not only about survival";
        System.out.println("字符串的长度:" + str.length());
        System.out.println("第一个字符为:" + str.charAt(1));
        System.out.println("字符c第一次出现的位置为:" + str.indexOf("c"));
        System.out.println("字符c最后一次出现的位置为:" + str.lastIndexOf('c'));
        System.out.println("字符串enjoy第一次出现的位置为:" + str.indexOf("enjoy"));
        System.out.println("字符串enjoy最后一次出现的位置是:" + str.lastIndexOf("we"));
    }

    public static void alter() {
        String str = "To the world you may be one person, but to one person you may be the world";
        System.out.println("字符串转换成字符数组后的结果:");
        char[] charArray = str.toCharArray();
        for (int i = 0; i < charArray.length; i++) {
            System.out.println(charArray[i] + ",");
        }
        System.out.println("字符串转换为大写的结果:" + str.toUpperCase());
        System.out.println("将but用however代替:" + str.replace("but", "however"));
        System.out.println("将the前后空隔去除:" + str.trim());
    }

    public static void logic() {
        String str1 = "String";
        String str2 = "Str";
        System.out.println("判断字符串的开头是否为Str:" + str1.startsWith("Str"));
        System.out.println("判断字符串的结尾是否为ng:" + str1.endsWith("ng"));
        System.out.println("判断字符串是否包含in:" + str1.contains("in"));
        System.out.println("判断字符串是否为空:" + str1.isEmpty());
        System.out.println("判断两个字符串是否相等:" + str1.equals(str2));//区别==与equals
    }
}
package test;

public class test3 {
    public static void main(String[] args) {

        String str = "羽毛球-篮球-乒乓球";
        System.out.println("从第五个字符截取到末尾的结果:" + str.substring(4));
        System.out.println("从第五个到第六个字符的截取的结果:" + str.substring(4, 6));

        //split2
        String[] strs = str.split("-");
        for (int i = 0; i < strs.length; i++) {
            System.out.println(strs[i] + ",");
        }
    }
}

package test;

public class test4 {

    //  特点:长度 内容 可以变化
    //     实例方法:
    //            添加  尾部追加 中间插入
    //            删除:单个删除 区间删除
    //            转换:单个替换 区间替换
    public static void main(String[] args) {
        add();
        alter();
        remove();
    }

    public static void add() {
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append("abc");
        System.out.println("append添加结果为:" + stringBuffer);
        stringBuffer.insert(2, "123");
        System.out.println("insert添加结果为:" + stringBuffer);
    }

    public static void remove() {
        StringBuffer stringBuffer = new StringBuffer("abcdefg");
        System.out.println("删除范围1至5的结果:" + stringBuffer.delete(1, 5));
        System.out.println("删除位置2的结果:" + stringBuffer.deleteCharAt(2));
        System.out.println("清空结果:" + stringBuffer.delete(0, stringBuffer.length()));
    }

    public static void alter() {
        StringBuffer stringBuffer = new StringBuffer("abcdef");
        stringBuffer.setCharAt(1, 'p');
        System.out.println("修改指定位置结果:" + stringBuffer);
        stringBuffer.replace(1, 3, "q999q");
        System.out.println("替换指定位置字符(串)结果:" + stringBuffer);
        System.out.println("字符串反转结果为:" + stringBuffer.reverse());

    }

}

package test;

public class test5 {

    // 相同点:一串有序的字符
    //     不同点:String       StringBuffer
    //          长度内容不可变    可变
    //          重写equals方法    没重写
    //          可以使用+          不能

    public static void main(String[] args) {
//        equalsTo();
        addTo();
    }

    public static void equalsTo() {
        String str1 = new String("abc");
        String str2 = new String("abc");
        System.out.println(str1.equals(str2));
        //
        StringBuffer sb1 = new StringBuffer("abc");
        StringBuffer sb2 = new StringBuffer("abc");
        System.out.println(sb1.equals(sb2));
    }

    public static void addTo() {
        String s1 = "a";
        String s2 = "b";
        String s3 = s1 + s2;
        System.out.println(s3);

        //
        StringBuffer sb1 = new StringBuffer("a");
        StringBuffer sb2 = new StringBuffer("b");
//       StringBuffer sb3=sb1+sb2;
    }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

侬本多情。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值