Java - 常用类 - String类常用方法

  • String类是保存字符串常量的。每次更新都需要重新开辟空间,效率较低,因此java设计者还提供了StringBuilder 和 StringBuffer 来增强String的功能,并提高效率。
  • String继承了三个接口(了解),String的爸爸是Object
  1. CharSequence
  2. Comarabel
  3. Serializable
举例
String s = new String("");
for(int i = 0; i < 80000; i++){
	s += "hello";
}
这段代码用String对象直接开辟了80000个内存空间,相当浪费

String类的常用方法

equals 区分大小写,判断内容是否相等

equalslgnoreCase 忽略大小写的判断内容是否相等

length 获取字符的个数,字符串的长度

indexOf 获取字符在字符串中第一次出现的索引,索引从0开始,如果找不到,返回 -1

lastIndexOf 获取字符在字符串中最后1次出现的索引,索引从0开始,如果找不到,就返回-1

substring 截取指定范围的子串

package com.tao.string_;

/**
 * Create By 刘鸿涛
 * 2022/1/2 15:58
 */
public class StringMethod01 {
    public static void main(String[] args) {
        String str1 = "hello";
        String str2 = "Hello";
        System.out.println(str1.equals(str2));               //F
        System.out.println(str1.equalsIgnoreCase(str2));    //T
        System.out.println(str1.length());                  //5
        System.out.println(str1.indexOf('e'));              //1

        String str3 = "helloe";
        System.out.println(str3.lastIndexOf('e'));       //5

        String str4 = str3.substring(0,3);  //表示从 0开始取到 3-1
        System.out.println(str4);                           //hel
        str4 = str3.substring(1);   //表示从下标1开始,全部取出
        System.out.println(str4);                           //elloe
    }
}

trim 去前后空格

charAt: 获取某索引处的字符

toUpperCase 转换大写

toLowerCase 转换小写

concat 拼接字符串 (类似于 “+” 号)

replace 替换字符串中的字符

split 分割字符串,对于某些分割字符,我们需要转义比如|\ \等

compareTo 比较两个字符串大小

toCharArray 字符串转换成字符串数组

format 格式化字符串,%s字符串 %c 字符 %d 整型 %.2f 浮点型

package com.tao.string_;

/**
 * Create By 刘鸿涛
 * 2022/1/2 16:15
 */
public class StringMethod02 {
    public static void main(String[] args) {
        String s = "Hello";
        System.out.println(s.toLowerCase());    //hello
        System.out.println(s.toUpperCase());    //HELLO

        String s1 = "鬼鬼";
        s1 = s1.concat("骑士").concat("目标").concat("是Java高级程序员");
        System.out.println(s1);     //鬼鬼骑士目标是Java高级程序员
        s1 = "鬼鬼骑士 目标 是Java高级程序员";
        System.out.println(s1.replace(" ","")); //鬼鬼骑士目标是Java高级程序员

        String poem = "锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦";
        String[] poemText = poem.split(",");
        for(String i:poemText){
            System.out.print(i);                    //锄禾日当午汗滴禾下土谁知盘中餐粒粒皆辛苦
        }
        //注意转义分割
        poem = "E:\\aaa\\bbb";
        poemText = poem.split("\\\\");      //特殊字符需要转义符
        for(String i:poemText){
            System.out.print(i);                  //E:aaabbb
        }

        char[] chs = s.toCharArray();
        for (int i = 0; i < chs.length; i++) {
            System.out.println(chs[i]);
        }

        //compareTo 比较两格字符串的大小,如果前者打,则返回正数,
        //后者大,则返回负数,如果相等,返回0
        String a = "jchn";
        String b = "jack";
        System.out.println(a.compareTo(b));     //返回值是 'c' - 'a' = 2的值
        a = "jackfff";
        System.out.println(a.compareTo(b));     //3
        b = "jackfffaa";
        System.out.println(a.compareTo(b));     //-2
        a = "jackfffaa";
        System.out.println(a.compareTo(b));     //0

        //format 格式化字符串
        String name = "taotao";
        int age = 10;
        double score = 98.3 / 3;
        char gender = '男';

        //一
        System.out.printf("我的姓名是%s年龄是%d,成绩是%.2f性别是%c,希望大家喜欢我!\n",
                name,age,score,gender);
        //二
        String info = "我的姓名是%s年龄是%d,成绩是%.2f性别是%c,希望大家喜欢我!";
        String printInfo = String.format(info,name,age,score,gender);
        System.out.println(printInfo);

        //1.%s,%d,%.2f,%c 称为占位符
        //2.这些占位符由后面变量来替换
        //3.%s 表示后面由 字符串来替换
        //4.%d 是整数来替换
        //5.%.2f 表示使用小数来替换,替换后,只会保留小数后两位,并且进行四舍五入
        //6.%c 使用char 类型来替换

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼鬼骑士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值