java基础知识回顾之---java String final类普通方法

辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正。

 

/*
     * 按照面向对象的思想对字符串进行功能分类。
     *
     *
     * 1,获取:
     * 1.1 获取字符串中字符的个数(长度).
     *         int length();
     * 1.2 取字符串中的某一个字符,其中的参数index指的是字符串中序数。字符串的序数从0开始到length()-1 。
     *         char charAt(int index);
     * 1.3 根据字符获取在字符串中的第一次出现的位置.
     *         int indexOf(int ch)
     *         int indexOf(int ch,int fromIndex):从指定位置fromIndex进行ch的查找第一次出现位置
     *         int indexOf(String str);
     *         int indexOf(String str,int fromIndex);
     *         从左到右根据字符串获取在字符串中的最后一次出现的位置.
     *         int lastIndexOf(int ch)
     *         int lastIndexOf(int ch,int fromIndex):从指定位置进行ch的查找最后一次一次出现位置
     *         int lastIndexOf(String str);
     *         int lastIndexOf(String str,int fromIndex);
     * 1.4 获取字符串中一部分字符串。也叫子串.
     *         String substring(int beginIndex, int endIndex)//包含begin 不包含end 。
     *         String substring(int beginIndex);
     *         
     *
     *
     * 2,转换。
     *         2.1 将字符串变成字符串数组(字符串的切割)
     *             String[]  split(String regex):涉及到正则表达式.
     *         2.2 将字符串变成字符数组。
     *             char[] toCharArray();
     *         2.3 将字符串变成字节数组。
     *             byte[] getBytes();
     *         2.4 将字符串中的字母转成大小写。
     *             String toUpperCase():大写
     *             String toLowerCase():小写
     *        2.5  将字符串中的内容进行替换
     *            String replace(char oldch,char newch);
     *             String replace(String s1,String s2);
     *         2.6 将字符串两端的空格去除。
     *             String trim();
     *         2.7 将字符串进行连接 。
     *             String concat(string);
     *
     * 3,判断
     *         3.1 两个字符串内容是否相同啊?
     *             boolean equals(Object obj);
     *             boolean equalsIgnoreCase(string str);忽略大写比较字符串内容。
     *         3.2 字符串中是否包含指定字符串?
     *             boolean contains(string str);
     *         3.3 字符串是否以指定字符串开头。是否以指定字符串结尾。
     *             boolean startsWith(string);
     *             boolean endsWith(string);
     * 比较:
     *  Unicode 值进行比较
     *     int compareTo(String anotherString) :
     *     当前String对象与anotherString比较。
     * (1)相等关系返回0;compareTo 只在方法 equals(Object) 返回 true 时才返回 0。
     *  (2) 不相等时,从两个字符串第0个字符开始比较,返回第一个不相等的字符差,
       (3)另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。
        int compareTo(Object o) :如果o是String对象,和2的功能一样;否则抛出ClassCastException异常。
     *

     5.将java中不同类型转化为字符串类型
     *   static String valueOf(boolean b)
         static String valueOf(char c)
         static String valueOf(char[] data)
         static String valueOf(char[] data, int offset, int count)
         static String valueOf(double d)
         static String valueOf(float f)
         static String valueOf(int i)
         static String valueOf(long l)
         static String valueOf(Object obj)               
     */

  

public class StringMethodDemo {


   

   public static void main(String[] args) {

        stringMethodDemo_4();
        
    }
private static void stringMethodDemo_5() {
            char ch = 'a';
            int ch1 = 97;
            char[] arr = {'a','b','c'};
            System.out.println(String.valueOf(ch));
            System.out.println(String.valueOf(ch1));
            System.out.println(String.valueOf(arr));//把字符数组转化为字符串
        }
    private static void stringMethodDemo_4() {
        
       String s1 = new String("abcdefghijklmn");
       String s2 = new String("abcdefghij");
       String s3 = new String("abcdefghijalmn");
       System.out.println("abcdefghij".compareTo(s2));//相等返回0
       System.out.println("s1.compareTo(s2): " + s1.compareTo(s2) ); //返回长度差4
       System.out.println("s1.compareTo(s3): " + s1.compareTo(s3) ); //返回'k'-'a'的差10
    }

    /**
     * 3,判断
         *         3.1 两个字符串内容是否相同啊?
         *             boolean equals(Object obj);
         *             boolean equalsIgnoreCase(string str);忽略大写比较字符串内容。
         *         3.2 字符串中是否包含指定字符串?
         *             boolean contains(string str);
         *         3.3 字符串是否以指定字符串开头。是否以指定字符串结尾。
         *             boolean startsWith(string);
         *             boolean endsWith(string);
     */
    private static void stringMethodDemo_3() {
        String s = "abcdsess";
        System.out.println(s.equals("ABCDSESS".toLowerCase()));//true
        System.out.println(s.equalsIgnoreCase("ABCDSESS"));//true
        System.out.println(s.contains("sess"));//字符串中是否包含指定字符串sess
        String str  = "ArrayDemo.java";
        System.out.println(str.startsWith("Array"));//字符串是否以Array开头
        System.out.println(str.endsWith(".java"));//字符串是否以.java结尾
        System.out.println(str.contains("Demo"));//字符串中是否包含指定字符串Demo
    }
/**
 *   2,转换。
         *         2.1 将字符串变成字符串数组(字符串的切割)
         *             String[]  split(String regex):涉及到正则表达式.
         *         2.2 将字符串变成字符数组。
         *             char[] toCharArray();
         *         2.3 将字符串变成字节数组。
         *             byte[] getBytes();
         *         2.4 将字符串中的字母转成大小写。
         *             String toUpperCase():大写
         *             String toLowerCase():小写
         *        2.5  将字符串中的内容进行替换
         *            String replace(char oldch,char newch);
         *             String replace(String s1,String s2);
         *         2.6 将字符串两端的空格去除。
         *             String trim();
         *         2.7 将字符串进行连接 。
         *             String concat(string);
         *      2.8 static String copyValueOf(char[] data) :
                2.9 static String copyValueOf(char[] data, int offset, int count) :这两个方法将char数组转换成String,与其中一个构造函数类似。
 */
    private static void stringMethodDemo_2() {
        
        String  s = "张三,李四,王五";//字符串常量
        
        String[] arr = s.split(",");//字符串以逗号切割
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");//张三 李四 王五 
        }
       System.out.println("\n"+"*****************");
       
