黑马程序员——String

来源:互联网 发布:淘宝千牛网页版登录 编辑:程序博客网 时间:2024/06/07 10:30

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

String类

字符串是一个特殊的对象

字符串一旦初始化就不可以被改变

★String s1 = “abc”;

         Strings2 = new String(“abc”);

         有什么区别?

         s1在内存中有一个对象

         s2在内存中有两个对象

★String类适用于描述字符串事物,那么他就提供了多个方法对字符串进行操作

         (1)获取

                   (1.1)字符串中的包含的字符数,也就是字符串的长度 int length()

                   (1.2)根据位置获取位置上某个字符char charAt(int index);

                   (1.3)根据字符获取该字符在字符串中位置

                            intindexOf(int ch):返回的是ch在字符串中的第一次出现的位置

                            int indexOf(int ch,int fromIndex):从fromIndex制定位置开始,获取ch在字符串中出现的位置

                            intindexOf(String str):返回的是str在字符串中的第一次出现的位置

                            int indexOf(String str,int fromIndex):从fromIndex制定位置开始,获取str在字符串中出现的位置

                            intlastIndexOf(String str):

         (2)判断

                   (2.1)字符串是否包含某一子串   contains(str)

                   (2.2)字符串中时候有内容   Boolean isEmpty()

                   (2.3)字符串是否是以指定内容开头  boolean startWidth(str)

                   (2.4) 字符串是否是以指定内容结尾booleanendWidth(str)

                   (2.5)判断字符串内容是否相同,复写了Object类中的equals方法

                   (2.6) 判断字符串内容是否相同 忽略大小写 booleanequalsIgnoreCase();

         (3)转换

                   (3.1)将字符数组转成字符串

                            构造函数:String(char[])

                                                 String(char[],offset,count)

                            静态方法:

                                               staticString copyValueOf(char[])

                                               staticString copyValueOf(char[] data,int offset,int count)

                                    

                                               staticString valueOf(char[])

                   (3.2)将字符串转成字符串数组

                                               char[]toCharAarray();

                   (3.3)将字节数组转成字符串

                                               构造函数:String(byte[])

                                                 String(byte [],offset,count)

 

                   (3.4)将字符串转成字节数组

                                               byte[]getBytes()

                   (3.5)将基本数据类型转成字符串

                            static  String valueOf(int)       static  StringvalueOf(double)       

★特殊:字符串和字节数组在转换过程中,是可以制定编码表的

         (4)替换

                   (4.1)Stringreplace(char oldchar,char new char)

         (5)切割

                   String[]split(regex);

         (6)子串,获取字符串中的一部分

                   Stringsubstring(begin);

                   Stringsubstring(begin,end)

         (7)转换:取出空格,比较

                   (7.1)将字符串转成大写或者小写

                            StringtoUpperCase();

                            StringtoLowerCase()

                   (7.2)将字符串两端的多个空格去除

                            Stringtrim();

                   (7.3)对两个字符串进行自然顺序排序的比较

                            intcompareTo(String);  

●StringBuffer

    ◆字符串的组成原理就是通过该类实现的

    ◆StringBuffer可以对字符串内容进行增删

    ◆StringBuffer是一个容器

    ◆很多方法与String相同

特点:

    ◆StringBuffer是可变长度的

    ◆StringBuffer可以直接操作多个数据类型 

    ◆通过toString方法变成字符串

  ★(1)存储

        StringBufferappend():将制定数据作为参数添加到已有数据结尾处

        StringBufferinsert(index,数据)可以将数据插入到指定index指定位置

    (2)删除

        StringBufferdelete(start,end):删除缓冲区中的数据,包含start,不包含end

        StringBufferdeleteCharAt(index):删除指定位置的数据

    (3)获取

        charcharAt(int index)

        intindexOf(String str)

        intlastIndexOf(String str)

        intlength()

        Stringsubstring(int start,int end)

    (4)修改

        StringBufferreplace(start,end,string)

        voidsetCharAt(int index,char)

(5)反转

        StringBufferreverse()

(6)将缓冲区中指定数据存储到指定字符数组中

                   voidgetChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)

JDK1.5版本之后出现了StringBuilder

StringBuffer是线程同步

StringBuilder是线程不同步的

 

*jdk升级原因 1提高效率2简化书写3提高安全性

