------- android培训、java培训、期待与您交流! ----------
1.String字符串
public class CharArrayDemo{
public static void mian(String[] args){
char[] chs1={'北','京'};
char[] chs2={'黑','马','培','训'};
System.out.println(chs2);//黑马培训
char [] chs3=Arrays.copyOf(chs1,chs1.length+chs2.length);
System.arraycopy(chs2,0,chs3,chs.lenght,chs2.length);
System.out.println(chs3);//北京黑马培训
String s1="北京";
String s2="黑马培训";
String s3=s1.concat(s2);
System.out.println(s3);//北京黑马培训
·char[]就是一串字符,java中可以作为字符串
·s1.concat()方法的底层实现原理就是用数组复制完成
1.1 String字符串:数据+相关的操作,即char[]+操作
·char数组只是数据,没有操作
·一串字符就是字符串:char[]、String、StringBuilder
·字符串的"字面量",都是String类型实例
·String内部就是一个char[]
没有字符串,使用char[]程序开发也是可以的,但是通过使用字符串在程序开发过程中会方便很多。
1.2 java的String对象永远不变
public static StringDemo02{
public static void main(String[] args){
String s="abc";
String s1="s";
s=s+"def";
System.out.println(s);//abcdef
System.out.println(s1);//abc
}
}
1.3 静态字符串
java编译期间,凡是字面量和常量的运算,都会先运算出结果
运行期间当字符串池有String"字面量"时,java会直接用,如果没有才创建
public class StaticStringdemo{
public static void main(String[] args){
String s="123abc";
String ss=s+"";//变量在运行期间执行,产生新对象
String s1="123abc";
String s2="123"+"abc";//"123abc" //字面量运算在javac时候优化
String s3="1"+"23"+"abc";//"123abc"
String s4='1'+'2'+'3'+"abc";//150abc
String s5=1+"23abc";//"123abc"
String s6=1+2+"3abc";"123abc"
String s7=new String("123abc");
String s8=new String("123"+"abc");
System.out.println(s==s1);//T
System.out.println(s==s2);//F
System.out.println(s==s3);//T
System.out.println(s==s4);//T
System.out.println(s==s5);//F
System.out.println(s==s6);//T
System.out.println(s==s7);//F
System.out.println(s==s8);//F
System.out.println(s==s9);//F