1.字符串变量
public class TestJava {
public static void main(String[] args){
String myString;
myString = "Hello World!";
System.out.println(myString);
}
}
2.字符串连接
可以用+连接两个字符串,+在这里是一个连接运算符、
转义字符:
每个转义字符都是由两个符号组成,但是编译器把他当成一个字符
\n:换行符 另起一行,光标移动到下一行开始处
\t:制表符
\r:回车符 把光标移动到本行的开始处
public class TestJava {
public static void main(String[] args){
String name = "Tom";
String sex = "male";
String from = "China";
String info = "名字:"+name+" "+"\n性别:"+sex+" "+"\n来自:"+from;
System.out.println(info);
}
}
3.字符串处理
求子串:例HelloWorld 取其中的ello,ello就是子串
public class TestJava {
public static void main(String[] args){
String str = "HelloWorld";
//前闭后开>=1 <5
str = str.substring(1, 5);
System.out.println(str);
}
}
测试字符串是否相等。equals
Objects equals:等价于==:比较内存地址
String equals:比较内容
存储空间:
1.寄存器
2.栈
3.堆:通过new产生的对象放在堆里
public class TestJava {
public static void main(String[] args){
//维护在常量池里面
String a = "hello";
String b = "hello";
//new出来的所有对象都是在堆内存
//只要是new出来的都是新对象
String c = new String("hello");
String d = new String("hello");
System.out.println(a==b);//true
System.out.println(a==c);//false
System.out.println(c==d);//false
}
}
4.静态存储区
5.常量存储区:final static
String常量池
public class TestJava {
public static void main(String[] args){
String s1 = "hello";//声明一个String类型的变量
String s2 = "hello";//声明另一个相同String类型的变量
String s3 = "hello"+"world";
//比较的是内容
System.out.println(s1.equals(s2));
//比较内存地址
System.out.println(s1==s2);
//比较的是内容
System.out.println(s1.equals(s3));
//比较内存地址
System.out.println(s1==s3);
}
}
//输出结果true true false false
6.其他存储位置(U盘,光盘)
字符串编辑
//字符串的内容不会变,改变的是引用
String a = "hello";
a= a+"world";
System.out.println(a);
4.字符串其他常用操作
详见java1.6 API