今天在MOOC上进行了翁恺教授的JAVA第七周课,主要学习了JAVA中String类的方法,现作以下总结:
一、String是一个类,String的变量是对象的管理者而非所有者。字符串是对象,它的所有操作都通过“ . ”这个运算符来进行
二、字符串连接符"+"
①连接两个字符串。如:
public class Str{
System.out.println("123"+"112");
}
显示输出为:123112
②当+号一侧为字符串,另一侧为非字符串时,会先将非字符串变为字符串。如:
public class Str{
System.out.println("string"+12);
}
显示输出为:string12
三、字符串比较equals
equals是用来比较字符串内容是否相同。例如:定义一个String s = "hello",再比较字符串 s 是否与"hello"内容相同。不能使用if( s == "hello"),这样的得到的始终是false,而应该使用if (s.equals( “hello” ))。
四、字符串大小的比较compareTo
其实是比较两字符串的ASCⅡ值的大小,相等则为0,若“ . ”运算符左边的比右边大则为正数。例如:
public class Test{
String s1 = "abc";
String s2 = "abb";
System.out.println(s1.compareTo(s2));
}
显示输出为:1
注意:字符串可以是变量也可以是常量。
五、获得字符串长度length()
直接看例子:
String s1 = "hello";
String s2 = "";
String s3;
分别对这三个字符串取长度
s1.length() 5
s2.length() 0
s3.length() Error! 此时编译都无法通过,因为s3没有管理任何String对象
六、访问字符串里的字符charAt(Index)
①返回在Index上的单个字符
②Index的范围是0—length()-1
③不能使用for-each来遍历字符
例如:
public class Test{
String s = "abcd";
System.out.println(s.charAt(3));
}
显示输出为:d
七、得到字符串中的部分字符串substring
s.substring(n)
是得到从n号位置一直到末尾的字符串
s.substring(n,b)
是得到从n号位置到b号位置之前的字符串
例如:
public class Test{
String s = "012345678";
System.out.println(s.substring(2,5));
}
显示输出为:234
八、寻找字符indexOf
s.indexOf(c)
寻找c字符所在位置,不存在则为-1
s.indexOf(c,n)
从n号位置开始寻找c字符所在位置
s.indexOf(t)
寻找t字符串所在位置
从右边开始找
s.lastIndexOf(c)
s.lastIndexOf(c,n)
s.lastIndexOf(t)
九、其他String字符串
s.startsWith(t)
例:
if(a.startsWith(b))
//判断字符串a 是不是以字符串b开头
s.endsWith(t)
例:
if(a.endsWith(b))
//判断字符串a 是不是以字符串b结尾
s.trim()把字符串前后空格去掉
s.replace(c1,c2)把c1用c2代替
s.toLowerCase()把字符串字符全部变成小写
s.toUpperCase()把字符串字符全部变成大写
最后还应注意:所有字符串是不可变的,对它们操作的结果都是制造出新的字符串出来