Java基础——字符串类String

来源:互联网 发布:华师大二附中 知乎 编辑:程序博客网 时间:2024/06/06 05:32

字符串是由字符构成的一个序列。在很多语言中,字符串都被当作字符数组来处理,但是在Java中,字符串是一个对象。String类中有11个构造方法以及40多个处理字符串的方法。所以String类不仅在程序设计中非常有用,也是一个学习类和对象的很好的例子。

  • 构造一个字符串
    String 字符串名称 = new String(字符串的内容);

    Java将字符串“直接量(指的是:字符串的内容)“ 看作String对象。所以,下面的语句也是合法的:
    String 字符串的名称 = “字符串的内容”;

    还可以用字符数组创建一个字符串。例如: 下面创建一个字符 串“Java”
    char[] 字符串名称 = {字符串的内容}; 这里是{’j’,’a’,’v’,’a’}

    (p.s:我总是将String和char两个类型搞混,char类其实是字符类型)
    我们通过构造字符串这个例子了解其中的差别:

String message = new String("Java");char[] message = {'j','a','v','a'};

  • 字符串的比较
    说到字符串的比较,相信刚开始学习Java的我们都会最先尝试”==“这个操作符。事实上,这个操作符只能检测两个字符串是否指向同一个对象,但是并不会告诉你他的对象是否相同。

    此时我们需要尝试下equals方法。这个就是我们所需要的方法。这个方法返回的是布尔型变量”true”和”false”。

    还有一个compareTo方法,这个方法也具备equals的功能:判断两个字符串是否相等,但是该方法返回值是0;若两个字符串不相等,如s1为“abc”,s2为“abg”, s1.compareTo(s2)返回的是-4,这个-4是根据字符在同一码的顺序相减得出来的。

    String类中还有其他的比较字符串的方法。如:忽略大小写、是否有某些特定的前缀等等。这些就需要大家查下资料,不一一列出了。


  • 字符串的长度、字符以及组合字符串
    获取字符串的长度:s1.length(); p.s:获取数组a的元素个数时就要使用a.length

    获取单个字符:s1.charAt();当然,下标也是从0开始的。下面的例子也是允许的:

"welcome".charAt(0)//这个的返回值就是"w";

我们在使用一个字符串是往往是知道它的直接量值的,为了方便起见,Java允许在不创建变量的情况下,使用字符串的直接量应用字符串。

下面是连接两个字符串:

String s3 = s1.concat(s2);String s3 = s1 + s2;//这两个方法是等价的。

如果一个是数字,一个是字符串,用’+’连接时则先将数字转化为字符后相连。注意:若要使用加号实现连接的功能,则至少要有一个操作数必须为字符串。


  • 获取子串
substring(开始的下标);//返回这个字符串中从指定的下标开始到字符串末尾的子串;substring(开始的下标,结束的下标);//返回这个字符串从开始小标到结束下标的子串。要注意的是:结束下标处的字符不是子串的一部分!String message = "Welcome to Java".substring(0,11) + "HTML";//这个message的内容变为"Welcome to HTML"//如果开始的下标和结束的下标相同的话,返回的会是一个长度为0的空字符串。如果 开始下标“小于”结束下标则会出现运行错误。

  • 获取字符串中的某个字符或者某个子串
indexof(ch: char):int 返回字符串中第一次出现ch字符的下标,如果不匹配返回-1;indexof(ch: char,fromIndex: int):int 返回字符串中fromIndex下标后第一次出现ch字符的下标,如果不匹配返回-1;indexof(s:String):int 返回字符串中第一次出现s字符串的下标,如果不匹配返回-1;indexof(s:String,fromIndex: int):int 返回字符串中fromIndex下标后第一次出现s字符串的下标,如果不匹配返回-1;lastIndexof(ch: char):int  返回字符串中最后一次出现ch字符的下标,如果不匹配返回-1;lastIndexof(ch: char,fromIndex: int):int 返回字符串中fromIndex下标后最后一次出现ch字符的下标,如果不匹配返回-1;lastIndexof(s:String):int 返回字符串中最后一次出现s字符串的下标,如果不匹配返回-1;lastIndexof(s:String,fromIndex: int):int int 返回字符串中fromIndex下标后最后一次出现s字符串的下标,如果不匹配返回-1

  • 字符串的转换、替换与分割
