字符串
Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类String。每个用双引号括起来的字符串都是String类的一个实例:
String e="";
String e=new String("");
子串
String类的substring方法可以从一个较大的字符串提取出一个子串。例如:
String geeeting ="Hello";
String s=greeting.substring(0,3);
//输出“Hel”
创建了一个由字符“Hel”组成的字符串。
substring方法的第二个参数是不想复制的第一个位置。这里要复制位置为0、1和2(从0到2,包括0和2)的字符。在substring中从0开始计数,直到3为止,但不包含3。
substring的工作方式有一个优点:容易计算子串的长度。字符串s.substring(a,b)的长度为b-a。例如,子串“Hel”的长度为3-0=3。
拼接
与绝大多数的程序设计语言一样,Java语言允许使用+号连接(拼接)两个字符串。
String expletive="Expletive";
String PG13="delrted";
String message=expletive+PG13;
System.out.println(message);
当将一个字符串与一个非字符串的值进行拼接时,后者被转换成字符串(在第5章中可以看到,任何一个Java对象都可以转换成字符串)。例如:
int age=13;
String rating="PG"+age;
System.out.println(rating);
不可变字符串
字符串是否相等问题
字符串API
StringBuilder()
StringBuffer是线程安全的,StringBuilder不是线程安全的,单线程中尽量用StringBuilder,
注意String类型的toString方法返回一个等于本身的new String
读取输入
Scanner in=new Scanner(System.in);
String name=in.nextLine();
int age=in.nextInt();
double salary=in.nextDouble();
Console cons=System.console();
String userName=cons.readLine("User name:");
char[] passward=cons.readPassword("Password:");