●基本数据类型对象包装类

    byte    Byte

    short   Short

    int     Integer

    long    Long

    boolean     Boolean

    float   Float

    double  Double

    char    Character

 

基本数据类型对象包装类的最常见作用

就是用于基本数据类型和字符串类型之间做转换

 

◆基本数据类型转成字符串

         基本数据类型+“”

         基本数据类型.toString(基本数据类型值)   

         如Integer.toString(34)

 

◆字符串转成基本数据类型

                   xxxa=xxx.parseXXX(“  ”);

                  

                   Integer i = new Integer("123");

       int intValue =i.intValue();

◆十进制转成其它进制

toBinaryString()

toHexString()

toOctalString()

其他进制转成十进制

parsrInt(“110”,10)

 

 

 

 

 

●JDK1.5版本以后出现的新特性

    自动装箱  自动拆箱

    Integerm = 128

    Integern = 128

    sop(“m==n:”+m==n);false

    Integera = 127

    Integerb = 127

    sop(“a==b:”+a==b);true

    因为当数值在byte范围内,对于新特性,如果该数值已经存在不会在开辟新的空间


public class StringDemo {public static void main(String[] args) {String s= "skkjkka";System.out.println(reverseDemo(s,0,s.length()));}/*模拟一个trim方法,取出字符串两端的空格*/private static String trimDemo(String s) {int start=0;int end=s.length()-1;while(s.charAt(start)==' '&&start<=end){start++;}while(s.charAt(end)==' '&&start<=end){end--;}return s.substring(start,end+1);}/*将一个字符串反转,将字符串中指定部分进行反转*/private static String reverseDemo(String s,int start,int end){char[] arr = s.toCharArray();char temp;for (int i = start,j=end-1; i < j; i++,j--) {temp=arr[i];arr[i]=arr[j];arr[j]=temp;}return new String(arr);}/*获取一个字符串在另外一个人字符串中出现的次数*/private static String getCount(String s,String key){int count=0;int index=0;while((index=s.indexOf(key,index))!=-1){index=index+key.length();count++;}System.out.println(count);return s;}/*获取两个字符串中最大相同子串,第一个动作,将短的那个串进行长度一次递减的子串打印*/private static String getMaxSubString(String s1,String s2){String max="",min="";max=(s1.length()>=s2.length())?s1:s2;min=(max==s1)?s2:s1;for (int i = 0; i < min.length(); i++) {for (int j = 0,k=min.length()-i; k!=min.length()+1; j++,k++) {String temp = min.substring(j,k);if(max.contains(temp)){return temp;}}}return "";}}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一吸气就想咳嗽怎么办 鼻子堵住了怎么办没法吸气时 一只鼻子不通气怎么办 练瑜伽后特别饿怎么办 站一天小腿肿了怎么办 练腹肌腰粗了怎么办 大专不交学费.然后退学怎么办 练瑜伽压腿一字马受伤了怎么办 银行工作人员借钱不还怎么办 借钱不还跑了但有工作怎么办 亲戚家借钱不还怎么办 学习瑜伽教练口令好复杂怎么办 练瑜伽腿的柔韧性不够怎么办 瑜伽扭转时手抓不到脚怎么办 练瑜伽腿部太硬怎么办 褶皱衣服不紧了怎么办 吃撑了肚子涨怎么办 正好压本科线该怎么办 大脚趾被砸了怎么办 脊柱侧弯每天疼怎么办 内衣扣的位置脊柱疼怎么办 练完瑜伽颈椎疼怎么办 乳胶枕头太高了怎么办 枕头太高脖子痛怎么办 颈椎突出症状缓解后怎么办 外痔疼的的历害怎么办 小肚子疼得历害怎么办 练瑜伽伤到颈椎怎么办 鼻子干口干胃烧怎么办 颈椎病压迫神经引起手麻怎么办 4个月婴儿睡觉少怎么办 晚上睡觉睡不好老是醒来怎么办 吃了没熟的香蕉怎么办 70岁父母老吵架怎么办 怀孕七个月晚上睡不着怎么办 九个月宝宝睡眠不好怎么办 一个月的宝宝放不下怎么办 宝宝被吓了发烧怎么办 体内火气重睡不着觉怎么办 宝宝睡觉一直翻身发出声音怎么办 严重失眠怎么办整夜睡不着觉