蒋振飞的博客 - Java入门04:常用API基础   
正在加载蒋振飞的博客...
V3.0
蒋振飞的博客

Java入门04:常用API基础

发布时间: 2018年08月18日 发布人: 蒋振飞 热度: 459 ℃ 评论数: 0

一、String类

1.String类概述

    ①"abc"是String类的一个实例,或者成为String类的一个对象。
    ②字符串字面值"abc"也可以看成是一个字符串对象。
    ③字符串是常量,一旦被赋值,就不能被改变。
    ④字符串本质是一个字符数组 。

2.String类的构造方法

    ①String(String original):把字符串数据封装成字符串对象。
    ②String(char[] value):把字符数组的数据封装成字符串对象。
    ③String(char[] value, int index, int count):把字符数组中的一部分数据封装成字符串对象。

public class StringDemo {
    public static void main(String[] args) {
        // 方式1
        // String(String original):把字符串数据封装成字符串对象
        String s1 = new String("hello");
        System.out.println("s1:"+s1);
        System.out.println("---------");
       
        // 方式2
        // String(char[] value):把字符数组的数据封装成字符串对象
        char[] chs = {'h','e','l','l','o'};
        String s2 = new String(chs);
        System.out.println("s2:"+s2);
        System.out.println("---------");
       
        // 方式3
        // String(char[] value, int index, int count):把字符数组中的一部分数据封装成字符串对象
        // String s3 = new String(chs,0,chs.length);
        String s3 = new String(chs,1,3);
        System.out.println("s3:"+s3);
        System.out.println("---------");
       
        // 方式4
        String s4 = "hello";
        System.out.println("s4:"+s4);
    }
}

3.String类的判断功能

    ①boolean equals(Object obj):比较字符串的内容是否相同。
    ②boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写。
    ③boolean startsWith(String str):判断字符串对象是否以指定的str开头。
    ④boolean endsWith(String str):判断字符串对象是否以指定的str结尾。

public class StringDemo {
    public static void main(String[] args) {
        //创建字符串对象
        String s1 = "hello";
        String s2 = "hello";
        String s3 = "Hello";
       
        //boolean equals(Object obj):比较字符串的内容是否相同
        System.out.println(s1.equals(s2));
        System.out.println(s1.equals(s3));
        System.out.println("-----------");
       
        //boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
        System.out.println(s1.equalsIgnoreCase(s2));
        System.out.println(s1.equalsIgnoreCase(s3));
        System.out.println("-----------");
       
        //boolean startsWith(String str):判断字符串对象是否以指定的str开头
        System.out.println(s1.startsWith("he"));
        System.out.println(s1.startsWith("ll"));
    }
}

4.String类的获取功能

    ①int length():获取字符串的长度,其实也就是字符个数。
    ②char charAt(int index):获取指定索引处的字符。
    ③int indexOf(String str):获取str在字符串对象中第一次出现的索引。
    ④String substring(int start):从start开始截取字符串。
    ⑤String substring(int start,int end):从start开始,到end结束截取字符串。包括start,不包括end。

public class StringDemo {
    public static void main(String[] args) {
        //创建字符串对象
        String s = "helloworld";
       
        //int length():获取字符串的长度,其实也就是字符个数
        System.out.println(s.length());
        System.out.println("--------");
       
        //char charAt(int index):获取指定索引处的字符
        System.out.println(s.charAt(0));
        System.out.println(s.charAt(1));
        System.out.println("--------");
       
        //int indexOf(String str):获取str在字符串对象中第一次出现的索引
        System.out.println(s.indexOf("l"));
        System.out.println(s.indexOf("owo"));
        System.out.println(s.indexOf("ak"));
        System.out.println("--------");
       
        //String substring(int start):从start开始截取字符串
        System.out.println(s.substring(0));
        System.out.println(s.substring(5));
        System.out.println("--------");
       
        //String substring(int start,int end):从start开始,到end结束截取字符串
        System.out.println(s.substring(0, s.length()));
        System.out.println(s.substring(3,8));
    }
}

