【Java学习】-----基础(8)

Java学习

上次的学习中我们学习了字符串的创建以及了解了什么是常量池,并且学习了任何对字符串进行比较,今天的学习内容我们接着上次的,本次我们将了解到,字符串的获取、截取以及字符串的转换与分割。

1.字符串的获取

一提到获取,我们脑海中肯定就是Get,但是字符串的获取方法又是怎样的呢?我们要获取的东西有很多,比如字符串的长度,字符串的位置

String当中与获取相关的常用方法有:

public int length();获取字符串当中的含有的字符个数,拿到字符串长度
public String concat(String str):将当前字符串和参数字符串拼接成为返回值的字符串。
public char charAt(int index):获取指定索引位置的单个字符。(索引从0开始)
public int indexOf(String str):查找参数字符串在本字符串当中首次出现的索引位置,如果没有返回-1值

我们来列一个简单的例子,完成对这四种常见方法的使用:

public class Demo04StringGet {
    public static void main(String[] args) {
        //获取字符串的长度
        int length = "ahsbjalcjascuabsuasbdas".length();
        System.out.println("字符串的长度是:" + length);

        //拼接字符串
        String str1 = "Hello";
        String str2 = "World";
        String str3 = str1.concat(str2);
        System.out.println(str1);//Hello , 原封不动
        System.out.println(str2);//World ,原封不动
        System.out.println(str3);//HelloWorld , 新的字符串
        System.out.println("===================");

        //获取索引位置的单个字符
        char ch = "Hello".charAt(1);
        System.out.println("在一号索引位置的字符是:" + ch);
        System.out.println("====================");

        //查找参数字符串在本来字符串当中出现的第一次索引位置
        //如果根本没有,返回-1值
        String original = "HelloWorldHelloWorldHelloWorld";
        int index = original.indexOf("llo");
        System.out.println("第一次索引值的是:" + index);//2

        System.out.println("HelloWorld".indexOf("abc"));//-1
    }
}

2.字符串的截取

字符串的截取方法:
public String substring(int index):截取从参数位置一直到字符串末尾,返回新字符串。
public String substring(int begin int end):截取从begin开始,一直到end结束,中间的字符串。
备注:[begin,end),包含左边,不包含右边。

public class Demo01Substring {

    public static void main(String[] args){
        String str1 = "HelloWorld";
        String str2 = str1.substring(5);
        System.out.println(str1);//HelloWorld,原封不动
        System.out.println(str2);//World,新字符串
        System.out.println("===================");

        String str3 = str1.substring(4,7);
        System.out.println(str3);//oWo
        System.out.println("====================");

        //下面这种写法,字符串的内容任然是没有改变的、
        //下面有两个字符串:“Hello”,“Java”
        //strA当中保存的是地址值
        //本来地址值是Hello的0x666,
        //后来地址值变成了java的0x999
        String strA = "Hello";
        System.out.println(strA);//Hello
        strA = "Java";
        System.out.println(strA);//Java
    }
}

3.字符串的转换

String当中与转换相关的常用方法有:
public char[] toCharArray():将当前字符串拆分成字符数组作为返回值。
public byte[] getBytes():获得当前字符串底层的字节数组。
public String replace(charSequence oldString,charSequence newString):
将所有出现的老字符串替换为新的字符串,返回替换之后的结果新字符串
备注:CharSequence意思就是说可以接受字符串类型

public class Demo02StringConvert {

    public static void main(String[] args) {
        char[] chars = "Hello".toCharArray();
        System.out.println(chars[0]);//H
        System.out.println(chars.length);//5
        System.out.println("================");

        //转换为字节数组
        byte[] bytes = "abc".getBytes();
        for (int i = 0; i < bytes.length; i++) {
            System.out.println(bytes[i]);
        }
        System.out.println("================");

        String str1 = "How are you?";
        String str2 = str1.replace("o", "*");
        System.out.println(str1);//How are you?
        System.out.println(str2);//H*w are y*u?
        System.out.println("=================");

        String lang1 = "会不会玩啊,fw";
        String lang2 = lang1.replace("fw", "**");
        System.out.println(lang1);
        System.out.println(lang2);
    }
}

4.字符串的分割

分割字符串的方法
**public String[] split(String regex): **根据参数的规则,将字符串切分成若干部分

注意事项:
split方法的参数其实是一个“正则表达式”
如果按照英文句点“.”进行分割,必须写"\."(两个反斜杠)

public class Demo03StringSplit {

    public static void main(String[] args){
        String str1 = "aaa,bbb,ccc";
        String[] array1 =  str1.split(",");
        for (int i = 0; i < array1.length; i++) {
            System.out.println(array1[i]);
        }
        System.out.println("==================");

        String str2 = "aaa bbb ccc";
        String[] array2 = str2.split(" ");
        for(int i = 0; i < array2.length; i++){
            System.out.println(array2[i]);
        }
        System.out.println("===================");

        String str3 = "XXX.YYY.ZZZ";
        String[] array3 = str3.split(".");
        System.out.println(array3.length);//0
        System.out.println(array3);
        for (int i = 0; i < array3.length; i++) {
            System.out.println(array3[i]);
        }
        System.out.println("====================");

        String str4 = "XXX.YYY.ZZZ";
        String[] array4 = str4.split("\\.");
        System.out.println(array4.length);//0
        System.out.println(array4);
        for (int i = 0; i < array4.length; i++) {
            System.out.println(array4[i]);
        }
    }
}

字符串的简答学习就到这里了,我们将在下一篇中做几个练习题来巩固所学的知识,加油,努力,坚持的人才是最可爱!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值