第十二谈:常用类(1)

一、Object类

object类是Java中所有类的父类,Object类属于java.lang包下的类,不需要进行导包。

构造方法:Object() 无参构造方法

成员方法:

public int hashCode():返回对象的哈希码值。

public final Class getClass():获取一个类对应的Class对象。

public String toString():输出一个对象,实际上输出的是对象调用的toString()方法。

一个标准类的最终写法:

1.成员变量私有化

2.构造方法(无参/有参)

3.getXXX()和setXXX()

4.toString()

二、String类的构造方法 

/*
    String类的构造方法:
        public String()
        public String(byte[] bytes)
        public String(byte[] bytes,int offset,int length)
        public String(char[] value)
        public String(char[] value,int offset,int count)
        public String(String original)

 */
public class StringDemo2 {
    public static void main(String[] args) {
        String s7 = "hello";

        //public String()
        String s1 = new String(); // 相当于创建一个空的字符串
        System.out.println("s1: " + s1); // String类重写了toString()方法

        //public String(byte[] bytes) 将字节数组转化成字符串
        byte[] arr = {97, 98, 99, 100, 101, 102};
        String s2 = new String(arr);
        System.out.println("s2: " + s2); // "abcdef"

        //public String(byte[] bytes,int index,int length) 将字节数组的一部分转成字符串
        String s3 = new String(arr, 2, 3);
        System.out.println("s3: " + s3); //cde

        //public String(char[] value)  将字符数组转成字符串
        char[] arr2 = {'我', '爱', '中', '国'};
        String s4 = new String(arr2);
        System.out.println("s4: " + s4); //我爱中国

        //public String(char[] value,int index,int count) 将字符数组的一部分转成字符串
        String s5 = new String(arr2, 1, 2);
        System.out.println("s5: " + s5); //爱中

        //public String(String original)
        String s6 = new String("java");
        System.out.println("s6: " + s6); //java

    }
}

 三、String类中的判断功能



/*
String类中的判断功能:
    boolean equals(Object obj)
    boolean equalsIgnoreCase(String str)
    boolean contains(String str)
    boolean startsWith(String str)
    boolean endsWith(String str)
    boolean isEmpty()

 */
public class StringDemo3 {
    public static void main(String[] args) {
        String s1 = "hello WoRLd";
        String s2 = "Hello World";

        //boolean equals(Object obj) 判断两个字符串内容是否相同
        System.out.println(s1.equals(s2)); // false

        //boolean equalsIgnoreCase(String str)  判断两个字符串内容是否相同,忽略大小写比较
        System.out.println(s1.equalsIgnoreCase(s2)); // true

        //boolean contains(String str) 判断一个字符串中是否包含另一个字符串
        System.out.println(s1.contains("o World")); // false

        //boolean startsWith(String str) 判断字符串是否以某个字符串开头
        System.out.println(s1.startsWith("hew")); // false

        //boolean endsWith(String str) 判断字符串是否以某个字符串结尾
        System.out.println(s1.endsWith("Rld")); // false

        //boolean isEmpty() 判断字符串是否为空字符串
        s1 = "";

        System.out.println(s1.isEmpty()); // false
    }
}

 四、String类中的获取功能


/*
    String类中的获取功能:
        int length()
        char charAt(int index)
        int indexOf(int ch)
        int indexOf(String str)
        int indexOf(int ch,int fromIndex)
        int indexOf(String str,int fromIndex)
        String substring(int start)
        String substring(int start,int end)

 */
public class StringDemo4 {
    public static void main(String[] args) {
        String s1 = "hello WoeRLd";

        //int length() 获取字符串中的字符个数
        System.out.println(s1.length());

        //char charAt(int index) 根据索引获取索引对应的字符
        System.out.println(s1.charAt(0)); // StringIndexOutOfBoundsException

        //int indexOf(int ch) 获取字符的位置
        //101--ASCII码:e
        //判断'e'第一次出现在字符串中的位置索引
        System.out.println(s1.indexOf(200)); // -1

        //int indexOf(String str) 获取小字符串在大字符串中第一次出现的位置,返回小字符串第一个字符的位置索引
        System.out.println(s1.indexOf("o Wo"));

        //int indexOf(int ch,int fromIndex) //从fromIndex位置开始找,如果找到返回该字符在大字符串中的位置索引
        //"hello WoeRLd"
        System.out.println(s1.indexOf(101)); // 1
        System.out.println(s1.indexOf(101,4)); // 8

        //int indexOf(String str,int fromIndex)

        //String substring(int start) 字符串截取 从start索引位置截取,一直到末尾
        //"hello WoeRLd"
        System.out.println(s1.substring(3));

        //String substring(int start,int end) 子串开始于指定beginIndex并延伸到字符索引endIndex-1
        //[start,end)
        System.out.println(s1.substring(4,8));


    }
}

 五、字符串的转换功能



/*
字符串的转换功能:
    byte[] getBytes()
    char[] toCharArray()
    static String valueOf(char[] chs)
    static String valueOf(int i)
    String toLowerCase()
    String toUpperCase()
    String concat(String str)
 */
