黑马程序员技术交流社区

标题: 常用API (1) [打印本页]

作者: 知识就酱吃    时间: 2015-12-13 11:46
标题: 常用API (1)
Scanner:
        咱们创建Scanner类的对象,用的是Scanner的带参构造:
                public Scanner(InputStream is);
                //Scannner sc = new Scanner(System.in);
        System类下有一个静态字段:
                public static final InputStream in;                //标准的键盘输入流,对应着键盘录入

        掌握:
                hasNextXxx():判断是否还有下个输入项(大白话:判断后边还 有没有该类型的数据)
                nextXxx():获取下一个输入项。

        成员方法:
                public int nextInt();
                public String nextLine();

        注意:
                先用nextInt()来接受整数,再用nextLine()来接收字符串,会发生一个小问题(nextLine()没办法用来接收,而是直接结束)
                原因:nextInt()方法只能用来接受数字,后边的\r\n被nextLine()方法获取到,该方法会直接调用完毕。
                解决方案:
                        方案1: 重新new一个Scanner类的对象。
                        方案2:都用字符串来接收,然后把其中一个 整数字符串("123") 转成 对应的整数。  (推荐使用)


String类:
        1、字符串常量("abc")可以看做是字符串对象。
        2、字符串一旦初始化就不能发生改变,这句话对还是错?说出原因
                对,这里的 “不能发生改变”指的是 字符串在常量池中的值不能发生改变,因为字符串是常量。
                实例:
                        String s = "abc";
                        s = "bcd";    //此时只是s的引用发生改变, "abc"本身的值并没有发生改变
        3、空串和null的区别:
                String str1 = "";        //这个是一个字符串对象,只不过值是空
                String str2 = null;        //这个是空常量,没有对象。
       
        构造方法:
                public String()
                public String(byte[] bys)
                public String(byte[] bys,int index,int length)                //IO流要用到
                public String(char[] chs)
                public String(char[] chs,int index,int length)                //IO流要用到
                public String(String s)
                可以直接用常量赋值:String s = "abc";         开发常用。
                记忆:
                        通过字符串的构造方法可以把,字符数组,字节数组转成字符串。

                        Java用常量优化机制,特点是:有就使用,没有就创建。

                        如果是字符串变量和字符串常量进行拼接,会先创建一个字符串缓冲区类(StringBufffer,StringBuilder)的对象,拼接完成后,会讲该字符串缓冲区对象,转成String,然后赋值给栈中的String引用。

                判断功能:首尾中空加判断
                        boolean startsWith(String str);
                        boolean endsWith(String str);
                        boolean contains(String str);
                        boolean isEmpty();
                        boolean equals(Object obj);                //区分大小写,这个是重写Object类中的equals()
                        boolean equalsIgnoreCase(String str);        //忽




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2