Java学习笔记String类

我的Java学习笔记

String类



String类,StringBuffer类,StringBuilder类

1.String类

1.1 如何创建String对象
public static void main(String[] args) {
		//直接创建并且赋值
		String s="1234";  
		//使用String类构造方法实例化对象
		String s2 = new String("1234");
		//使用无参构造实例化对象
		String s3 = new String();
		//把char类型的数组转成对象
		char [] cs = {'z','b','c'};
		String s4 = new String(cs);
	}
1.2 String类中常用的方法

public class StringTest{
    public static void main(String[] args){
        //trim()
        String s="   zs ss ";
		String trim = s.trim();
		System.out.println(s);
		System.out.println(trim);
        //总结:trim()去除首位空格,返回去除空格后的字符串
        
        //length()
        String s="abcd";
		int length = s.length();
		System.out.println(length);
        //总结:length()获取字符换的长度 返回值类型是int
        
        //indexOf(int ch)
        String s="abcd";
		int indexOf = s.indexOf(97);
		System.out.println(indexOf);
        //总结:indexof(int ch) 参数是一个数值,此方法会根据ASCII码表把ch转成字符。在字符串中查找
        //该字符串的位置。如果存在返回索引,如果不存在返回-1
        
        //indexOf(String str)  常用
        String s="abcd";
		int indexOf = s.indexOf("z");
		System.out.println(indexOf);
        //总结:indexOf(String str) 查找str在字符串中的索引位置,返回结果同上
        
        //indexOf(int ch,int index)
        String s="abcd";
		int indexOf = s.indexOf(98, 2);
		System.out.println(indexOf);
        //总结:indexOf(int ch,int index) 从index位置开始查找ch对应字符的位置。返回直接同上
        
        //index(String str,int index)
        String s="abcdbcb";
		int indexOf = s.indexOf("b", 0);
		System.out.println(indexOf);
        //总结:indexOf(String str,int index) 从index位置开始查找str对应字符的位置
        
        //isEmpty() 
        String s="";
		boolean empty = s.isEmpty();
		System.out.println(empty);
        //isEmpty()  判断字符串是否为空。为空返回true 否则返回false
        
        //spilt(String str)
        String s="abcabcabc";
		String[] split = s.split("b");
		for (String string : split) {
			System.out.println(string);
		}
        //spilt(String str) 以str为节点分割整个字符串,返回分割后String类型数组
        
        //subString(int index)
        String s="abcabcabc";
		String substring = s.substring(5);
		System.out.println(substring);
        //subString(int index)  以index位置开始截取一直到字符串结束,包括当前索引位置
        
        //subString(int sindex,int eindex)
        String s="abcabcabc";
		String substring = s.substring(2, 5);
		System.out.println(substring);
        //subString(int sindex,int eindex) 从sindex截取到eindex。包前不包后
        
        //replace(char oldc,char newc)
        String s="abcabcabc";
		String replace = s.replace('b', 'x');
		System.out.println(replace);
        //replace(char oldc,char newc) 用新的字符替换所有旧的字符
        
        //replace(String olds,String news)
        String s="abcabcabc";
		String replace = s.replace("abc", "x");
		System.out.println(replace);
        //replace(String olds,String news) 用新的字符串替换所有旧的字符串
        
        //replaceFirst(String olds,String news)
        String s="abcabcabc";
		String replace = s.replaceFirst("abc", "x");
		System.out.println(replace);
        //replaceFirst(String olds,String news)  用新的字符串替换第一次出现旧的字符串
        
        //toUpperCase()
        String s="abcabcabc";
		String replace = s.toUpperCase();
		System.out.println(replace);
        //总结:toUpperCase() 将字符串中的所有字符全部大写
        
        //toLowerCase()
        String s="ABCABCABCA";
		String replace = s.toLowerCase();
		System.out.println(replace);
        //toLowerCase()   将字符串中的所有字符全部小写
         
        //lastIndexOf()
        String s="ABCABCABCA";
		int i = s.lastIndexOf("B");
		System.out.println(i);
        //lastIndexOf()  存在四个方法,用法和indexOf()一样 区别是last是从字符串尾部开始查找
        
        //charAt(int index)
        String s="ABCABCABCA";
		char charAt = s.charAt(2);
		System.out.println(charAt);
        //charAt(int index)  返回指定索引位置的字符
    }
}

2.StringBuffer类

StringBuffer就是一个线程安全,内容可变的字符串。效率是String高。

2.1 实例化StringBuffer对象
public class StringBufferTest {
	public static void main(String[] args) {
		//实例化StringBuffer对象
		//1. 创建一个默认长度的StringBuffer。默认长度为16个字符
		StringBuffer sb = new StringBuffer();
		//2. 创建一个长度为5的StringBuffer
		StringBuffer sb2 = new StringBuffer(5);
		//3. 创建一个有值的StringBuffer
		StringBuffer sb3 = new StringBuffer("1234");
		System.out.println(sb3);
	}
}
2.2 StringBuffer中常用的方法
public static void main(String[] args) {
	StringBuffer sb = new StringBuffer("1234");
	//在StringBuffer中不可以使用+用来拼接
	//append(int i) 把int类型的数据追加到sb对象中
	sb.append(5);
	sb.append("zzz");
	System.out.println(sb);
}
//总结 append(obj obj) 把其他类型的数据(基本数据类型,char类型数据,String,StringBuufer)的数据追加到StringBuffer对象后

public static void main(String[] args) {
		StringBuffer sb = new StringBuffer("1234");
		// 1.对"添加的"进行截取  0,1 代表从0开始截取   截取长度为1
		// 2.把截取后的数据追加到StringBuufer对象后 
		sb.append("添加的", 0, 2);
		System.out.println(sb);
}
// 总结 append(String s,int i,int j)

public static void main(String[] args) {
		StringBuffer sb = new StringBuffer("1234");
		sb.deleteCharAt(2);
		System.out.println(sb);
}
//总结 deleteCharAt(int index) 删除指定索引位置的值

public static void main(String[] args) {
		StringBuffer sb = new StringBuffer("abcdefg");
		sb.setCharAt(5, 'X');
		System.out.println(sb);
	}
//setCharAt(int index,char ch) 替换指定位置的字符

public static void main(String[] args) {
		StringBuffer sb = new StringBuffer("01234");
		sb.delete(1, 3);
		System.out.println(sb);
}
//总结 delete(int sindex,int eindex) 从sindex开始删除到eindex。包前不包后

public static void main(String[] args) {
		StringBuffer sb = new StringBuffer("01234");
		sb.insert(1, "张三");
		System.out.println(sb);
}
//总结 insert(int index,obj obj) 把obj的数据插入到指定的位置(index的索引位置)

public static void main(String[] args) {
		StringBuffer sb = new StringBuffer("01234");
		// 1.对指定的字符串进行截取 包前不包后
		// 2.把截取的数据插入到指定的位置
		sb.insert(2, "我是大帅哥", 0, 1);
		System.out.println(sb);
}
//总结 insert(int iindex,String s,int sindex,int eindex)

public static void main(String[] args) {
		StringBuffer sb = new StringBuffer("abcdefg");
		sb.reverse();
		System.out.println(sb);
}
//reverse() 反转字符的位置

public static void main(String[] args) {
		StringBuffer sb = new StringBuffer("abcdefg");
		String s = sb.toString();
		System.out.println(s);
}
//toString() 把StringBuffer转换成String对象

3.StringBuilder类

StringBuilder是一个线程不安全,内容可变的字符串。效率比StringBuffer高。

使用方式和StringBuufer一样

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值