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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王强0925 中级黑马   /  2015-10-17 23:07  /  466 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这一天的东西基本上把我废了,怎么才能高效的学习这么多的东西,
String类:
        概述:多个字符组成的一串数据。
        构造方法:
                空参:String()
                带参:
                        参数是字节数组
                                String(byte[] bys)
                                String(byte[] bys,int index,int length)
                        参数是字符数组
                                String(char[] chs)
                                String(char[] chs,int index,int length)
                        参数是字符串
                                String(String str)
                直接给字符串对象赋值(最最常用的用法)

                空串和null有什么区别?
                        空串:有对象的。只不过值是""
                        null:是没有对象的。
                面试题:
                        1、字符串,数组和集合分别如何获取长度?
                                字符串:length()
                                数组:length属性
                                集合:size()

                        2、怎么理解字符串一旦被创建就不能改变,这是一个常见的面试题。
                                这句话是对的。
                                不能被改变指的是 字符串在字符串常量池中的值不能发生改变。
                                而不是指的字符串的引用不能发生改变。
                                String s = "abc";
                                s = "abcd"

                        3、 String s1 = new String(“abc”);
                                String s2 = “abc”;
                                s1和s2有区别吗?
                                        有区别。
                                                s1在内存中有两个对象(堆一个,字符串常量池一个)
                                                s2在内存中只有一个对象(字符串常量池中)


        常用方法:
                判断功能:(首尾中空加判断)
                        startsWith(String str);
                        endsWith(String str);
                        contains(String str);
                        **isEmpty();   判断字符串对象是否为空(空串)。
                        **equals(Object obj);        //区分大小写,因为是重写Object类中的equals方法,所以形参是Object类型。
                        equalsIgnoreCase(String str);  //忽略大小写的。
                        练习题:
                                模拟登录,从控制台输入用户名密码,如果用户名密码正确的话,提示登陆成功,否则提示登陆失败。登陆过程中只能尝试3次。
                                        思路:
                                                1、要模拟登陆,必须已存在用户名和密码。
                                                2、键盘录入,让用户输入用户名和密码。
                                                3、把两组数据进行比较。
                                                        匹配:提示登陆成功。
                                                                  可以把咱们以前讲的猜数字的游戏的代码放这儿。
                                                        不匹配:提示还有几次机会,并让用户接着输入。
                                                4、因为只让用户尝试3次,所以用for循环改进。

                                用面向对象的思想改进:
                                        必须有一个用户类:
                                                成员变量:用户名,密码
                                                构造方法:空参,带参
                                                get和set方法
                                                成员方法:
                                                        判断用户是否登陆成功:boolean isLogin(String username,String password );
                               
                       
                获取功能:截长取位取元素
                        String substring(int start);   //从start位置开始截取元素(包括start),直到该字符串末尾。
                        String substring(int start,int end);  //从指定位置开始,到指定位置结束。
                                注意:这两个方法返回的都是一个新串,之前的字符串的值并没有发生变化。
                        int length();
                        int indexOf(int ch);        //从字符串的第一个元素开始,找指定元素在字符串中第一次出现的索引
                        int indexOf(int ch,int fromIndex);//从字符串的指定位置开始,找指定元素在字符串中第一次出现的索引
                        int indexOf(String str);
                        int indexOf(String str,int fromIndex);
                        char charAt(int index);  //找字符串中指定位置的元素

                                查看下面需求,思考思路(不要求写出代码)
                                        给定一个字符串常量,统计该串中有大写字母、小写字母、数字各有多少个。
                                        举例:
                                                Hello12345World
                                                大写 : 2个
                                                小写 : 8个
                                                数字 : 5个
                                                String str = "Hello12345World";
                                        思路:
                                                1、定义三个统计变量(计数器),分别来记录这三种类型字符的个数。
                                                2、遍历字符串,获取到该字符串中的每一个字符。
                                                3、判断当前遍历到的字符是哪种类型的字符,是哪种,哪种计数器++。
                                                4、打印计数器的值。

                                        改进版:通过键盘录入,让用户输入一个字符串,然后计算出该字符串中:
                                                        大写字母,小写字母,数字,以及其他符号分别有多少个。

                转换功能:大小拼串转数组
                        String toUpperCase();
                        String toLowerCase();
                        String concat(String str);
                        static String copyValueOf(char[] chs);
                        static String valueOf(char[] chs);
                        static String valueOf(int i);  //可以基本类型的数据转成字符串,此处以int为例。
                        重点掌握:
                                byte[] getBytes();               
                                char[] toCharArray();

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马