Java中字符串的基础介绍

2020-12-19 17:40

阅读:530

标签:array   个数   切分   src   case   end   代码   mic   不包含   

1-1.字符串的概述与特点

字符串的概述:在Java中Java.lang.String类代表字符串。字符串是常量,创建后用不可变。
字符串的特点:
1).字符串的内容在创建后永不可变。(重点)
2).因为字符串在创建后是不可变的,所以字符串是可以共享的。
3).字符串的处理结果相当于char[ ]字符数组,但底层原理是byte[ ]字节数组。

1-2.字符串的构造方法和直接创建

创建字符串的常见3+1种方式:
三种构造方法:
1).public String( );
创建一个空的字符串,不含有任何内容。
2).public String (char[ ] array);
根据字符数组的内容,来创建对应的字符串。
3).public String(byte[ ] array);
根据字节数组的内容,来创建对应的字符串。
一种直接创建方法:
String str = "hello,world!";
注意:只要写了双引号,就是字符串的对象,不管有没有使用new关键字。

1-3.字符串比较的相关方法

String中“==”是对对象地址值的比较,若需要对字符串的内容进行比较,可以使用以下两个方法:
1).public boolean equals(Object obj);
参数可以是任何对象,只有在参数是一个字符串且内容相同时,才会输出true,否则输出false。
注意事项:
对该方法,任何对象都能使用Object进行接收;
对该方法,equals具有对称性,也就是a.equals(b)和b.equals(a)是一样的。
如果比较的双方,一个是常量,一个是变量,推荐吧常量字符串写在前面。即
推荐"abc".equals(str);不推荐:str.equals("abc");第二种写法在str变量为空时,会编译报错,第一种则会输出false。
2).public boolean equals Ignorecase(String str);
该方法可忽略字符的大小写进行比较(限英文字母大小写)。

2-1.字符串的获取相关方法

String当中与获取相关的方法有:
1).public int length();
用于字符串当中含有的字符个数,拿到字符串长度。
2).public String contact(String str);
将当前字符串和参数字符串拼接成为新的字符串做返回值。
3).public char charAt(int index);
获取指定索引值位置的单个字符(索引从0开始)。
4).public int indexof (String str);
查找参数字符串在本字符串中首次出现的索引位置。如果没有则返回一个值(-1)。

2-2.字符串的截取方法

1).public String substring(int index);
使用该方法可对字符串进行截取,截取从参数位置一直到字符串末尾,并返回新的字符串。
2).public String substring(int begin,int end);
使用该方法也能对字符串进行截取,可截取从begin开始的,到end结束中间的字符串。
注意:[begin,end)是左闭右开区间,包含左边,不包含右边。

2-3.字符串中的相关转换方法

1).public char[ ] tocharArray( );
将当前字符串拆分成字符数组(char[ ]),作为返回值。
2).public byte[ ] getBytes( );
获取当前字符串底层的字节数组(byte[ ]);
3).public String replay(charSquence oldString,charSquence newString):将所有出现的字符串替换成为新的字符串返回,替换之后的结果为新的字符串。
注意:charSquence可以接受字符串类型,是一个接口。

2-4.字符串的分割方法

方法:public String[ ] split (String regex);
按照参数规则,将字符串写分成若干部分。
split的参数其实就是一个正则表达式。
注意:若需要使用该方法按照英文句点”.“进行切分,必须写为”\\.“,否则不能成功切分。
*易错点*:
对下列这一段代码,
    String str = "字符串";
    System.out.println(str);
    str = "zifuchuan";
    System.out.println(str);
str中存储的依次是字符串"字符串"和"zifuchuan"的地址值,即该处是创建了两个字符串的,不是将字符串str的内容修改,字符串的内容是不能修改的。
本来str中存储的是"字符串"的地址值,后来str中的地址值被修改为"zifuchuan"的地址值。

字符串代码练习---统计输入字符中各种字符分别出现的次数:

代码如下:

//调用Scanner类
        String str = new Scanner(System.in).next();
        char[] C = str.toCharArray();
        //分别设置变量用于统计个字符类型出现的次数
        int count1 = 0, count2 = 0, count3 = 0, count4 = 0;
        //通过for循环对输入的字符进行统计
        for (int i = 0; i ) {
            if (‘A‘ //对大写英文字母进行统计
                count1++;
            } else if (‘a‘ = C[i]) {//对小写英文字母进行统计
                count2++;
            } else if (‘1‘ = C[i]) {//对阿拉伯数字进行统计
                count3++;
            } else {//对其他字符进行统计
                count4++;
            }
        }
        //分别输出各字符的统计结果
        System.out.println("大写英文字母有:" + count1 + "个");
        System.out.println("小写英文字母有:" + count2 + "个");
        System.out.println("阿拉伯数字有:" + count3 + "个");
        System.out.println("其他字符有:" + count4 + "个");
    }

 

运行结果如下:

技术图片

Java中字符串的基础介绍

标签:array   个数   切分   src   case   end   代码   mic   不包含   

原文地址:https://www.cnblogs.com/9-King/p/13378116.html


评论


亲,登录后才可以留言!