一.
[字符串的一些简单操作]
1.字符串的一些简单操作:字符串的拼接,"abc"+gyy="abcgyy"
即为:任何和字符串相加减的操作,结果都会是字符串.
2.字符串中的String类:Java.lang.String类代表字符串(包含了Java中所有的字符串[注意:是字符串,不是字符]).
3.字符串在创建之后和数组的长度一样,都不能继续变化.
4.字符串类的lang类中,使用时不需要(import Java.util.lang)去导包.
二.
[字符串的创建方式]
1.直接创建,用[String (变量名)=" "]是最方便的.
2.根据传入的字符数组进行创建.eg:
char [] arr={'a','b','c'};
String chr=new String(chr);
3.根据字节数组进行创建.
和上面的2,很像.
三.
[StringTable串池]
1.简介:在new区里开辟出的String类存放空间.
2.注意:只有直接赋值才能将String类存储到这,new出来的几种不行.
3.复用:系统在调用字符串的时候,会先看看这个字符串在串池里是否存在,如果存在,直接使用地址值,如果没有,就要在串池里新建一个字符串,然后传导地址,以供使用.
四.
[Java中String类的常用方法.]
1.==号的比较原理:如果是基本数据类型,就比较数据大小.
如果是引用数据类型:比较的是在系统内存储的地址值是否相同.这会造成以下情况:
String sc=new String(System.in);
String s1=new String("abc");
String s2=new String("abc");
比较:sout(s1==s2)[flase];
这是因为,new创建出来的字符串,不会保存在串池里,所以地址值也都不一样,即使s1和s2内容一样,但也不行.
2.字符串比较:
使用的是[equals(要求两个字符串完全相同)和equalsignoreCase(一样就行,不要求大小写.)]eg:
String s1="zhongguo";
String s2="ZhongGuo";
boolean result=s1.equals(s2); [flase]
3.键盘录入获得字符串.
Scanner sc =new Scanner(System.in);
String s1=sc.next();
[小技巧:Ctrl+ALT+T,可以将选中的部分用方法包裹起来.]
4.遍历字符串.
使用(字符串名)+length()+fori+enter
得到:for(int i=0;i<(字符串名).length;i++);
char (变量名)=(字符串名).CharAt(i);