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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 磊子 中级黑马   /  2015-9-13 22:42  /  752 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Scanner类:
        构造方法:public Scanner(InputStream is)
        字段:
                public static final InputStrem in; 标准的输入流,对应着键盘的录入。
        成员方法:
                hasNextXxx:判断是否还有下一个选项。Xxx可以是int,double,如果是判断字符串,Xxx可以不写。
                nextXxx:获取下一个输入选项。Xxx和上边的Xxx功能类似。

        使用Scanner的时候可能出现的小问题:
                public int nextInt();  获取用户输入的数字
                public String nextLine();  获取用户输入的字符串

                先接收用户输入的数值,然后来接收字符串,可能会出一个问题,字符串不让我们来输入了,怎么解决?
                解决方法:
                        1、接收数值后,重新创建一个Scanner对象来接收字符串。(浪费空间,不推荐)
                        2、都用字符串来接收,然后把其中的一个转为数值。(Integer)
               
                        sc.nextInt();    // 123/r/n
                        sc.nextInt();         // 456/r/n
                        sc.nextLine();
String类:
        1、字符串字面值也可以看做是一个字符串对象。
                String str = "acb";
                str = "bcd";
        2、字符串(值)是一个常量,一旦赋值,就不能发生改变。
                面试题:字符串一旦初始化就不能发生改变,这句话对还是错?说出原因。
                        对。 这里的初始化,指的是字符串的值不能发生改变,因为字符串是一个常量,
                                 而字符串对象的引用可以发生改变。
       
        构造方法:
                String();
                String(byte[] bys);  把字节数组转成字符串
                String(byte[] bys, int index,int length);  把指定长度的字节数组转成字符串(从给定索引开始,到给定长度结束)
                String(char[] chs);
                String(char[] chs, int index,int length);
                String(String s);  //开发中我们不用,一般面试可能会问到。

        方法区的常量池:
                1、Java针对常量池,有一个优化机制。
                2、常量池的特点:有就使用,没有就创建。
                       

        成员方法:
                判断功能:首尾中空加判断
                        startsWith(String str);
                        endsWith(String str);
                        contains(String str);
                        isEmpty();
                        equals(Object obj); 判断字符串是否相等,区分大小写。 "A"和"a" 结果为false
                        equalsIgnoreCase(String str); 判断字符串是否相等,不区分大小写。 "A"和"a" 结果为true

                        案例:模拟用户登陆。
                                思路:
                                        1、定义两个变量,分别来记录用户名和密码(默认给的)。
                                        2、键盘录入,让用户输入用户名和密码。
                                        3、哪到用户输入的数据和默认数据进行比较。
                                                如果相同,提示登陆成功,循环结束。
                                                如果不同,提示登陆失败,并且各处剩余登陆次数。
                                        4、因为给定用户的登陆次数是3次,所以用for循环改进。
                               

                获取功能(截长取位取元素)
                        String substring(int index);  从指定位置开始,截取一个新的字符串。
                        String substring(int start,int end);  从指定位置开始,到指定位置结束,截取一个新的字符串。(包左不包右)
                       
                        int length();
                        int indexOf(int ch); 从第一个字符开始,来找给定字符在字符串中第一次出现的位置。
                                实例: String s = "abcdefgd";   中找d。
                        int indexOf(int ch, int fromIndex);
                        int indexOf(String str);
                        int indexOf(String str, int fromIndex);
                        lastIndexOf:功能和indexOf类似,只不过lastIndexOf是从后往前找。
                        char charAt(int index);
                       
                        案例:统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数,其他字符出现的次数
                                  示例字符串:ABCDEabcd123456!@#$%^
                                 思路:
                                        1、定义四个统计变量(计数器),分别来记录大写字母,小写字母,数字以及其他符号的次数。
                                        2、遍历字符串,拿到每一个字符。
                                        3、依次判断当前遍历到的字符是哪种,是哪种,哪个字符的计数器+1。
                                        4、循环结束后,输出各个计数器的值。


                转换功能(大小拼串转数组)
                了解:
                        String toUpperCase();
                        String toLowerCase();
                        String concat(String str);
                掌握:
                        static String valueOf(char[] chs);
                        static String valueOf(int ch);
                        byte[] getBytes();
                        char[] toCharArray();    --->  重点掌握
                       
                其他功能(去空替换字典排)
                        String trim();  去除的是两端的空格。
                        String replace(char old, char new);
                        String replace(String old, String new);

                        int compareTo();
                        int compareToIgnoreCase();
                       

                        String max = “woaiheima,heimabutongyubaima,wulunheimahaishibaima,zhaodaogongzuojiushihaoma”;      //大串
                        String min = “heima”;     //小串

2 个回复

倒序浏览
沙发,赞一个
回复 使用道具 举报

ok very nice~3Q
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马