String类
字符串常量:
“23.23”,“ABCDEF”,"你好"以上都是字符串常量,字符串常量是系统中能够显示任何文字信息
由("")双引号括起来的都是字符串,不能作为其他的数据类型来使用,如:"1+2"不能是3
1.声明字符串
String str;
注意: 声明的字符串变量必须进过初始化才能够进行使用,否则使用时会进行编译器报错:变量未被初始化错误
2.创建字符串
- String(char[] arr);
char[] a = {‘a’,‘b’,‘c’};
String str = String(a); - String(char[] a,int offset,int length);
offset开始的位置,length就是截取的长度
char[] arr = {‘a’,‘d’,‘e’,‘g’,‘y’};
String str1 = new String(a,2,3);
str1就是"egy";
3.连接字符串
- 连接字符串:
String s1 = new String("hello");
String s2 = new String("world");
String s = s1 +" "+s2;
结果就是:hello world
- 连接其它数据类型
如果将字符串进行连接,就会将这些数据类型直接转换为字符串类型
int time1 = 4;
float time2 = 2.5f;
System.out.println(time1+"小时"+time2+"分钟");
结果就是:4小时2.5分钟
在time1和time2都不是字符串,与字符串相连时,会自动调用toString()方法,将其转换为字符串以后进行连接
注意下面这个例子:
int time1 = 4;
float time2 = 2.5f;
System.out.println(time1+"小时"+(time2+time1)+"分钟");
结果就是:4小时6.5分钟
是因为:()优先级高于+,于是先进性相加,再进行转换字符串
就是说,+里面有字符串就会进行转换,所以再慎重使用
4.获取字符串信息
1.获取字符串长度:
String str = “We are students”;
int size = str.length();
2.字符串查找:
- indexOf()
String str = "We are students";
int index = str.indexOf("a");
输出结果为:3
也就是说是第一次出现的字符串的位置
- lastIndexOf()
这个就是最后一次出现的位置
3.获取指定索引位置的字符:
String str = “hello world”;
char mychar = str.charAt(6);
输出结果就是:w
5.字符串操作:
1.获取子字符串
- substring(int beginIndex)
就是从制定的索引位置进行截取
String str = “Hello world”;
String sunstr = str.substring(3);
结果就是:lo world - substring(int beginIndex,int endIndex)
String str = “hello world”;
String newStr = str.substring(0,3);
结果就是:hel
注意的就是:左闭右开
2.去除空格
trim()
String str = " java class “;
str,trim();
str就是"javaclass”;
3.字符串替换
replace(char oldChar,char newChar)
oldChar:要替换的字符串
newChar:用于替换的字符串
String str = "address";
String newstr = str.replace("a","A");
str结果就是:Address
4.判断字符串的开始于末尾
- startsWith(String prefix)
- endsWith(String suffix)
String num1 = "123456";
String num2 = "789";
boolean a = num1.startsWuth("12");
boolean b = num1.endsWith("89");
boolean c = num1.startsWuth("12");
boolean d = num1.endsWith("89");
输出结果就是:true,false,false,true
4.判断字符串是否相等
字符串是对象类型就是:进行equals()和equalsIgnoreCase()
String num1 = new String("abc");
String num2 = new String("ABC");
String num3 = new String("abc");
boolean a = num1.equals(num2);
boolean b = num1.equals(num3);
boolean c = num2.equalsIgnoreCase(num3);
输出结果就是:false,true,true
4.按字典序比较两个字符串
compareTo();
- 两个字符串如果相等就是返回0
- 前一个在后一个之前,返回负整数
- 前一个在后一个之后,返回正整数
5.字母大小写转换
toLowerCase();
toUpperCase();
str.xxxxx
6.字符串分割
split(String sign)
split(String sign,int limit)limit就是限制分割的次数