1、创建字符串
以下创建的字符串结果都为“student”。
public class Main{
public static void main(String[] args) {
char[] a={'s','t','u','d','e','n','t',};
String s1=new String(a); //第一种
char[] b={'x','x','s','t','u','d','e','n','t','x'};
String s2=new String(b,2,7); //第二种
String s3=new String("student"); //第三种
String s4;
s4="student"; //第四种
System.out.println(s1+" "+s2+" "+s3+" "+s4);
}
}
2、连接字符串
Java使用”+“来连接两个字符串或其他类型数据。只要“+”运算符操作的两边有一边是字符串,编译器就会将另一个操作数也转化为字符串类型。
实例代码如下:
int booktime =2;
double practice =2.5;
System.out.println("我每天花费"+booktime+"小时看书"+(booktime+practice)+"小时练习");
输出结果为“我每天花费2小时看书4.5小时练习”。因为**“()”的优先级最高先执行了里面的运算,然后进行了字符串的连接**。
3、获取字符串信息
1、str.length();
获取字符串长度,包括字符串中的空格。
2、str.indexOf(String r)、 str.lastIndexOf(String s);
获取字符串r首次出现的索引位置,获取字符串s最后一次出现的索引位置。无则返回-1。
3、str.charAt(int x);
返回索引x所在位置的字符。
实例代码如下:
public class Main{
public static void main(String[] args) {
char[] a={'s','t','u','d','e','n','t',};
String s1=new String(a);
int x1=s1.length(); //x1=7
int x2=s1.indexOf("t"); //x2=1
int x3=s1.lastIndexOf("t"); //x3=6
char x4=s1.charAt(3); //x4=d
System.out.println(x1+" "+x2+" "+x3+" "+x4);
}
}
4、字符串操作
1、str.substring(int x,int y);
从索引x处截取字符串到索引y处,
不包含索引y
。如果
不给y赋值,则默认截取到字符串末尾
。
2、str.trim();
去掉前部和尾部空格。
3、str.replace(char old,char new);
将字符串中所有的字符old替换为new。如果原字符没有字符old,则返回原字符串。
4、str.startsWith(String x)、str.endsWith(String y);
判断字符串是否以x开始,是否以y结尾。
5、str.equals(String x)、str.equalsIgnoreCase(String y);
前者比较str和x是否相等,后者忽略大小写进行比较。
6.str.compareTo(String x);
按照字典顺序比较字符串大小。若str大则返回1,x大则返回-1,相等则返回0;
7、str.toLowerCase()、str.toUpperCase();
前者只将大写的英文字母转化为小写英文字母,后者正好相反,与数字或非字符没有关系。
实例代码如下:
public class Main{
public static void main(String[] args) {
char[] a={'s','t','u','d','e','n','t',};//
String s1=new String(a); //定义字符串s1
String x1=s1.substring(3); //x1的值为dent
String x2=s1.substring(3,5); //x2的值为de
String s2=" stud ent "; //定义字符串s2
String x3=s2.trim(); //x3的值为stud ent
String x4=s1.replace("t","T"); //x4的值为sTudenT
boolean x5=s1.startsWith("s"); //x5的值为true
boolean x6=s1.endsWith("s"); //x6的值为false
String s3="abc DEF"; //
String s4="ABC def"; //
boolean x7=s3.equals(s4); //x7的值为false
boolean x8=s3.equalsIgnoreCase(s4); //x8的值为true
String s5="a";
String s6="b";
String s7="c";
int x9=s6.compareTo(s7); //x9的值为-1
int x10=s6.compareTo(s5); //x10的值为1
String x11=s3.toLowerCase(); //x11的值为abc def
String x12=s4.toUpperCase(); //x12的值为ABC DEF
//依次输出x的值
System.out.println(x1);
System.out.println(x2);
System.out.println(x3);
System.out.println(x4);
System.out.println(x5);
System.out.println(x6);
System.out.println(x7);
System.out.println(x8);
System.out.println(x9);
System.out.println(x10);
System.out.println(x11);
System.out.println(x12);
}
}