1、String类的构造
public class string_text1{
public static void main(String[] args) {
String s1, s2, s3, s4; //声明string对象
char[] a = {
's', 't', 'u', 'd', 'e', 'n', 't'};
s1 = new String("we are students"); //创建string对象
s2 = "student";
s3 = "student";
s4 = "students";
String s5 = new String(a, 3, 4); //从数组a的第3位下标开始截取,共截取4位字符
System.out.println(s1);
System.out.println(s2 == s3);
System.out.println(s2 == s4);
System.out.println(s5);
}
}
运行结果:
we are students
true
false
dent
2、String类的常用方法
(方法:
.length()、.equals()、.equalsIgnoreCase()、.startsWith()、.endWith()、.compareTo()、.contains()、.indexOf()、.substring()、.trim())
public class string_text2 {
public static void main(String[] args) {
String s1 = "我们是学生";
String s2 = new String("we are students");
String s3 = new String(" you are students ");
String s4 = new String("We are students");
String s6 = new String("we are students");
System.out.println(s1.length()); //求s1的长度
System.out.println(s2.equals(s4)); //比较s2与s4参数是否相等(区分大小写)
System.out.println(s2.equals(s6)); //比较s2与s6参数是否相等
System.out.println(s2.equalsIgnoreCase(s4)); //比较s2与s4参数是否相等(不区分大小写)
System.out.println(s1.startsWith("我们")); //判断s1是否以“我们”开头
System.out.println(s1.startsWith("你们")); //判断s1是否以“你们”开头
System.out.println(s1.endsWith("学生")); //判断s1是否以“学生”结尾
System.out.println(s1.endsWith("老师")); //判断s1是否以“老师”结尾
System.out.println(s3.compareTo("you are")); //按字典序进行比较,大于返回正数,小于返回
//负数,等于返回0
System.out.println(s3.compareTo(" you are student and teacher "));
System.out.println(s3.compareTo(" you are students "));
System.out.println(s3.contains("are")); //判断s3中是否含有“are”“your”
System.out.println(s3.contains("your"));
System.out.println(s3.indexOf("we")); //返回we第一次出现的下标
System.out.println(s3.indexOf("you"));
System.out.println(s3.indexOf("s",8)); //返回s第一次出现的下标,从第8位下标开始
System.out.println(s3.substring(9, 16)); //从s3的第9位开始截取,到16位结束
System.out.println(s3.trim()); //去除s3前后的空格
}
}
运行结果:
5
false
true
true
true
false
true
false
-89
83
0
true
false
-1
1
9
student
you are students
3、String对象基本数据与转换
(方法:Integer.parseInt()、String.valueOf())
public class string_text3{
public static void main(String[] args) {
String s1 = "123456789";
int x1 = Integer.parseInt(s1); //s1转换为int型
System.out.println(getType(s1));
System.out.println(getType(x1));
int x2 = 123456789;
String s2 = String.valueOf(x2); //x2转换为String型
System.out.println(getType(s2));
System.out.println(getType(x2));
}
/*判断数据类型方法*/
public static String getType(Object o){
//获取变量类型方法
return o.getClass().toString(); //使用int类型的getClass()方法
}
}
运行结果:
class java.lang.String
class java.lang.Integer
class java.lang.String
class java.lang.Integer
4、字符序列与字节数组
(方法:getChars()、toCharArray())
public class string_text4 {
public static void main(String[] args) {
char[] a, b;
String s = "德国足球队击败巴西队";
a = new char[2];
s.getChars(5, 7, a, 0); //从s的第5位开始截取到第7位。将这些数从a的第0位开始依次复制。
System.out.println(a);
b = "大家好,很高兴认识大家".toCharArray();//转化位char类型
System.out.println(b);
}
}
运行结果:
击败
大家好,很高兴认识大家
5、StringBuffer的用法
(方法:setCharAt()、append()、insert()、replace())
public class stringBuffer{
public static void main(String args[]){
String str1 = " 你好哦";
StringBuffer str2 = new StringBuffer("Hello Worlds");
str2.setCharAt(11, '!'); //将字符str第11个位置字符替换成s
System.out.println(str2);
str2.append(str1); //在字符串后面进行字符串的添加
System.out.println(str2);
str2.insert(6, "my "); //在字符串的第6位添加后面的字符串
System.out.println(str2);
int index = str2.indexOf("World!");//寻找字符串World!的下标
str2.replace(index, index + 6, "dog");//从起始位置到结束位置替换为dog
System.out.println(str2);
}
}
运行结果:
Hello World!
Hello World! 你好哦
Hello my World! 你好哦
Hello my dog 你好哦