String和String的一些方法

一 :什么是String类型

在使用编程语言处理问题时往往会遇到与字符串相关的问题,当如果我们想定义一个字符串类型,这在C语言中其实是不存在的,得使用char*p来表示我们想要表达的字符串,但这其实是一个char*类型的指针。

而在Java当中存在一个全新的数据类型——String类型:它可以直接定义我们想要表示的字符串。

他会直接打印出内容而不是像c语言一样打印出来地址,是因为String类型有Java虚拟机提供的toString的方法。

注意:Java中的字符串结尾没有/0,字符数组才有。

二 :String常用的构造方法

常用的一般就是以下的三种:

第一种的构造,是直接赋值构造,这种方式创建的String对象会被放入字符串常量池,如果常量池中已经存在相同的字符串,就不会创建新的对象,而是直接引用已有的,相当于两个指针指向同一个地址。

第二种构造方法是通过new关键字创建,这种方式总是会在堆内存中创建一个新的String对象,即使字符串常量池中已经存在相同的字符串,此时两个对象即使内容相同,地址也不相同。

三 :常用的方法

1.length()方法获得字符串的长度:

如图所示,可以直接通过字符串名加点加length()来获得字符串的长度,用int类型的变量接收,也可以直接用输出语句打印出来长度。

2.String类型的比较:

常用的有两种比较方法

equal方法:

仔细看这张图片,然后思考一下。

          我来解答一下,str和str1都用到了new关键字,所以分别自己都有一个新地址。==比较的是地址是否相同,所以前两个是false,str2=str1,就相当于str2指向str1的地址中的内容,地址相同,所以第三个是true,而equal的出现很好解决了==无法比较不同地址的内容的缺点,通过如图的使用方法比较了两个字符串中的内容。

=========================================================================

comparTo方法:

compareTo关键字的作用:compareTo关键字是用来比较两个字符串大小的,和equal一样都是字符串1.compareTo(字符串2)的方式来比较的,比较规则是先比较首字符的ASCII值的大小,若字符串1的首字符大于字符串2的首字符,则会返回一个正数,若相等的话则会继续向后比,比较第二个字符,若到一个字符串结束还是相等的则谁长谁大,例如s1=hell,s2=hello,则s2是大于s1的,所以返回了一个负数,因为前面都相同,但是s1没有s2字符串长,所以返回了负数。

若完全相同,例如s1=hello,s2=hello,则会返回0。

若字符串1小于字符串2则会返回一个负数,返回值是字符串1的字符的ASCII值减去字符串2的字符的ASCII值。

compareToIgnoreCase()的用法和compareTo的用法一样只不过前者不区分大小写。

3.查找字符串

charAt方法:

运行结果:

=========================================================================

idexOf:

        记录第一次出现的位置,返回一个int型的数字,第一个的下标是0。

运行结果:

=========================================================================

两个参数的

  

运行结果:

=========================================================================

lastindexOf:

运行结果:

=========================================================================

两个参数的

运行结果:

=========================================================================

4.转化

转变为大写toUpperCase:

结果:

=========================================================================

转变为小写toLowerCase:
 

结果:

=========================================================================

字符串转变为int和double型:

结果:

=========================================================================

字符串转变为字符数组:

结果:

=========================================================================

5.格式化输出:

String.format:格式化输出

String s= String.format(“%d-%d-%d”,2019,9,9);输出结果是2019-9-9.

结果:

=========================================================================

6.替换字符

replace方法:

String temp=s.replace(‘a’,’l’);就是将a全部被l替换,也可以替换字符串,例如将字符串s中的’ab’  替换为’uuu’就是s.replace(‘ab’,’uuu’);

=========================================================================

replaceAll方法:

顾名思义就是替换全部字符,可以是字符串的形式。

=========================================================================

replaceFirst方法:

就是交换第一个

把第一个a转换成了ll

=========================================================================

7.拆分字符串:

split方法:

就是按照你括号里面的字符进行分割,用String[]的形式接收结果。

那个两个参数的,后面的数字是限制最多分割的次数。

注意:1.如果要通过“.”,“+”,“-”等字符分割时需要加上两个\\ 例如“\\.”,这样才会正确分割,

           2.如果要用\分割时需要加上三个\,就是“\\\\”才会通过/分割,因为Java中如果字符串中要输入\必须输入两个\\才会表示一个\。注意这是右斜杠。

          3 .如果有多个分隔符,可以用|来写,“s|k”表示s和k都是分隔符。

8.字符串截取:

用substring()里面填从第几个字符开始截取。

substring()方法:

下标是从0开始的,它这个截取是[)的形式,包含左边不包含右边。

9.Trim()方法:

Trim()去除左右两边的空格。

只去除两边的空格,不去除中间的空格。

10.结束语

感谢大家的查看,希望可以帮助到大家,做的不是太好还请见谅,其中有什么不懂的可以留言询问,我都会一一回答。

  • 37
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值