小白学习java第13天 Object String StringBuffer

1. Object类的getclass()方法

  • 语法

    public class Demo01 {
           
    	public static void main(String[] args) {
           
    		//创建Person对象
    		Person per = new Person();
    		//获取per的运行时对象
    		Class class1 = per.getClass();
    		System.out.println(class1);
    		//获取全限定类名
    		String className = class1.getName();
    		System.out.println(className);
    		
    		Person per1 = new Person();
    		Class class2 = per1.getClass();
    		System.out.println(class1 == class2);
    	}
    }
    class Person{
           
    	
    }
    
    • 总结
      • 同一个类的不同对象运行时对象的地址相同

2. Object类的toString方法

public class Demo02 {
     
	public static void main(String[] args) {
     
		//重写之前tostring返回的是 实例名称@一个16进制的哈希码值
		//重写之后
		Person per = new Person("问号",18);
		System.out.println(per.toString());
	}
}

3. Object类的 equals方法

public class Demo03 {
     
	public static void main(String[] args) {
     
		Person per1 = new Person("问号",18);
		Person per2 = new Person("海风", 20);
		System.out.println(per1.equals(per2));
		Person per3 = new Person("问号",18);
		Person per4 = new Person("问号", 18);
		System.out.println(per3.equals(per4));
	}
}
  • 默认比较对象的地址值
  • 要想比较参数值 要进行方法的重写

4. equals方法和 == 的区别

  • 区别

    • ==
      • 基本数据类型
        • 比较值
      • 引用数据类型
        • 比较地址
    • equals
      • 基本数据类型
        • 不能用
      • 引用数据类型
        • 默认比较地址 可以重写比较值

    5.String类概述

  • 概述

    • 是一个字符串
    • 字符串是常量 他们的值在创建后不能更改
    • “abc”也是字符串对象

6. String类构造器

  • 方法说明

    public String()
    
    • 创建一个空字符串
    public String(char[] value)
    
    • 创建一个字符串,内容由字符数组value提供
    public String(char[] value,int offset,int count)
    
    • 创建一个字符串,内容由字符数组value提供一部分
      • value:源字符数组
      • offset:起始位置
      • count:个数
    public String(String original)
    
    • 创建一个字符串,内容为original

7. String类的判断功能

public class Demo06 {
	public static void main(String[] args) {
		String str = "abcd";
		//判断两个字符串是否一致
		System.out.println(str.equals("abcd"));
		//判断两个字符串是否一致忽略大小写
		System.out.println(str.equalsIgnoreCase("ABCD"));
		//判断字符串的首字母是不是指定字符
		System.out.println(str.startsWith("a"));
		//判断字符串的尾字母是不是指定字符
		System.out.println(str.endsWith("d"));
		//判断指定字符串是否被包含在str中
		System.out.println(str.contains("ab"));
		
	}
}

9. String类的获取功能

public class Demo07 {
     
	public static void main(String[] args) {
     
		String str = "abacdefg";
		//查询str的长度
		System.out.println(str.length());
		//查询指定位置的字符
		System.out.println(str.charAt(2));
		//查询指定ASCII码第一次出现的位置的元素
		System.out.println(str.indexOf(98));
		//查询指定字符出现的位置
		System.out.println(str.indexOf("a"));
		//查询从指定位置出发第一个指定字符出现的位置
		System.out.println(str.indexOf("a", 1));
		//查询最后一个出现指定字符的位置
		System.out.println(str.lastIndexOf("a"));
		//从指定的整数处开始截取 一直到末尾
		System.out.println(str.substring(1));
		//从指定的整数处开始截取 一直到另一个整数处
		System.out.println(str.substring(0, 6));
	}
}

10. 字符串的遍历

public class Demo10 {
     
	public static void main(String[] args) {
     
		StringBuffer sb1 = new StringBuffer();
		sb1.append("asdasdzxc");
		for(int i = 0; i < sb1.length(); i++) {
     
			System.out.println(sb1.charAt(i));
		}
	}
}

11. String类的转换和替换功能

public class Demo08 {
     
	public static void main(String[] args) {
     
		String str = "哎auija";
		char[] str1 = {
     'a', 'c', 'w', 'o'};
		//将字符串转换成字节数组
		System.out.println(str.getBytes());
		//将字符串转换成字符数组
		System.out.println(str.toCharArray());
		//将任意类型转换成字符串型
		System.out.println(str.valueOf(str1));
		System.out.println(str.valueOf(5676321));
		//将字符串全部转换成小写
		System.out.println(str.toLowerCase());
		//将字符串全部转换成大写
		System.out.println(str.toUpperCase());
		//将一个已有的字符串转换成一个指定的字符串
		System.out.println(str.replace("哎", "****"));
		//去除字符串里的空格
		System.out.println("     a     ".trim());
		System.out.println(str);
	}
}

13. StringBuffer类

  • 概述
    • 线程安全的可变字符序列
  • 和String的区别
    • String是一个不可变的字符序列
    • StringBuffer是一个可变的字符序列
  • 为什么要使用StringBuffer
    • StringBuffer底层使用缓冲思想,大大增加了字符序列的操作效率

14. String Buffer类的构造方法

public class Demo09 {
     
	public static void main(String[] args) {
     
		//StringBuffer的无参构造
		StringBuffer sb1 = new  StringBuffer();
		//打印容量
		System.out.println(sb1.capacity());
		//创建StringBuffer对象指定容量
		StringBuffer sb2 = new  StringBuffer(100);
		System.out.println(sb2.capacity());
		StringBuffer sb3 = new  StringBuffer();
		sb3.append('a');
		System.out.println(sb3.capacity());
		
	}
}

15. StringBuffer的添加和删除功能

public class Demo12 {
     
	public static void main(String[] args) {
     
		StringBuffer sb1 = new StringBuffer();
		//添加
		sb1.append("asdzxc");
		//删除
		sb1.deleteCharAt(0);
		System.out.println(sb1);
		
		sb1.delete(0, 2);
		System.out.println(sb1);
	}
}

16. StringBuffer的替换和反转功能

public class Demo13 {
     
	public static void main(String[] args) {
     
		StringBuffer sb1 = new StringBuffer();
		sb1.append("asdzxc");
        //替换
		sb1.replace(0, 3, "NML");
		System.out.println(sb1);
		//反转
		sb1.reverse();
		System.out.println(sb1);
	}
}

你可能感兴趣的:(小白学习java,java,Object,java)