javaAPI_1

来源:互联网 发布:mac high sierra知乎 编辑:程序博客网 时间:2024/05/17 20:21

---------------------- android培训java培训、期待与您交流!----------------------

String类:

String 类代表字符串。Java 程序中的所有字符串字面值(如"abc" )都作为此类的实例实现。字符串最大特点:一旦被初始化就不可以被改变

实例:String s1=”abc”和String s2=new String(“abc”);区别?s1在内存中有一个对象,s2在内存中有两个对象

在常量池中存在的字符串,当再定义一个相同的字符串时,java在内存中不会再开辟空间,而是直接用原来相同的那个值,如:String s1=”abc”;String s2=”abc”;当判断s1==s2时,结果为true,常量池存在于内存中的共享区中

字符常用方法的使用:

1.    获取

1.1字符串中包含的字符数,即字符的长度:int length();

1.2根据位置获取字符串中的字符:char charAt(int index);

1.3.1根据字符(字符串)获取该字符(字符串)在字符串中的位置:

       int indexOf(ch);返回的是ch在字符串中第一次出现的位置;(当不存在时返回-1);

       int indexOf(ich,int index); 返回的是ch在字符串中从index以后开始出现的位置;

1.3.2根据字符(字符串)获取该字符(字符串)在字符串中最后出现的位置:

int lastIndexOf(ch);返回指定字符(字符串)在此字符串中最后一次出现处的索引。

lastIndexOf(ch, int fromIndex);返回指定字符(字符串)在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。

2.判断(常用于判断文件名称是否以什么开头,文件类型(即后缀名));

       2.1字符串中是否包含某个子串

             boolean  contains(CharSequence s);当且仅当此字符串包含指定的 char 值序列时,返回 true;(特殊之处:indexOf(str)也可用于判断是否包含某个字符串)。

       2.2字符串中是否有内容

             boolean isEmpty(),判断字符串长度是否为0;

       2.3字符串是否以指定内容开头

             booleanstartsWith(String prefix);测试此字符串是否以指定的前缀开始。

       2.4字符串是否以指定内容结尾

             boolean endsWith(String suffix)测试此字符串是否以指定的后缀结束。

       2.5比较字符串:

             boolean equalsIgnoreCase(String anotherString)将此 String 与另一个 String 比较,不考虑大小写。(考虑大小写用equals);

3. 转换:(特殊:字符串和字节数组在转换过程中是可以知道编码表的)

       3.1将字符数组转换成字符串:

             构造函数:String(char[]);String(char[],int offset,int count);

             静态方法:static String copyValueOf(char[]);  static String copyValueOf(char[],int offset,int count);             

                             static String valueOf((char[]);  static String ValueOf(char[],int offset,int count);

       3.2将字符串转换成字符数组:

              char[]toCharArray()将此字符串转换为一个新的字符数组。

       3.3将字节数组转换成字符串:

        构造函数:String(byte[]);String(byte[],int offset,int count);

       3.4将字符串转换为字节数组:

       byte[] getBytes()

       3.5将基本数据类型转换成字符串:

        static String   valueOf(int/double等);

4,替换:

         String replace(oldchar,newchar);用新的字符或字符串替换字符串中指定的老字符串。(说明:字符替换后返回新的字符串,原来老的字符串不会改变)

5.切割

       String[] split(regex);用指定字符或字符串regex对字符串进行切割,返回字符串数组

6.获取字符串中的子串:

       String substring(begin);

       String substring(begin,end);//包含begin,不包含end

7.转换,去除空格,比较

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

          String toUpperCase()

     String toLowerCase();

       7.2将字符串两端的多个空格去掉

              String trim();

       7.3对两个字符串进行字典顺序的比较

        int compareTo(str)

StringBuffer是字符串缓冲区(它是一个容器)

特点:

1.    长度是可变化的

2.    可以直接操作多个数据类型

3.    最终会通过toString方法变成字符串

1.存储

        StringBuffer append(数据);将指定数据作为参数添加到已有数据的结尾处.

        StringBuffer insert(int index,数据);可以将数据插入到指定index位置;

2.删除:

       StringBuffer delete(int start,int end);删除指定缓冲区中的数据(包含start不包含end)

       StringBuffer deleteCharAt(int index);删除指定位置的字符

4.    获取:

        char CharAt(int index);

        int indexOf(String str[,int fromIndex]);

        int lastIndexOf(String str);

        int length();

        **String substring(int start,int end);

5.    修改:

        StringBuffer replace(int start,int end,String);

        *void setCharAt(int index,char ch);//不返回值

6.    反转

        StringBuffer reverse();

7.    将缓冲区中指定数据存储到指定字符数组中。

        void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)

JDK1.5之后出现了StringBuilder

StringBuffer是线程同步的

StringBuilder是线程不同步的(开发优先使用,效率高)

基本数据类型包装类

基本数据类型      应用数据类型

byte                     Byte

short                   Short

int                       Integer

long                    Long

boolean               Boolean

float                    Float

double                Double

char                   Character

基本数据类型包装类最常见作用就是:基本数据类型和字符串类型之间的转换

1.    基本数据类型转字符串

        基本数据类型+””;

   String toString() 返回一个表示该值的String 对象。

    static StringtoString(基本数据类型) 返回一个表示指定基本数据类型的String 对象。

2.    符串转基本数据类型***

        xxx a=Xxx.parseXxx(String);

        int a=Integer.parseInt(“123”);//只能传入数字格式字符串

        double b=Double.parseDoublie(“23.3”);

练习:

1.    模拟trim方法去除字符串两边的空格。

2.    将字符串反转,将指定位置字符反转:

3.    字串在字符串中出现的次数:

4.    获取两个字符串中最大相同的字串:

---------------------- android培训java培训、期待与您交流!----------------------

详情请查看:http://edu.csdn.net/heima

原创粉丝点击