Java08基础

Java08 常用API&String类&StringBuilder类

一、常用API

API(Application Programming Interface)应用程序编程接口,即别人写好的代码。

学习别人已经写好的代码, 使用的是 API 帮助文档

♥API帮助文档的使用流程♥

1. 在索引位置搜索自己要查看的类
​
        Q: 我怎么知道该搜哪一个类?
        A: 常用的类, 在课程中都会讲解到.   
        
2. 看包
        目的: 看使用的类, 是否在java.lang包 (核心包)
                在 : 不需要编写import导包代码
                不在 : 必须编写import导包代码
                
3. 看该类的介绍
        目的: 知道这个类能够解决什么问题.
        
4. 看该类的构造方法
        目的: 能够根据构造方法, 将对象创建出来
        
5. 看该类的成员方法(方法摘要)
        1. 方法名
        2. 参数
        3. 返回值
        4. 介绍
        
        
----------------------------------------------------------------------------
​
目标: 能够根据帮助文档的使用流程, 查看课上已经讲解过的类和方法.      
​
----------------------------------------------------------------------------

二、String类

String类代表字符串

1、String类的特点

  • Java中所有双引号字符串都是String类的对象,可以理解为String类多了一种创建对象的方式

    String s = "abc";   //可以理解为String类多了一种创建对象的方式
    String s1 = new String();
  • 字符串一旦被创建,就不可改变。因为String类中没有提供set方法修改内容,想要修改只能使用新的字符串对象做替换。

    String s = "abc";
    s = "def";
    System.out.printIn(s);    //结果为def
  • 字符虽然不可改变,但是其内容可以被共享

    -----字符串常量池(StringTable):当我们使用 双引号创建字符串对象时,会检查该数据在串池当中是否存在

    • 不存在:创建新的

    • 存在:复用已有的

    String s1 = "abc";
    String s2 = "abc";
    System.out.println(s1 == s2);  // true
  • 字符串和字符数组之间允许相互转换

     char[] chs = {'a','b','c'};     <----------->    String s = "abc";
    ​
                1. 字符串数组转换字符串
                    
                    String s = new String(chs);
    ​
                2. 字符串拆分为字符数组
                    
                    char[] chs = s.toCharArray();

2、String类常见的构造方法

  • public String()创建空白字符串,不含任何内容

    String s1 = new String();
    System.out.printIn(s1);     //控制台输出空白字符串,鼠标无法选中
  • public String(String original)根据传入的字符串,创建字符串对象

    char[] chs = {'a','b','c'};
    String s2 = new String(chs);
    System.out.printIn(s2);     //输出abc
  • public String(char[] chs)根据字符数组,创建字符串对象

    String s3 = new String("abc");
    System.out.printIn(s3);     // 输出abc

--------Q:创建字符串对象的两种方式有什么区别?----------

A:双引号直接创建,在StringTbale中进行管理;通过构造方法创建,在堆内存中有自己独立的内存空间。

3、String类常见面试题

  • 理解双引号创建的字符串都在串池中保管

  • 理解字符串对象两种创建方式的区别

  • 理解字符串拼接原理

  • 理解Java的自变量优化机制

4、String类用于比较的方法

  • public boolean equals(String anObject)

    作用:字符串之间进行内容的比较, 返回true, false

    public class StringTest {
        public static void main(String[] args) {
            String username = "admin";
            String password = "123456";
    ​
            Scanner sc= new Scanner(System.in);
    ​
            for (int i = 1; i <=3 ; i++) {
                System.out.println("请输入用户名和密码:");
                String inputUsername = sc.next();
                String inputPassward = sc.next();
    ​
                if(username.equals(inputUsername) && password.equals(inputPassward)){
                    System.out.println("登陆成功!");
                    break;
                }else{
                    if(i==3){
                        System.out.println("今日次数已达上限!");
                    }else{
                        System.out.println("登陆失败,您还剩余"+(3-i)+"次机会");
                    }
                }
    ​
            }
        }
    }

  • public boolean equalsIgnoreCase(String anotherString)

    作用: 字符串之间进行内容的比较, 返回true, false (不考虑大小写),常用于校验验证码

5、String类的截取方法

public String substring(int beginIndex) : 根据传入的索引, 截取字符串, 截取到字符串的末尾, 返回新的字符串
public String substring(int beginIndex, int endIndex)  : 
                            根据传入的开始和结束索引, 截取字符串 (包含头, 不包含尾), 返回新的字符串

6、String类的替换方法

public String replace(String s1,String s2)替换,使用参数2替换参数1

7、字符串转字符数组的方法

public char[] toCharArray() : 将此字符串转换为一个新的字符数组

8、字符串用于遍历的方法

public char charAt(int index) : 根据索引找字符
public int length() : 返回字符串的长度(字符的个数)

9、字符串用于切割的方法

public String[] split(String regex) : 根据传入的字符串作为规则, 切割当前字符串, 并返回字符串数组.
​
            注意: 指定切割规则的时候, 如果没有按照预想的切割出数据
                    可以在规则前面, 加入 \\

三、StringBuilder类

可以大幅度提高字符串的操作效率,如涉及到字符串拼接次数过于频繁的请求,一定使用StringBuilder!!!

1、StringBuilder的介绍

  • StringBuilder是字符串的缓冲区(容器),这个容器可以存储任意数据类型,但是数据进入这个容器,全部变成字符串

  • StringBuilder是一个可变的字符序列

2、StringBuilder的常用构造方法

public StringBuilder() : 创建一个空白的字符串缓冲区, 其初始容量为16个字符
    
public StringBuilder(String str) : 创建一个字符串缓冲区 (容器), 容器在被创建出来的时候, 就会带有参数数据.

3、StringBuilder的常用成员方法

  • public StringBuilder append(任意类型)

    作用:向缓冲区中, 添加数据, 返回自己这个对象本身

sb.append("红色").append("绿色").append("蓝色");
//链式编程: 如果一个方法调用结束, 返回的结果是对象, 就可以继续向下调用方法.
  • public StringBuilder reverse()

    作用:将缓冲区中的内容进行反转, 返回自己这个对象本身

  • public int length()

    作用:返回字符的个数

  • public String toString()

    作用:将缓冲区中的内容转换为字符串, 并返回

4、String和StringBuilder的转换

  • String转 StringBuilder

     场景: 手里的数据是一个String, 但是我要调用的方法, String没有, StringBuilder有, 转换后再调用 !!
    • 方法一:使用StringBuilder的空参构造方法, 创建对象, 调用append方法完成添加

        String s = "abc";
        StringBuilder sb = new StringBuilder();
        sb.append(s);
    • 方法二:使用StringBuilder的带参构造方法

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

    场景: 手里的数据是一个StringBuilder, 但是我要调用的方法, StringBuilder没有, String有, 转换后再调用 !!
    • 方法:调用toString

       StringBuilder sb = new StringBuilder();
       String s = sb.toString();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值