一 :什么是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.结束语
感谢大家的查看,希望可以帮助到大家,做的不是太好还请见谅,其中有什么不懂的可以留言询问,我都会一一回答。