乐趣区

关于java:JavaSE学习笔记Day08

JavaSEDay08 总结笔记

01-API 介绍

  • API : 应用程序编程接口

    • 简略了解 : API 就是他人写好的类
    • 指标 : 学习他人写好的类, 怎么用, 有哪些办法是咱们罕用的.
  • 留神 :

    • API 并不是 Java 独有的货色
  • API 帮忙文档的应用 :
1. 在索引的地位搜寻本人要查看的类

2. 看包
        目标: 查看是否是 java.lang(外围包)
                    是 : 应用的时候, 不须要 import 导包代码
                    不是 : 应用的时候, 必须编写 import 导包代码
                    
3. 看这个类的介绍
        目标: 明确这个类的作用
        
4. 看这个类的构造方法
        目标: 可能依据构造方法, 创立出该类的对象
        
5. 看这个类的成员办法

        1) 办法名
        2) 参数
        3) 返回值
        4) 介绍 

02-String 类的特点

1. Java 程序中, 所有双引号字符串, 都是 String 类的对象.

2. 字符串一旦被创立, 就 [不可扭转]
                        内容不可扭转, 要想扭转, 只能用新的对象做替换.
                        
                        String s = "abc";
                        s = "def";                    // 这里只是让 s 变量, 记录了新的字符串对象
                                                    // 原来 "abc", 内容基本没有扭转
                        System.out.println(s);        // def
                        
3. 字符串尽管不可扭转, 然而能够被共享

                        字符串常量池:
                                
                                    当应用双引号创立字符串对象的时候.
                                    会查看该数据在常量池中是否存在
                                            不存在: 创立新的
                                            存在: 复用
                                            
4. 字符串和字符数组之间容许互相转换


            char[] chs = {'a','b','c'};  ------->  String s = new String(chs);
            
            String s = "itheima";  ------> char[] chs = s.toCharArray();

03-String 类常见构造方法

1. public String() : 创立一个空白的字符串对象

2. public String(char[] chs) : 依据传入的字符数组, 来创立字符串对象

3. public String(String str) : 依据传入的字符串, 来创立字符串对象

        -> String s = new String("abc");
        -> 面试题: 这一句代码, 实际上创立了 2 个对象
                    1. new 进去
                    2. "abc" 在常量池中
                    
-----------------------------------------------------------

今后创立字符串对象的形式, 一般来说, 都是双引号间接创立

String s = "abc";

04- 创立 String 对象的两种形式

  • 双引号间接创立 : 字符串常量池中保护
  • 构造方法 new 进去 : 堆内存中, 有本人独立的内存空间.
package com.itheima.test;

public class StringTest1 {
    /*
        看程序说后果
     */
    public static void main(String[] args) {

        String s1 = "abc";
        String s2 = "a" + "b" + "c";

        System.out.println(s1 == s2);

    }

    private static void method3() {
        String s1 = "abc";
        String s2 = "ab";
        String s3 = s2 + "c";

        System.out.println(s1 == s3);
    }

    private static void method2() {
        String s1 = "abc";
        String s2 = new String("abc");

        System.out.println(s1 == s2);
    }

    private static void method1() {
        String s1 = "abc";
        String s2 = "abc";

        System.out.println(s1 == s2);
    }
}

05-String 类的罕用成员办法

  • String 类用于比拟的办法 :
public boolean equals(String anObject) : 字符串之间做内容的比拟, 返回 true, false
public boolean equalsIgnoreCase(String anotherString) : 字符串之间做内容的比拟, 返回 true, false (疏忽大小写)
  • String 字符串转换为字符数组的办法 :
public char[] toCharArray() : 将字符串拆分为字符数组并返回.
  • String 类用于遍历办法 :
public char charAt(int index) : 依据传入的索引, 获取对应的字符
public int length() 返回此字符串的长度 
  • String 类用于截取的办法 :
public String substring(int beginIndex)  :  依据传入的索引截取字符串, 截取到字符串的开端
public String substring(int beginIndex, int endIndex)  :  依据传入的开始和完结索引, 截取字符串
                                                                            (蕴含头, 不蕴含尾)

留神: 返回新的字符串, 千万别遗记接管 !!!
  • String 类用于替换的办法 :
public String replace(String target, String replacement) :

                        参数 1: 原值
                        参数 2: 新值 
  • String 类用于切割的办法 :
public String[] split(String regex) : 依据传入的字符串, 作为规定, 切割以后字符串, 返回字符串数组.

倡议: 今后在指定规定的时候, 尽量以 \\ 为结尾 

06-StringBuilder 介绍

  • 指标 : 进步字符串的操作效率

    • 倡议 : 如果字符串的拼接操作 , 超过了 5 次, 倡议换成 StringBuilder 来做
  • 介绍 :

    • 可变的字符序列
    • StringBuilder 是字符串缓冲区 (容器) , 容器中能够增加任意数据类型, 然而数据只有进入容器, 全副变成字符串

07-StringBuilder 罕用构造方法

public StringBuilder() :  创立一个空白的字符串缓冲区 ( 容器), 其初始容量为 16 个字符.

public StringBuilder(String s) : 创立一个字符串缓冲区 (容器), 容器在被创立好, 就带有参数的数据.

08-StringBuilder 罕用成员办法

public StringBuilder append(任意类型) : 向缓冲区中增加数据, 返回的是对象本人自身
    
        StringBuilder sb = new StringBuilder();
        // 链式编程: 一个办法调用完结后, 如果返回的是对象, 就能够持续调用办法.
        sb.append("红色").append("蓝色");
    
public StringBuilder reverse()  : 将缓冲区中的数据, 进行反转, 返回的是对象本人自身
    
public int length() : 返回缓冲区的长度
    
public String toString() : 将缓冲区中的数据, 转换为字符串类型并返回.

String – StringBuilder 转换

1. String ----> StringBuilder

        应用场景: 我手里是 String, 我要调用的办法, String 没有, 然而 StringBuilder 有, 转换再调用.

        A : 间接将 String 字符串, 传入 StringBuilder 的构造方法中

                String s = "abc";
                StringBuilder sb = new StringBuilder(s);

        B : 应用 StringBuilder 的空参构造方法, 随后 append 进行增加

                String s = "abc";
                StringBuilder sb = new StringBuilder();
                sb.append(s);


2. StringBuilder ----> String

        应用场景: 我手里是 StringBuilder, 然而要调用的办法, StringBuilder 没有, String 有, 转换再调用.

        A:  调用 StringBuilder 的 toString 办法.

                StringBuilder sb = new StringBuilder("abc");
                String result = sb.toString();
退出移动版