字符串的学习

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结果:我.是.谁;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我是攻城师

关于Java里面的字符串拼接,你了解多少?

字符串拼接是我们日常开发中很常见的操作,虽然常见,但要是使用不当的的话,很有可能让你的程序处理效率降低一大半,所以我们有必要来重新了解一下Java里面的字符串操...

1653
来自专栏阮一峰的网络日志

Ramda 函数库参考教程

学习函数式编程的过程中,我接触到了 Ramda.js。 我发现,这是一个很重要的库,提供了许多有用的方法,每个 JavaScript 程序员都应该掌握这个工具。...

8658
来自专栏赵俊的Java专栏

删除元素

901
来自专栏web前端教室

javascript 红皮高程(8)

今天继续,JS的数值转换。这里面的坑啊, 真是太多了。 JS有三个函数可以把非数值转为数值: Number(); parseInt(); parseFloat(...

18910
来自专栏Java成长之路

深入理解String类

String是java中的字符串。String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。String不属于8种基本数据类型,...

732
来自专栏赵俊的Java专栏

合并排序数组 Ⅱ

1624
来自专栏从零开始学 Web 前端

06 - JavaSE之常用类

public StringBuffer append(...) 可以为该 StringBuffer 对象添加字符序列,返回添加后的该 StringBuffer ...

752
来自专栏开发之途

重拾Java(0)-基础知识点

3094
来自专栏java学习

面试题53(考察求职者对String声明变量在jvm中的存储方法)

(单选题) 1、有如下一段代码,请选择其运行结果() public class StringDemo{ private static final Stri...

2963
来自专栏C/C++基础

C++抛出异常与传递参数的区别

C++的异常处理机制有3部分组成:try(检查),throw(抛出),catch(捕获)。把需要检查的语句放在try模块中,检查语句发生错误,throw抛出异常...

993

扫码关注云+社区

领取腾讯云代金券