A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Animal 中级黑马   /  2015-5-24 15:59  /  1085 人查看  /  19 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
------------------------以下全部重点掌握---------------------------------
String类适用于描述字符串事物。
那么它就提供了多个方法对字符串进行操作。

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

1,获取。
        1.1 字符串中的包含的字符数,也就是字符串的长度。
                int length():获取长度。
        1.2 根据位置获取位置上某个字符。
                char charAt(int index):  返回指定索引处的 char 值。
        1.3 根据字符获取该字符在字符串中的位置。
                int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。传入的值是码表值
                int indexOf(int ch, int fromIndex) :从fromIndex指定位置开始,获取ch在字符串中出现的位置。

                int indexOf+(String str):返回的是指定子字符串在字符串中第一次出现的位置。
                int indexOf(String str, int fromIndex) :
                从fromIndex指定位置开始,获取指定子字符串在字符串中第一次出现的位置。

                int lastIndexOf(int ch) ://反向索引,返回的是ch在字符串中最后一次出现的位置


1示例:        public static void method_get()
        {
                String str = "abcdeakpf";

                //长度
                sop(str.length());  //用字符串对象str 调用方法

                //根据索引获取字符。
                sop(str.charAt(4));//当访问到字符串中不存在的角标时会发生StringIndexOutOfBoundsException。


                //根据字符获取索引
                sop(str.indexOf('m',3));//如果没有找到,返回-1.
               
                //反向索引一个字符出现位置。
                sop(str.lastIndexOf("a"));
--------------------------------------------------------------------------------------------------------       
2,判断。
        2.1 字符串中是否包含某一个子串。
                boolean contains(str):
                **特殊之处:indexOf(str):可以索引str第一次出现位置,如果返回-1.表示该str不在字符串中存在。
                                所以,也可以用于对指定字符串判断是否包含str。
                                if(str.indexOf("aa")!=-1)

                                而且该方法即可以判断,又可以获取出现的位置。********

        2.2 字符中是否有内容。
                boolean isEmpty(): 原理就是判断长度是否为0.
       
        2.3 字符串是否是以指定内容开头。
                boolean startsWith(str);
       
        2.4 字符串是否是以指定内容结尾。
                boolean endsWith(str);
       
        2.5 判断字符串内容是否相同。复写了Object类中的equals方法。
                boolean equals(str);
       
        2.6 判断内容是否相同,并忽略大小写。
                boolean equalsIgnoreCase();
       
        public static void method_is()
        {
                String str = "ArrayDemo.java";
               
                //判断文件名称是否是Array单词开头。
                sop(str.startsWith("Array"));
                //判断文件名称是否是.java的文件。这个功能是判断文件类型的
                sop(str.endsWith(".java"));
                //判断文件中是否包含Demo
                sop(str.contains(".java"));


        }

----------------------------------------------------------------------------------------
3,转换。
        3.1 将字符数组转成字符串。
                构造函数:String(char[])
                                  String(char[],offset,count):将字符数组中的一部分转成字符串。

                静态方法:
                                static String copyValueOf(char[]);
                                static String copyValueOf(char[] data, int offset, int 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)

                //3+"";//String.valueOf(3);

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

4,替换
        String replace(oldchar,newchar);

5,切割
        String[] split(regex);

6,子串。获取字符串中的一部分。
        String substring(begin);
        String substring(begin,end);

7,转换,去除空格,比较。
        7.1 将字符串转成大写或则小写。
                 String toUpperCase();
                 String toLowerCase();

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

        7.3 对两个字符串进行自然顺序的比较。
                int compareTo(string);


*/

class  StringMethodDemo
{

        public static void method_7()
        {
                String s = "    Hello Java     ";
                sop(s.toLowerCase());
                sop(s.toUpperCase());
                sop(s.trim());

                String s1 = "a1c";
                String s2 = "aaa";

                sop(s1.compareTo(s2));
        }
        public static void method_sub()
        {
                String s = "abcdef";

                sop(s.substring(2));//从指定位置开始到结尾。如果角标不存在,会出现字符串角标越界异常。
                sop(s.substring(2,4));//包含头,不包含尾。s.substring(0,s.length());
        }

        public static void  method_split()
        {
                String s = "zhagnsa,lisi,wangwu";

                String[] arr  = s.split(",");

                for(int x = 0; x<arr.length; x++)
                {
                        sop(arr[x]);
                }
        }

        public static void method_replace()
        {
                String s = "hello java";

                //String s1 = s.replace('q','n');//如果要替换的字符不存在,返回的还是原串。


                String s1 = s.replace("java","world");
                sop("s="+s);
                sop("s1="+s1);
        }

        public static void method_trans()
        {
                char[] arr = {'a','b','c','d','e','f'};

                String s= new String(arr,1,3);

                sop("s="+s);

                String s1 = "zxcvbnm";

                char[] chs = s1.toCharArray();

                for(int x=0; x<chs.length; x++)
                {
                        sop("ch="+chs[x]);
                }
        }
        public static void method_is()
        {
                String str = "ArrayDemo.java";
               
                //判断文件名称是否是Array单词开头。
                sop(str.startsWith("Array"));
                //判断文件名称是否是.java的文件。
                sop(str.endsWith(".java"));
                //判断文件中是否包含Demo
                sop(str.contains(".java"));


        }


        public static void method_get()
        {
                String str = "abcdeakpf";

                //长度
                sop(str.length());

                //根据索引获取字符。
                sop(str.charAt(4));//当访问到字符串中不存在的角标时会发生StringIndexOutOfBoundsException。


                //根据字符获取索引
                sop(str.indexOf('m',3));//如果没有找到,返回-1.
               
                //反向索引一个字符出现位置。
                sop(str.lastIndexOf("a"));

               
        }
        public static void main(String[] args)
        {
                method_7();
//                method_trans();
//                method_is();
//                method_get();
                /*
                String s1 = "abc";
                String s2 = new String("abc");

                String s3 = "abc";
                System.out.println(s1==s2);
                System.out.println(s1==s3);

                */
        }

        public static void sop(Object obj)
        {
                System.out.println(obj);
        }


}

19 个回复

倒序浏览
楼主要是再加点自己的代码,那自是极好的
回复 使用道具 举报
好棒,顶一下
回复 使用道具 举报
总结的挺详细的
回复 使用道具 举报
好,谢谢楼主分享
回复 使用道具 举报
字符串这部分小知识挺多  实际使用很可能用到
回复 使用道具 举报
看到那么长的代码我都哭了
回复 使用道具 举报
很棒,学到了。
回复 使用道具 举报
受教了~!
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
自己笔记?好牛逼啊
回复 使用道具 举报
string是Java基础以及以后java开发编程中几乎最常见的类了,确实很重要,其各种操作方法很多,组合使用的范例也是比较多的。
回复 使用道具 举报
lizhi 来自手机 中级黑马 2015-5-25 00:17:23
13#
受益了...
回复 使用道具 举报
不错。。。。。
回复 使用道具 举报
笔记做得不错
回复 使用道具 举报
好吧 总结的非常好 ,作为新手的我看了觉得非常受用,挺楼主,
回复 使用道具 举报
Melo 中级黑马 2015-5-25 22:02:35
17#
写的挺详细的。
回复 使用道具 举报
谢谢分享,学习了
回复 使用道具 举报
学习了。。。。。
回复 使用道具 举报
多谢分享:victory:
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马