美文网首页
day13-01~05-String(概述、获取和判断、转换、切

day13-01~05-String(概述、获取和判断、转换、切

作者: 姗婷 | 来源:发表于2020-06-07 21:37 被阅读0次

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

常见的操作有哪些?
"abcd"

1.获取

1.1字符串中的包含的字符数,也就是字符串的长度
    int length():长度。注意:数组的长度是没有arr.length
1.2根据位置获取位置上某个字符。
    char charAt(int index);
1.3根据字符获取 的位置
    int indexOf(int ch):返回的是ch在字符串中第一次出现的位置
    int indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取ch在字符串中出现的位置。
    int indexOf(String str):返回的是str在字符串中第一次出现的位置
    int indexOf(String str,int fromIndex):从fromIndex指定位置开始,获取str在字符串中出现的位置

2.判断。

2.1字符串是否包含某一个子串
    boolean contains(str)
    特殊之处:indexOf(str):索引str第一次出现的位置,如果返回-1,代表该str不在字符串中存在。
    所以,也可以用于对指定判断是否包含
    if(str.indexOf"aa"!=-1),而且该方法即可判断,有可以获取出现的位置
2.2字符串是否有内容:原理就是判断字符串长度是否为0
    boolean isEmpty():原理就是判断长度是否为0,jdk1.6开始的功能
2.3字符串是否是以指定内容开头。
    boolean startsWith();
2.4字符串是否是以指定内容结尾。
    boolean endsWith(str);
2.5判断字符串内容是否相同,复写了Object类中equals方法
    boolean equals(str);
2.6判断字符串是否相同,并忽略大小写。
    boolean equalsIgnoreCase();

3.转换

3.1将字符数组转换成字符串
    构造函数:String(char[])
            String(char[]),offset,count);将字符数组中的一部分转换成字符串
    静态方法:
        static String copyValueOf(char[])
        static String copyValueOf(char[],int offset,count)
        static String valueOf(char[]);
3.2将字符串转换成字符数组
char[] toCharArray(),不需要传任何参数
3.3将字节数组转换成字符串。
    String(byte[]);
    String(byte[],offset,count):将字节数组一部分转换成字符串。
###3.4将字符串转换成字节数组
byte[]  getBytes();
3.5将基本数据类型转换成字符串。
static String valueOf(int)
static String valueOf(double)
特殊:字符串和字节数组在转换过程中是可以指定编码表

4.替换

String replace(oldchar,newchar);如果被替换的字符串不存在,还是原串

5.切割

String[] split(regex);

6.子串(substring,s是小写)

String substring(begin);//从指定位置结束,如果角标不存在,提示角标越界
String substring(begin,end);//包含头不包含尾;获取所有s.substring(0,s.lentth());

7.转换

7.1将字符串转成大写或小写
    String toUpperCase();
    String toLowerCase();
7.2将字符串两端的多个空格去除
    String trim();
7.3对两个字符串进行自然顺序的比较
int compareTo(String);
class StringMethodDemo
{
    public static void main(String args[])
    {
        
        /*String s1 = "abc";
        String s2 = new String("abc");
        String s3 = "abc";
        System.out.println(s1==s2);//结果false
        System.out.println(s1==s3);//结果true
        */
        //method_is();  
        //method_trans();
        //method_split();cc
        //method_subString();   
        method_7();
    }
    public static void method_7()
    {
        String s = "   Hello Java  ";
        sop(s.toLowerCase());
        sop(s.toUpperCase());
        sop(s.trim());
        String s7 = "abc";
        String s8 = "aac";
        sop(s7.compareTo(s8));//结果1,第一个数a是相同的,第二位b比a大1,第三个不再比
    }
    
     public static void method_subString()
    {
        String str4 = "abjikdldkld";
        String str5 = str4.substring(5);
        String str6 = str4.substring(5,9);
        sop("str5="+str5);
    }
    //切割
    public static void method_split()
    {
        String s = "zhangsan,lisi,wangwu";
        String[] arr = s.split(",");
        for(int x = 0;x<arr.length;x++)
        {
            sop("arr[]="+arr[x]);
        }
    }
    public static void method_replace()
    {
        String s = "hello java";
        String s1 = s.replace('a','n');
        sop("s="+s);//结果:hello java字符串一旦初始化,
        sop("s="+s1);//结果:hello jnvn
    }
    public static void method_trans()
    {
        char[] ch= {'a','b','c','d','e','f','g'};   
        //方法1:构造函数法:将字符数组转换成字符串
        String str2 = new String(arr,1,3);//从角标1,右边3个,结果是bcd
        //方法2:静态方法:将字符数组转换成字符串
        String str3 = String.copyValueOf(ch,4,3);
        sop("str3="+str3);
        
        /*
        //将字符串转换成字符数组char[] toCharArray()
        String s1 ="jdkdjdjj";
        char[] ch = s1.toCharArray();
        //遍历数组打印
        for(int x=0,x<ch.length;x++)
        {
            sop("ch[x]"+ch[x]);
        }
        //将字节数组转换成字符串
         byte[] b={(byte)0xB8,(byte)0xDF,(byte)0xCB,(byte)0xD9}; 
        String str= new String (b);
        //将字符串转换成字节数组
        sop(str1.startsWith("Arrya"));
        */
        
    }
    public static void method_is()
    {
        String str1 = "ArrayDemo.java";
        //判断文件名称是否包含Demo
        sop(str1.contains("Demo"));
        sop(str1.isEmpty());
        //判断文件名称是否是java文件
        sop(str1.endsWith(".java"));
        //判断文件名称是否是Array单词开头
        sop(str1.startsWith("Arrya"));
        
    }
    public static void method_get()
    {
        String str = "abcdeakpfab";
        //长度
        sop(str.length());
        //根据索引获取字符。
        sop(str.charAt(30));//当访问不到字符串不存在的角标是会发生StringIndexOutOfBoundsException
        //根据字符获取索引
        //sop(str.indexOf('a',4));//如果没有找到返回-1
        sop(str.indexOf("ab",6));
        //反向索引一个字符出现位置。
        sop(str.lastIndexOf("a"));//返回的还是从左往右的角标位置                                                                             
            
    }
    public static void sop(Object obj)
    {
        System.out.println(obj);
    }
}

相关文章

网友评论

      本文标题:day13-01~05-String(概述、获取和判断、转换、切

      本文链接:https://www.haomeiwen.com/subject/gpiqtktx.html