String类的一些方法

字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。

String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了。

如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。

因此,剑指offer的question4需要将字符串存入数组再进行修改操作。

 

字符串转字符数组

package String;

/**
 * 
 * @author crane
 *
 **字符串转字符数组
 *
 */

public class StringDemo1 {
    public static void main(String[] args) {
        String str = "hello";
        char[] data = str.toCharArray();
        for(int i = 0; i < data.length; i++)
        {
            System.out.print(data[i] );
            if(str.charAt(data.length-1) != data[i])
            {
                System.out.print("、");
            }
        }
    }
}

运行结果:

 

 

字符串转字节数组

package String;
/**
 * 
 * @author crane
 *
 **字符串转字节数组
 *
 */
public class StringDemo2 {
    public static void main(String[] args) {
        String str = "helloworld";
        byte[] data = str.getBytes();
        for(int x = 0; x < data.length; x++) {
            data[x] -= 32;
        }
        System.out.println(new String(data));
        System.out.println(new String(data,1,7));
    }
}

运行结果:

 

 

字符串的输入+比较

package String;

/**
 * 
 * @author crane
 *
 **字符串的输入+比较
 *
 */

import java.util.Scanner;

public class StringDemo3 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        try {
            System.out.println("请输入第一个字符串");
            String stra = scan.next();
            System.out.println("请输入第二个字符串");
            String strb = scan.next();
            
            System.out.println(stra.compareTo(strb));
            if(stra.compareTo(strb)>0) {
                System.out.println(stra+"大于"+strb);
            }
            else if(stra.compareTo(strb)<0){
                System.out.println(stra+"小于"+strb);
            }
            else {
                System.out.println(stra+"等于"+strb);
            }
        }catch(Exception e) {
            System.out.println("error");
        }
        finally {
            scan.close();
        }

    }

}

运行结果:

 

split方法

 1 /**
 2  * 
 3  * @author crane
 4  *
 5  *split方法用于拆分字符串,参数是拆分字符串的分隔符
 6  *str.split(" ");
 7  *参数为空则按字符全部拆分
 8  */
 9 public class StringDemo6 {
10     public static void main(String args[]) {
11         String str = "hello yootk nihao mldn";
12         String result[] = str.split(" ");
13         for(int x = 0; x < result.length; x++) {
14             System.out.print(result[x]+" 、");
15         }
16         System.out.println("");
17         
18         String resultA[] = str.split("");
19         for(int x = 0; x < resultA.length; x++) {
20             System.out.print(resultA[x] + "、");
21         }
22     }
23 }

运行结果:

 

replace方法

 1 package String;
 2 /**
 3  * 
 4  * @author crane
 5  *
 6  *replace方法用于字符串内的查找替换
 7  **参数1为待替换内容,参数2为替换为什么内容
 8  *replaceAll方法用于替换字符串内所有符合条件的子串
 9  **replaceAll是支持正则表达式,第一个参数可以用正则表达式描述
10  *
11  *replace和replaceAll都是替换整个字符串的内容
12  *
13  *replaceFirst方法用于替换字符串中第一个匹配的子串的内容
14  */
15 
16 public class StringDemo5 {
17     public static void main(String[] args) {
18         String str = "helloworld,hello";
19         String resultA = str.replace("ll", "H");
20         String resultB = str.replaceAll("l", "_");
21         String resultC = str.replaceFirst("l", "_");
22         System.out.println(resultA);
23         System.out.println(resultB);
24         System.out.println(resultC);
25         
26     }
27 }

 运行结果:

 

indexOf方法

package String;
/**
 * 
 * @author crane
 *
 *index of查找方法
 **如果是一个参数,返回这个子串在字符串中的位置
 **如果是两个参数,第一个参数是查找的子串,第二个参数是查找的位置,从第几个元素开始查找
 *
 *lastIndexOf从后往前查找
 *
 *contains方法也可以查找,有则返回1,没有则返回0
 *
 */
public class StringDemo4 {
    public static void main(String[] args) {
        String str = "helloworld";
        System.out.println(str.indexOf("world"));
        System.out.println(str.indexOf("l"));
        System.out.println(str.indexOf("l",6));
        System.out.println(str.lastIndexOf("l"));
        if(str.indexOf("world") != -1) {
            System.out.println("str中有world");
        }
        if(str.contains("worlc")) {
            System.out.println("str 中有world");
        }
        else {
            System.out.println("str 中没有worlc");
        }
    }
}

 运行结果:

 

posted @ 2019-05-17 15:30  DIAO葫芦娃  阅读(163)  评论(0编辑  收藏  举报