47-了解字符串
字符串 String类,大写首字母的,是java中一个特殊的类。字符串不是java的基本数据类型,但是它可以像基本数据类型一样使用,声明和初始化的操作和基本类型基本一样。
String s = new String();Code language: JavaScript (javascript)
这个是调用String类的构造函数来创建对象。另外String也提供其他的构造函数,比如:
String(char a[])Code language: JavaScript (javascript)
通过字符数组来创建字符串。也可以:
String(char a[], int offset, int length)Code language: JavaScript (javascript)
截取字符数组中的某几个来初始化字符串。
String s = new String("人生中有许多的不如意,各人有各人的烦恼");
String s1 = new String(new char[] {'w','w','w','.'}, 1, 2);
System.out.println(s);
System.out.println(s1);Code language: JavaScript (javascript)
字符串操作
字符串连接使用 + 号,可以将字符串连接成一个新的字符串。字符串也可以通过 + 号连接其他类型的数据,最后得到的结果也是字符串。比如 "www.FoxDevelop.com" + 1,编译器会先把1转换为字符串然后连接。
String s = new String("人生中有许多的不如意,各人有各人的烦恼");
String s1 = new String(new char[] {'w','w','w','.'}, 1, 2);
System.out.println(s + s1 + "FoxDevelop.com网校" + 1 + 'b' + 1.2f + true);Code language: JavaScript (javascript)
也可以直接给字符串赋值的:
String s = "www.FoxDevelop.com";Code language: JavaScript (javascript)
48-字符串的相关操作
1. 获取字符串长度
str.length();Code language: CSS (css)
2. 获取某个字符的索引位置
indexOf 或者 lastIndexOf
3. 获取指定索引的字符
charAt
4. 去除字符串的空格
trim 去除字符串两端的空格
5. 去除字符串的所有空格(包含中间的)
StringTokenizer 或者 replaceAll
需要引入 import java.util.StringTokenizer;
6. 字符串替换
replace()方法
replaceFirst
示例代码
String s = "www.FoxDevelop.com";
int len = s.length();
int len1 = "www.baidu.com".length(); //字面值也有这个内置的方法
int index = s.indexOf("n"); //根据字符获取索引下标
System.out.println(index);
int index2 = s.lastIndexOf("n");
System.out.println(index2);
char c = s.charAt(3); //根据索引获取字符
System.out.println(c);
String s2 = " 风中 漫步 ";
//s2 = s2.trim();
System.out.println(s2.trim()); //只能去掉字符串两边的空格 返回是一个新的字符串 不会改变原来的s2
StringTokenizer st = new StringTokenizer(s2, " ");
String newStr = new String();
while (st.hasMoreTokens()) {
newStr += st.nextToken();
}
System.out.println(newStr);
String s3 = " 风中 漫步 ";
s3 = s3.replaceAll(" ", "");
System.out.println(s3);Code language: JavaScript (javascript)
7. 判断字符串是否相等
equals
String name = "北美网校";
boolean b = name.equals("百度");
System.out.println(b);Code language: JavaScript (javascript)
8. 判断字符串的开始和结尾
startsWith
endsWith
9. 字符串大小写转换
toLowerCase
toUpperCase
String name = "北美网校";
boolean b = name.startsWith("北美");
boolean b2 = name.endsWith("北美");
System.out.println(b2);
String s = "bamn";
System.out.println(s.toUpperCase());Code language: JavaScript (javascript)
10. 字符串分割
split
还可以限制分割的份数。另外如果想多个分隔符可以使用 | 来连接,比如 ,|= 按照逗号和等号来分割。
String site = "www.FoxDevelop.com";
String[] arr = site.split("\\.|b");
System.out.println(arr.length);
for (String x : arr) {
System.out.println(x);
}Code language: JavaScript (javascript)
49-格式化字符串
通过 format 方法格式化字符串:
System.out.println(String.format("这里是%s", "FoxDevelop.com网校"));Code language: CSS (css)
String words = String.format("%s明天去打%s吗?", "小潘", "羽毛球");
System.out.println(words);Code language: JavaScript (javascript)