Java中字符串的基础介绍
Posted 9_金先生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中字符串的基础介绍相关的知识,希望对你有一定的参考价值。
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 < C.length; i++) { if (\'A\' <= C[i] && C[i] <= \'Z\') {//对大写英文字母进行统计 count1++; } else if (\'a\' <= C[i] && \'z\' >= C[i]) {//对小写英文字母进行统计 count2++; } else if (\'1\' <= C[i] && \'9\' >= C[i]) {//对阿拉伯数字进行统计 count3++; } else {//对其他字符进行统计 count4++; } } //分别输出各字符的统计结果 System.out.println("大写英文字母有:" + count1 + "个"); System.out.println("小写英文字母有:" + count2 + "个"); System.out.println("阿拉伯数字有:" + count3 + "个"); System.out.println("其他字符有:" + count4 + "个"); }
运行结果如下:
以上是关于Java中字符串的基础介绍的主要内容,如果未能解决你的问题,请参考以下文章
java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段