5.String类的转换功能

    ①char[] toCharArray():把字符串转换为字符数组。
    ②String toLowerCase():把字符串转换为小写字符串。
    ③String toUpperCase():把字符串转换为大写字符串。

public class StringDemo {
    public static void main(String[] args) {
        //创建字符串对象
        String s = "abcde";
       
        //char[] toCharArray():把字符串转换为字符数组
        char[] chs = s.toCharArray();
        for(int x=0; x<chs.length; x++) {
            System.out.println(chs[x]);
        }
        System.out.println("-----------");
       
        //String toLowerCase():把字符串转换为小写字符串
        System.out.println("HelloWorld".toLowerCase());
        //String toUpperCase():把字符串转换为大写字符串
        System.out.println("HelloWorld".toUpperCase());
    }
}

6.String类的其它功能

    ①去除字符串两端空格:String trim()
    ②按照指定符号分割字符串:String[] split(String str)
    ③将字符串倒序输出:reverse(String)

public class StringDemo {
    public static void main(String[] args) {
        // 创建字符串对象
        String s1 = "helloworld";
        String s2 = "helloworld";
        String s3 = "hello world";
        System.out.println("---"+s1+"---");
        System.out.println("---"+s1.trim()+"---");
        System.out.println("---"+s2+"---");
        System.out.println("---"+s2.trim()+"---");
        System.out.println("---"+s3+"---");
        System.out.println("---"+s3.trim()+"---");
        System.out.println("-------------------");
                
        String result = reverse(s1);
	    // 输出结果
	    System.out.println("result:"+result);

        // String[] split(String str)
        // 创建字符串对象
        String s4 = "aa,bb,cc";
        String[] strArray = s4.split(",");
        for(int x=0; x<strArray.length; x++) {
            System.out.println(strArray[x]);
        }
    }
}

二、StringBuilder类

1.StringBuilder类概述

    1) StringBuilder

        是一个可变的字符串,字符串缓冲区类。

    2) String和StringBuilder的区别

        ①String的内容是固定的。
        ②StringBuilder的内容是可变的。

2.+=拼接字符串耗费内存原因

    每次拼接都会产生新的字符串对象,而利用StringBuilder来拼接字符串自始至终用的都是同一个StringBuilder容器。

3.StringBuilder类的常用方法

    1) 构造方法

        ①StringBuilder()  。

    2) 成员方法
        ①public int capacity():返回当前容量 (理论值)。
        ②public int length():返回长度(已经存储的字符个数)。
        ③public StringBuilder append(任意类型):添加数据,并返回自身对象。
        ④public StringBuilder reverse():反转功能。

public class StringBuilderDemo {
    public static void main(String[] args) {
        //创建对象
        StringBuilder sb = new StringBuilder();
        System.out.println("sb:"+sb);
        System.out.println("sb.capacity():"+sb.capacity());
        System.out.println("sb.length():"+sb.length());
        
        //链式编程
        sb.append("hello").append("world").append(true).append(100);
        System.out.println("sb:"+sb);
       
        //public StringBuilder reverse()
        sb.reverse();
        System.out.println("sb:"+sb);
    }
}

4.StringBuilder和String通过方法完成相互转换

public class StringBuilderTest {
    public static void main(String[] args) {
        //StringBuilder -- String
        /*
        StringBuilder sb = new StringBuilder();
        sb.append("hello").append("world");
       
        String s = sb.toString();
        System.out.println(s);
        */
       
        //String -- StringBuilder
        String s = "helloworld";
        StringBuilder sb = new StringBuilder(s);
        System.out.println(sb);
    }

打赏 蒋振飞

取消

感谢您的支持,我会继续努力的!

扫码支持
一分也是爱     一块不嫌多

点击 支付宝 或 微信 打赏蒋振飞

打开支付宝扫一扫,即可进行扫码打赏哦

评论列表