在Java当中,字符串是一个类,每一个具体的string是一个对象。(由于在Java命名惯例,类的名称要首字母大写,所以String的首字母是大写的)
char数据类型只能代表一个字符,但是String类型可以代表很多个字,即一串字符
注意在字符串中,空格也算一个字符。
String name= "Xiao Gou";
就像System类和Scanner类一样,String在Java库里面也是一个内置的类,可以直接使用。
也就是说,String不是一个原始数据类型,而是一个引用数据类型。
下面是一些String类里面的方法(这些方法必须要创建具体的string对象才能使用):
package li;
import javax.swing.*;
public class Test {
public static void main(String[] args) {
// s是String类的一个引用数据类型变量,后面的"Xiao gou"才是String类的一个对象
String s="Xiao gou";
String s1=" shi ni";
String s2=" shi ni ";
// 返回本字符串中的字符个数,空格也算1个字符
System.out.println(s.length()); // 8
// 返回本字符串中特定索引的那个字符,注意像数组一样,索引从0开始
System.out.println(s.charAt(1)); // i
// 在字符串后面接上另一个字符串,返回这个新的大字符串
System.out.println(s.concat(s1)); // Xiao gou shi ni
// 本字符串中所有字母大写并返回这个新的字符串
System.out.println(s.toUpperCase()); // XIAO GOU
// 本字符串中所有字母小写并返回这个新的字符串
System.out.println(s.toLowerCase()); // xiao gou
// 去掉本字符串第一个字符之前、最后一个字符之后的所有空隙并返回这个新的字符串
// 注意字符串中间的空隙是不能去掉的
System.out.println(s2.trim()); // shi ni
}
}
上面这段代码中,由于我们必须要创建具体的string对象才能使用其中的方法,所以这些方法也称为instance method。
还有一种方法叫做non-instance method,也就是大名鼎鼎的静态类(static method)。
我们无需创建对象便可以直接通过类名调用静态类中的方法,和c语言的函数一样。