public class StringDemo5 {
    public static void main(String[] args) {
        String s1 = "我爱中国我";

        //byte[] getBytes() 将字符串转换成字节数组
        byte[] bytes = s1.getBytes();
//        System.out.println(bytes); // [B@4554617c
//        for (int i = 0; i < bytes.length; i++) {
//            System.out.println(bytes[i]);
//        }

        // char[] toCharArray() 将字符串转换成字符数组
        char[] charArray = s1.toCharArray();
//        for (int i = 0; i < charArray.length; i++) {
//            System.out.println(charArray[i]);
//        }

        //static String valueOf(char[] chs) //将字符数组转成字符串
        String s2 = String.valueOf(charArray);
        System.out.println(s1 == s2); // false

        //static String valueOf(int i)  将数值转成字符串  100-->"100"
        String s3 = String.valueOf(100);
        System.out.println(s3);

        //String toLowerCase()  转小写
        String s4 = "Hello WORLD";
        String s5 = s4.toLowerCase();
        System.out.println(s5);

        //String toUpperCase() 转大写
        System.out.println(s5.toUpperCase());

        //String concat(String str) 字符串拼接
        System.out.println("s5: " + s5);
        String s6 = "s5: " + s5;
        String s7 = "s5: ".concat(s5);
        System.out.println(s6);
        System.out.println(s7);


    }
}

六、替换、去空格、比较



/*
    替换功能
        String replace(char old,char new)
        String replace(String old,String new)
    去除字符串两空格
        String trim()
    按字典顺序比较两个字符串
        int compareTo(String str)
        int compareToIgnoreCase(String str)

 */
public class StringDemo6 {
    public static void main(String[] args) {
        String s1 = "Hello WorLD";

        System.out.println(s1);
        //String replace(char old,char new)  使用新字符替换旧字符
        System.out.println(s1.replace('o', '_'));

        //String replace(String old,String new) 使用字符串替换旧字符串
        System.out.println(s1.replace("ll","非法正义"));

        //String trim() 去除字符串两边的空格
        String s2 = "  Hello WorLD  ";
        System.out.println(s2.trim());
        System.out.println(s2);


        //比较两个字符串内容是否相同,在java中有两种方法可以实现
        //boolean equals(String s)
        String s3 = "hello";
        String s4 = "world";
        System.out.println(s3.equals(s4));
        //int compareTo(String str)
        System.out.println(s3.compareTo(s4)); // -15
        String s5 = "hel";
        System.out.println(s3.compareTo(s5)); // 2
        String s6 = "hello";
        System.out.println(s3.compareTo(s6)); // 0
    }
}

七、StringBuffer(添加,删除,替换,反转)

/*
    添加功能
        public StringBuffer append(String str)
        public StringBuffer insert(int offset,String str)
    删除功能
        public StringBuffer deleteCharAt(int index)
        public StringBuffer delete(int start,int end)
    替换功能
        public StringBuffer replace(int start,int end,String str)
    反转功能
        public StringBuffer reverse()

 */
public class StringBufferDemo2 {
    public static void main(String[] args) {
        StringBuffer sb1 = new StringBuffer(); // 16
        System.out.println("sb1: " + sb1);

        System.out.println("---------------------------------");
        //public StringBuffer append(String str) 追加
        //无论添加的是什么类型的元素值,只要进入到StringBuffer中,它就是一个一个的普通字符
        sb1.append("java")
                .append(100)
                .append(12.34)
                .append(true);
        System.out.println("sb1: " + sb1);
        //java10hello012.34true

        //public StringBuffer insert(int index,String str) 在StringBuffer容器中指定位置添加字符串
        sb1.insert(6,"hello");
        System.out.println("sb1: " + sb1);
//        System.out.println(sb1.capacity()); // 34
//        System.out.println(sb1.length());

        //public StringBuffer deleteCharAt(int index) 删除指定位置索引上的字符
//        sb1.deleteCharAt(10);
//        System.out.println("sb1: " + sb1);

        //public StringBuffer delete(int start,int end) [start,end)
        //java10hello012.34true
//        sb1.delete(8,14);
//        System.out.println("sb1: " + sb1);

        //public StringBuffer replace(int start,int end,String str) [start,end)
        //java10hello012.34true
        sb1.replace(8,12,"非法正义");
        System.out.println("sb1: " + sb1);

        //public StringBuffer reverse() 反转
        StringBuffer sb2 = new StringBuffer("abcdef");
        System.out.println("sb2: "+sb2);
        sb2.reverse();
        System.out.println("sb2: "+sb2);


    }
}

八、StringBuffer截取功能


/*
    截取功能
    public String substring(int start)
    public String substring(int start,int end)

 */
public class StringBufferDemo3 {
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer("hello world");
        System.out.println("sb: " + sb);
        System.out.println("---------------------------");
//        String s1 = sb.substring(4);
//        System.out.println("sb: " + sb);
//        System.out.println("s1: " + s1);

//        public String substring(int start,int end)
        String s2 = sb.substring(4, 8);
        System.out.println("sb: " + sb);
        System.out.println("s2: " + s2);

    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值