字符串的学习


1> “==”与“equals”的区别
“==”判断的是两个字符串对象在内存中的首地址,就是判断是否是同一个字符串对象;
而equals()判断的是两个字符串对象的值。

2> 字符串的连接(concat  >>>  等同于“+”的作用)
String s1= new String("你好,");
String s2= new String("张三");
String s3= s1.concat(s2);   >>>>> concat用于字符串的连接
System.out.println(s3);      >>>>>输出结果为:你好,张三

3> 字符串的提取和查询
(1)indexOf()     (0开始,值是从前往后数)
例如:String s = "我是谁谁是我";
    0  1 2  3 4  5
int index = s.indexOf('是');   >>>>  打印index结果为:1;
(2)lastIndexOf()     (0开始,值是 从前  往后  数)
例如:String s = "我是谁谁是我";
    0  1 2  3 4  5
int index = s.lastIndexOf('是');   >>>>  打印index结果为:4;
(3)substring(int index)     (0开始提取,从index开始<=    提取的字符串  <=最后)
例如:String s = "我是谁谁是我";
    0  1 2  3 4  5
String index = s.substring(1);   >>>>  打印index结果为:是谁谁是我;
(4)substring(int beginIndex,int endIndex)     (0开始提取,从index开始<=    提取的字符串  <最后)
例如:String s = "我是谁谁是我";
    0  1 2  3 4  5
String index = s.substring(1,5);   >>>>  打印index结果为:是谁谁是;   >>>>也就是说最后一个字符不打印!!


4> 字符串的拆分
String words = "我 是 谁 我";
     String[] print = new String[5];   或者为:  String[] print = null;也可以出结果
     print = words.split(" ");
     for (String string : print) {
System.out.println(string);
}
结果显示:我    \n   是   \n      谁    \n  我       (\n 表示换行了)

split(".")中不能为“ . ”,不然会没效果!!!

api的原文解释如下:

split
public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。 
返回:
字符串数组,它是根据给定正则表达式的匹配拆分此字符串确定的 

. 任何字符(与行结束符可能匹配也可能不匹配) 

???这牵扯到正则表达式。在正则表达式里。“。”代表任意字符,意思就是你现在相当于用任意字符对
字符串分割。应该用“\\.”才对
String words = "我.是.谁.我";
     String[] print = new String[5];
     //语法  字符串名.split(String separator, int Limit);    int Limit可省略不写
     //返回的字符串数组的元素个数由Sting字符串的分隔符的个数决定
     print = words.split("\\.");       >>>>> 如果是这一句,输出结果显示:我    \n   是   \n      谁    \n  我  (\n 表示换行了)
     //返回的字符串数组的元素个数由Limit(用来限制返回数组中的元素个数的)的大小决定决定             
     print = words.split("\\.",3);   >>>>> 如果是这一句,输出结果显示:我    \n   是   \n      谁我  (\n 表示换行了)
     for (String string : print) {
System.out.println(string);
}
 总结:完美运行!学习这东西需要多尝试,多讨论,多学习,这样进步空间才会很大!

5>StringBuffer类
StringBuffer  sb = new StringBuffer("我是谁");
(1)字符串(sb).toString();      >>>>转换为String类型
String s = sb.toString();
(2)字符串(sb).append("要添加的字符串");      >>>>转换为String类型
StringBuffer  sb1  = sb.append(“谁是我”);          >>>>> sb1结果:我是谁谁是我
StringBuffer  sb2  = sb1.append(“谁是我”);          >>>>> sb2结果:我是谁谁是我谁是我
(3)字符串(sb).insert(位置>>>int类型,参数>>>没规定类型);  
StringBuffer sb = new StringBuffer("我是谁"); 
 sb.insert(1,4); System.out.println(sb);             >>>>> sb结果:我4是谁;
 sb.insert(1,“_”); System.out.println(sb);     >>>>> sb结果:我_是谁;
for (int i = sb.length()-1; i >0; i--)
 {
  sb.insert(i, ".");                
 }                                                                       >>>>> sb结果:我.是.谁;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值