第27天学习打卡

String 类

成员方法

int length():

​ 获取当前字符串的长度

char charAt(int index):

​ 获取指定索引位置的字符

int indexOf(String):

​ 获取指定字符(串)第一次出现的索引

int lastIndexOf(String):

​ 获取指定字符(串)最后一次出现的索引

String substring(int):

​ 获取指定索引位置(含)之后的字符串

String substring(int, int):

​ 获取从索引start位置(含)起止索引end位置(不含)的字符串

image-20210204185627287

package cn.itcast.demo05;
/*
    String类的获取功能:
            int length(): 获取当前字符串的长度
            char charAt(int index): 获取指定索引位置的字符
            int indexOf(String):获取指定字符(串)第一次出现的索引
            int lastIndexOf(String):获取指定字符(串)最后一次出现的索引
            String substring(int):获取指定索引位置(含)之后的字符串
            String substring(int, int):获取从索引start位置(含)起至索引end位置(不含)的字符串
 */

public class Test {
    
    
    public static void main(String[] args) {
    
    
        //定义一个字符串
        String str = "java 黑马程序员 java";


        //int length(): 获取当前字符串的长度
        int length = str.length();
        System.out.println(length);
        //System.out.println(str.length());这是打印int length()的另外一种方法


        //char charAt(int index): 获取指定索引位置的字符
        char ch = str.charAt(1);
        System.out.println(ch);

        //int indexOf(String):获取指定字符(串)第一次出现的索引
        //需求:字符'a'第一次出现的位置
        int index1 = str.indexOf('a');
        System.out.println("index1: " + index1);

        //int lastIndexOf(String):获取指定字符(串)最后一次出现的索引
        int index2 = str.lastIndexOf('a');
        System.out.println("index2: " + index2);
        //String substring(int):获取指定索引位置(含)之后的字符串
        //需求:截取从索引5开始的所有元素
        String s1 = str.substring(5);
        System.out.println("s1: " + s1);

        //String substring(int, int):获取从索引start位置(含)起至索引end位置(不含)的字符串
        String s2 = str.substring(5,10);//打印结果为“黑马程序员”,包含第一个索引,不包含最后一个索引
        System.out.println("s2: " + s2);
    }
}

成员方法

byte[] getBytes():

​ 将字符串转换成字节数组

char[] toCharArray():

​ 将字符串转换成字符数组

static String valueOf(…):

​ 将指定数据转换成字符串

String replaced(old,new):

​ 将指定字符(串)替换成新的字符(串)

String[] split(String):

​ 切割字符串,返回切割后的字符串数据,原字符串不变

String trim():

​ 去掉字符串两端的空白字符

image-20210204194312792

package cn.itcast.demo06;

/*
String类的转换功能:
              byte[] getBytes():将字符串转换成字节数组
              char[] toCharArray():将字符串转换成字符数组
              static String valueOf(..):将指定类型转换成字符串
              String replace(old, new):将指定字符(串)替换成新的字符(串)
              String[] split(String):切割字符串,返回切割后的字符串数据,原字符串不变
              String trim():去掉字符串两端的空白字符
 */

import java.nio.charset.StandardCharsets;

public class Test {
    public static void main(String[] args) {
        //定义一个字符串
        String s1 = "abc";
        //byte[] getBytes():将字符串转换成字节数组
        byte[] bys = s1.getBytes();//a:97 b:98 c:99返回的是字符对应的数字形式
        for(int i = 0; i < bys.length; i++){
            System.out.println(bys[i]);
        }
        System.out.println("==============");

        //char[] toCharArray():将字符串转换成字符数组
        char[] chs = s1.toCharArray();
        for(int i = 0; i < chs.length; i++){
            System.out.println(chs[i]);
        }
        System.out.println("==================");
        //static String valueOf(..):将指定类型转换成字符串
        //整数123--->字符串"123"
        String s2 = String.valueOf(123);
        System.out.println(s2 + 4);//字符串与数字4的拼接
        //在实际开发中,上述的方式基本上都会用下边的这行代码替代
        String s3 = "" + 123;
        System.out.println(s3 + 4);
        System.out.println("=====================");

        //String replace(old, new):将指定字符(串)替换成新的字符(串)
        String s4 = "abc abc abc";
        String s5 = s4.replace('b','d');
        System.out.println("s5: " + s5);
        System.out.println("==================");

        //String[] split(String):切割字符串,返回切割后的字符串数据,原字符串不变
        //将字符串s4进行空格切割  因为s4里面有两个空格,所以会被切割两次,即s4由原本的一个变成了三个
        String[] arr = s4.split(" ");
        for(int i = 0; i < arr.length; i++){
            System.out.println(arr[i]);
        }
        System.out.println("===================");
        //String trim():去掉字符串两端的空白字符
        String s6 = " a b c ";
        String s7 = s6.trim();
        System.out.println("s6:" + s6);
        System.out.println("s7:" + s7);



    }


}


D:\Java\JDK8\bin\java.exe "-javaagent:D:\IDEA\IntelliJ IDEA
98

99

a
b

c

1234

1234

s5: adc adc adc

abc
abc

abc

s6: a b c
s7:a b c

Process finished with exit code 0

package cn.itcast.demo07;
/*
StringBuilder:
            简介
               可变字符序列,用于构造字符串对象,内部使用自动扩容的数组操作字符串数据。StringBuilder和StringBuffer使用相同的API
            构造方法
                StringBuilder(): 构造一个空的StringBuilder容器
                StringBuilder(String):构造一个StringBuilder容器,并添加指定字符串
            成员方法
                StringBuilder append(...): 将任意数据添加到StringBuilder容器中,返回自身
                String toString():   将当前StringBuilder容器转成字符串

 */

public class Test {
    
    
    public static void main(String[] args) {
    
    
        //测试构造方法
        //测试空参构造
        StringBuilder sb = new StringBuilder();
        StringBuilder sb2 = sb.append("abc");
        System.out.println("sb: " + sb);
        System.out.println("sb2: " + sb2);
        System.out.println("==================");
        //需求:将String类的"abc"转成StringBuilder类型的对象
        StringBuilder sb3 = new StringBuilder("abc");
        System.out.println("sb3: " + sb3);//把字符串类型的abc转换为StringBuilder类型的对象
        System.out.println("=======================");


        //测试成员方法
        //需求:将三个字符串拼接成一个新的字符串:学Java, 传博客 找小黑!
        StringBuilder sb4 = new StringBuilder();
        sb4.append("学java,");
        sb4.append("传博客");
        sb4.append("找小黑");
        System.out.println("sb4: "  + sb4);
        System.out.println("==============");
        String s = sb4.toString();
        System.out.println("字符串s:" + s);
    }
}

输出结果:

sb: abc

sb2: abc

sb3: abc

sb4: 学java,传博客找小黑

字符串s:学java,传博客找小黑

Process finished with exit code 0

StringBuilder和StringBuffer类

简介

可变字符序列,用于构造字符串对象。内部使用自动扩容的数组操作字符串数据。StringBuilder和StringBuffer使用相同的API。

构造方法

StringBuilder():

​ 构造一个空的StringBuilder容器

StringBuilder(String):

​ 构造一个StringBuilder容器,并添加指定字符串

成员方法

StringBuilder append(…):

​ 将任意数据添加到StringBuilder容器中

String toString():

​ 将当前StringBuilder容器转成字符串

image-20210204205639985

猜你喜欢

转载自blog.csdn.net/doudoutj/article/details/113664914