       String date = "2008/09/10";
       String[] dateAfterSplit= new String[3];
       dateAfterSplit=date.split("/");         //以“/”作为分隔符来分割date字符串,并把结果放入3个字符串中。
       for(int i=0;i<dateAfterSplit.length;i++)
                  System.out.print(dateAfterSplit[i]+" ");//2008 09 10 
       System.out.println("\n"+"*****************");
        
        //将String转化为字符数组
        char[] chs = s.toCharArray();
        for (int i = 0; i < chs.length; i++) {
            System.out.print(chs[i]+" ");//张 三 , 李 四 , 王 五 
        }
        System.out.println("\n"+"*****************");
        /***************将字符串变为字节数组*******************/
        s = "abc";
        byte[] bytes = s.getBytes();
        for (int i = 0; i < bytes.length; i++) {
            System.out.print(bytes[i]+" ");//97 98 99 
        }
        System.out.println("\n"+"*****************");
        
        //将字符串转化为大小写
        System.out.println("Abc".toUpperCase());//ABC 
        System.out.println("ABc".toLowerCase());//abc
        System.out.println("\n"+"*****************");
        
        //将字符号串中第一个oldChar字符替换成newChar新字符。
        String s1 = "java";
        String s2 = s1.replace('k', 'z');
        String s3 = s1.replace('j', 'z');
        System.out.println(s2);//java
        System.out.println(s3);//zava
        System.out.println(s1==s2);//true
        System.out.println(s1.equals(s2));//true
        
        
        System.out.println("\n"+"*****************");
        //将字符串两端的空格去除,字符串内部的空格去除不了
        System.out.println("-"+"    ab  c    ".trim()+"-");
        //将两个字符串进行连接
        System.out.println("\n"+"*****************");
        String st1 = new String("abc");
        String st2 = "def";
        System.out.println(st1.concat(st2));
        //将字符数组转化为字符串,通过调用静态方法
        char[] arrx= {'w','a','p','q','x'};
        System.out.println(String.copyValueOf(arrx));
        System.out.println(String.copyValueOf(arrx,0,3));//包含begin,不包含,end
        
    }
    /**
     * 1,获取:    
         * 1.1 获取字符串中字符的个数(长度).
         *         int length();
         * 1.2 取字符串中的某一个字符,其中的参数index指的是字符串中序数。字符串的序数从0开始到length()-1 。
         *         char charAt(int index);
         * 1.3 根据字符获取在字符串中的第一次出现的位置,如果找不到,返回-1,下标从0开始
         *         int indexOf(int ch)
         *         int indexOf(int ch,int fromIndex):从指定位置fromIndex进行ch的查找第一次出现位置 
         *         int indexOf(String str);
         *         int indexOf(String str,int fromIndex);
         * 1.4根据字符串获取在字符串中的最后一次出现的位置,即找最后一个匹配的值的位置
         *         int lastIndexOf(int ch)
         *         int lastIndexOf(int ch,int fromIndex):从指定位置进行ch的查找第一次出现位置 
         *         int lastIndexOf(String str);
         *         int lastIndexOf(String str,int fromIndex);
         * 1.5 获取字符串中一部分字符串。也叫子串.
         *         String substring(int beginIndex, int endIndex)//包含begin 不包含end 。
         *         String substring(int beginIndex);
     */
    private static void stringMethodget_1() {
        
        String  s = "abcdaed";
        
        System.out.println("length:"+s.length());//length:6
        System.out.println("获取字符串中的某个位置的某个值:"+s.charAt(5));//char:e 如果超出范围:StringIndexOutOfBoundsException
        System.out.println("index:"+s.indexOf('k'));//index:-1 我们可以根据-1,来判断该字符或者字符串是否存在。
        System.out.println("从左到有第一次出现的位置为:"+s.indexOf('c'));//从左到有第一次出现的位置为:2
        System.out.println("从左到有第一次出现的位置为:"+s.indexOf(97));//从左到有第一次出现的位置为:0
        System.out.println("从指定位置开始d出现的位置:"+s.indexOf('d',2));//从指定位置开始d出现的位置:3
        System.out.println("最后匹配的a的位置:"+s.lastIndexOf('a'));//从左到右
        System.out.println("子字符串为:"+s.substring(2,4));//包含begin,不包含end,特别注意,下标从0开始
        System.out.println("子字符串为:"+s.substring(1));
    }

 


}

 
posted @ 2014-07-26 19:12  积淀  阅读(295)  评论(0编辑  收藏  举报