String类

首先明确String类的对象代表不可变字符序列

String类中的常用方法

1.创建String类的对象

String str=new String("周志浩ZZH");

2.输出字符串的长度(这里输出的是字符的个数)

 System.out.println(str.length());

3.判断字符串是否为空

System.out.println(str.isEmpty());

4.判断字符串的开头和结尾是否有为参数中的字符串

System.out.println(str.startsWith("zzh"));
        System.out.println(str.endsWith("zzh"));

5.将字符串中的字母大写该小写,小写该大写

 System.out.println(str.toUpperCase(Locale.ROOT));
        System.out.println(str.toLowerCase(Locale.ROOT));

所谓不可变字符序列,就是说使用对象名当调用方法类对str的字符串进行操作后,str的字符串是不会改变的,只有你给str新的指向str=str.toLowerCase(Locale.ROOT);才会改变str的字符串。

6.根据索引找子串
(1)char ch=str.charAt(2);返回值是一个char类型的字符,所以只能找到一个字符。
(2)String substr=str.substring(1,3);(就该方法的已有参数而言)从索引我1的开始找,找到第(3-1)个结束。
(3)substr=str.substring(3);如果只给一个参数,那么自动到最后一个字符结束。
7.根据子串确定索引
(1)System.out.println(str.indexOf("zzh"));返回值是一个int类型。找到字符串后放回字符串的首字符的索引。如果没有找到放回-1
(2)System.out.println(str.lastIndexOf("zzh",3));找子串的时候,从后往前找。只是说改变了找的方式,并不能改变字符原有的索引。后面的参数3表示从后往前找,找到索引为3结束。
(3)int index=str.indexOf("zzh",8);从后往前早,从索引为8的字符开始找。
8.其他方法
(1)str=str.replaceAll("zzh","ZZH");zzh全部替换为ZZH
(2)可以去除字符串两边的空格,但无法去除字符串中间的空格。

str="  周 志 浩 ";
        System.out.println(str.length());
        str=str.trim();

(3)String->byte[]字节数组

byte[] bytes=str.getBytes();
        System.out.println(bytes);
        System.out.println(bytes.length);//汉字对应三个字节,英文字母对应一个字节
        System.out.println(Arrays.toString(bytes));

需要注意的是,如果使用System.out.println(bytes);这条语句输出的是字符数组的首地址。可以用System.out.println(Arrays.toString(bytes));来输出对应的字符。
(4)byte[]->String
这里使用的是String类的构造方法来进行的转换。String str2=new String(bytes);也可以使用String str3=new String(bytes,4,3);指的是从索引为4的开始找,找的字节长度为3.

整体的代码+结果
public static void main(String[] args) {
        //创建字符串对象
        String str=new String("大锅盖ZZH");


        //操作字符串对象
        //1.最基本的操作
        System.out.println(str.length());
        System.out.println(str.isEmpty());

        //2.根据索引确定子串
        System.out.println(str.startsWith("zzh"));
        System.out.println(str.endsWith("zzh"));
        System.out.println(str.toUpperCase(Locale.ROOT));
        System.out.println(str.toLowerCase(Locale.ROOT));
        //str是不可变序列字符串
        str=str.toLowerCase(Locale.ROOT);
        System.out.println(str);
        System.out.println("ZZH");

        //根据索引确定子串
        //charAt只能找到一个字符;所以放回值是一个char类型
        char ch=str.charAt(2);
        System.out.println(ch);
        //subString方法可以找到多个连续的字符
        String substr=str.substring(1,3);
        System.out.println(substr);
        //自动到最后一个字符结束
        substr=str.substring(3);
        System.out.println(substr);
        //根据子串确定索引
        str="周志浩zzhzzh";
        System.out.println(str.indexOf("zzh"));
        //从后往前找子串
        System.out.println(str.lastIndexOf("zzh",3));//-1表示子串不存在
        //返回值是int类型
        int index=str.indexOf("zzh",8); //指定从那个索引开始找子串
        System.out.println(index);



        //3.其他方法
        str=str.replaceAll("zzh","ZZH");
        System.out.println(str);

        str="  周 志 浩 ";
        System.out.println(str.length());
        str=str.trim();
        //只能去除两边的空格,字符中间的空格去不掉。
        System.out.println(str.length());


        //String->byte[]字节数组
        byte[] bytes=str.getBytes();
        System.out.println(bytes);
        System.out.println(bytes.length);//汉字对应三个字节,英文字母对应一个字节
        System.out.println(Arrays.toString(bytes));

        //byte[]->String
        String str2=new String(bytes);
        //从4开始,一共3个字节。
        String str3=new String(bytes,4,3);
        System.out.println(str2);
        System.out.println(str3);




    }

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值