创建
new = 创建
☆方法1:
String s = new String("a string");
创建了一个String的对象
用"a string"初始化这个对象
创建管理这个对象的变量s
让s管理这个对象
☆方法2:
String s = "a string"
编译器自动创建一个String类的变量交给s管理
字符串的连接
用加号"+"连接
当"+"的一边是字符串而另一边不是时,会将另一边表达为字符串再做连接
例:"I'm "+18 = "I'm 18"
输入字符串
in.next();
读入一个单词,单词的标志是空格
★注:空格包括空格、tab和换行
in.nextLine():
读入一整行
比较字符串是否相等
须用到equals()方法
a==s
判断是否指向/管理同一个字符串,而不是判断是否相等
a.equals(s)
才是判断是否相等
比较字符串大小
( 根据Unicode字符编码 )
代码:s1.compareTo(s2)
(区分大小写)
代码:s1.compareToIgnoreCase(s2)
(不区分大小写)
也可以:
"abcd".compareTo(s2)
或:
s1.compareTo("abcd")
如果s1比s2小,那么结果是负的值;
如果s1和s2相等,那么结果是0;
如果s1比s2大,那么结果是正的值
求字符串长度
length()方法
String name="Hello"
str1="one"
str2=""
str3;
----------------
name.length();---->5
str1.length();---->3
str2.length();---->0
str3.length();---->Error!
访问String里的单个字符
s.charAt(index)
注:第一个字符的index下标是0,不是1
因此 index的范围是0到length()-1
求子串
s.substring(n)
得到从n号位置到末尾的全部内容
s.substring(a,b)
得到从a号位置到b号位置之间的内容
☆注:包括a,但不包括b
寻找字符
s.indexOf(c)
得到c字符所在的位置
若返回-1则代表不存在
s.indexOf(c,n)
从n号位置开始寻找c字符
s.lastIndexOf(c)
s.lastIndexOf(c.n)
s.lastIndexOf(c)
从右边开始找
其他操作
s.startsWith(x)
判断字符串s是否以x子字符串开头
s.endsWith(x)
判断字符串s是否以x子字符串结尾
s.trim()
删除字符串两端的空格
s.replace(c1,c2)
把字符串中所有的c1替换成c2
s.toUpperCase()
把字符串中所有字母替换成大写字母
s.toLowerCase()
把字符串中所有字母替换成小写字母