toLowerCase():String 返回将所有字符都转化为小写之后的新字符串;toUpperCase():String 返回将所有字符都转化为大写之后的新字符串;trim():String 返回去掉两端的空白字符之后的新字符串;replace(旧字符,新字符):String 返回一个新字符替换这个字符串中所有和他匹配的字符的新字符串;replaceFirst(旧字符串,新字符串):String 这个只会将第一个与之匹配的字符串替换,然后返回之后的新字符串;replaceAll(旧字符串,新字符串):String 这个将所有的旧的子串替换为新子串然后返回之后的新字符串;split(String类型界定符):String 返回界定符分割的字符串所构成的一个字符串数组,注意:这个是字符串数组。分割的这个方法很有意思,大家可以去实践下。

  • 字符串与数组之间的转换

    字符串不是数组,但是字符串可以转换为数组,反之亦然。为了将字符串转换为一个字符数组,可以使用toCharArray方法,而将数字转换为字符串可以使用valueOf方法,例如:

char[] array = "Java".toCharArray();//字符串转换为字符数组;String str = new String (new char[]{'J','a','v','a'});//用字符数组构造一个字符串;String str = String.valueOf(new char[]{'J','a','v','a'});//用valueOf方法将字符数组转换为字符串;

  • 将字符和数值转换成字符串

    使用静态的valueOf方法能够将字符数组转化为字符串。可以使用valueOf方法的几个重载版本将字符和数值转换为字符串,这些重载方法的参数类型可以为char , double , long , int 和 float类型。

String str = String.valueOf(5.44);//返回值是由字符'5','.','4','4'组成的字符串;//其它类型的参数也是同样的使用方法。
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 擦鼻子擦多了疼怎么办 擤鼻涕时耳朵听不见了怎么办 吸鼻涕耳朵感觉被塞怎么办 擤鼻涕多了头疼怎么办 鼻子擤出鼻息肉怎么办 擤鼻涕鼻子破了怎么办 下水道里有鼻涕虫的怎么办 家里井口处有很多鼻涕虫怎么办 花生地里有蜗牛怎么办 菜园里有好多虫怎么办 心里莫名的急该怎么办 老感觉心烦气燥怎么办 什么事都不想做怎么办心里烦躁 咳嗽流鼻涕身体发热怕冷怎么办 不感冒流清鼻涕怎么办 刚怀孕感冒了怎么办鼻塞流鼻涕 孕妇打喷嚏流鼻涕怎么办速效办法 宝宝流鼻涕一个月了怎么办 一个月婴儿感冒咳嗽流鼻涕怎么办 怎么办感冒能好得快些 一个月的宝宝流鼻涕怎么办 鼻炎犯了一直流鼻涕怎么办 宝宝流鼻涕鼻子擦破了怎么办 宝宝流鼻涕鼻子擦红了怎么办 上班忘记穿内衣了怎么办 早上上班忘记穿内衣了怎么办 高中知识都忘了怎么办 留鼻涕跟水一样怎么办 鼻涕像水一样流怎么办 肩膀很疼怎么办睡不着觉 夏天穿内衣出汗后很臭怎么办 脸过敏后严重缺水怎么办 过敏后脸上反复出现湿疹怎么办 孕妇脸上长湿疹过敏红肿怎么办 一岁宝宝一直流鼻涕怎么办 三岁宝宝一直流鼻涕怎么办 3岁宝宝一直流鼻涕不好怎么办 7岁半边鼻子不通气怎么办 感冒流鼻涕鼻子不通气怎么办 鼻子不通气干的怎么办 7个月婴儿流鼻涕怎么办