黑马程序员 JavaSE-07 常用类

来源:互联网 发布:如何做网络销售技巧 编辑:程序博客网 时间:2024/06/03 19:17

Java培训、Android培训、iOS培训、.Net培训、期待与您交流!

Java常用类

Object

(1)Object是类层次结构的根类,所有的类都直接或者间接的继承自Object类。
(2)Object类的构造方法有一个,并且是无参构造
这其实就是理解当时我们说过,子类构造方法默认访问父类的构造是无参构造
(3)要掌握的方法:

    A:toString()        返回对象的字符串表示,默认是由类的全路径+'@'+哈希值的十六进制表示。        这个表示其实是没有意义的,一般子类都会重写该方法。        如何重写呢?过程我也讲解过了,基本上就是要求信息简单明了。        但是最终还是自动生成。    B:equals()        比较两个对象是否相同。默认情况下,比较的是地址值是否相同。        而比较地址值是没有意义的,所以,一般子类也会重写该方法。

(4)要了解的方法:

    A:hashCode() 返回对象的哈希值。不是实际地址值,可以理解为地址值。    B:getClass() 返回对象的字节码文件对象    C:finalize() 用于垃圾回收,在不确定的时间    D:clone() 可以实现对象的克隆,包括成员变量的数据复制,但是它和两个引用指向同一个对象是有区别的。

(5)两个注意问题;

    A:直接输出一个对象名称,其实默认调用了该对象的toString()方法。    B:面试题         ==和equals()的区别?        A:==            基本类型:比较的是值是否相同            引用类型:比较的是地址值是否相同        B:equals()            只能比较引用类型。默认情况下,比较的是地址值是否相同。            但是,我们可以根据自己的需要重写该方法。

Scanner

(1)在JDK5以后出现的用于键盘录入数据的类。
(2)构造方法:

    A:讲解了System.in这个东西。        它其实是标准的输入流,对应于键盘录入    B:构造方法        InputStream is = System.in;         Scanner(InputStream is)    C:常用的格式        Scanner sc = new Scanner(System.in);

(3)基本方法格式:

    A:hasNextXxx() 判断是否是某种类型的    B:nextXxx() 返回某种类型的元素

(4)要掌握的两个方法

    A:public int nextInt()    B:public String nextLine()

(5)需要注意的小问题

    A:同一个Scanner对象,先获取数值,再获取字符串会出现一个小问题。    B:解决方案:        a:重新定义一个Scanner对象        b:把所有的数据都用字符串获取,然后再进行相应的转换

String

(1)多个字符组成的一串数据。
其实它可以和字符数组进行相互转换。
(2)构造方法:

    A:public String()    B:public String(byte[] bytes)    C:public String(byte[] bytes,int offset,int length)    D:public String(char[] value)    E:public String(char[] value,int offset,int count)    F:public String(String original)    下面的这一个虽然不是构造方法,但是结果也是一个字符串对象    G:String s = "hello";

(3)字符串的特点

    A:字符串一旦被赋值,就不能改变。        注意:这里指的是字符串的内容不能改变,而不是引用不能改变。    B:字面值作为字符串对象和通过构造方法创建对象的不同        String s = new String("hello");和String s = "hello"的区别?

(4)字符串的面试题(看程序写结果)

    A:==和equals()        String s1 = new String("hello");        String s2 = new String("hello");        System.out.println(s1 == s2);// false        System.out.println(s1.equals(s2));// true        String s3 = new String("hello");        String s4 = "hello";        System.out.println(s3 == s4);// false        System.out.println(s3.equals(s4));// true        String s5 = "hello";        String s6 = "hello";        System.out.println(s5 == s6);// true        System.out.println(s5.equals(s6));// true    B:字符串的拼接        String s1 = "hello";        String s2 = "world";        String s3 = "helloworld";        System.out.println(s3 == s1 + s2);// false        System.out.println(s3.equals((s1 + s2)));// true        System.out.println(s3 == "hello" + "world");// false 这个我们错了,应该是true        System.out.println(s3.equals("hello" + "world"));// true

(5)字符串的功能(自己补齐方法中文意思)

    A:判断功能        boolean equals(Object obj)        boolean equalsIgnoreCase(String str)        boolean contains(String str)        boolean startsWith(String str)        boolean endsWith(String str)        boolean isEmpty()    B:获取功能        int length()        char charAt(int index)        int indexOf(int ch)        int indexOf(String str)        int indexOf(int ch,int fromIndex)        int indexOf(String str,int fromIndex)        String substring(int start)        String substring(int start,int end)    C:转换功能        byte[] getBytes()        char[] toCharArray()        static String valueOf(char[] chs)        static String valueOf(int i)        String toLowerCase()        String toUpperCase()        String concat(String str)    D:其他功能        a:替换功能             String replace(char old,char new)            String replace(String old,String new)        b:去空格功能            String trim()        c:按字典比较功能            int compareTo(String str)            int compareToIgnoreCase(String str)

StringBuffer

(1)StringBuffer是一个字符串缓冲区类。
(2)StringBuffer的构造方法

    A:StringBuffer()    B:StringBuffer(int size)    C:StringBuffer(String str)

(3)StringBuffer的常见功能

    A:添加功能        append()    B:删除功能        delete(int start, int end)         deleteCharAt(int index)     C:替换功能        replace(int start, int end, String str)     D:反转功能        reverse()     E:截取功能(注意这个返回值)        substring(int start)         substring(int start, int end) 

(4)StringBuffer的练习

    A:String和StringBuffer相互转换        String -- StringBuffer            构造方法        StringBuffer -- String            toString()方法    B:字符串的拼接    C:把字符串反转    D:判断一个字符串是否对称

(5)面试题

    小细节:        StringBuffer:同步的,数据安全,效率低。        StringBuilder:不同步的,数据不安全,效率高。    A:String,StringBuffer,StringBuilder的区别    B:StringBuffer和数组的区别?

Arrays

(1)Arrays是用来操作数组(比如排序和搜索)的工具类,包括各种静态方法。
(2)常用方法

查找:binarySearch()排序:sort()复制:copyOf()比较:equals()

Integer

(1)为了让基本类型的数据进行更多的操作,Java就为每种基本类型提供了对应的包装类类型

    byte        Byte    short       Short    int         Integer    long        Long    float       Float    double      Double    char        Character    boolean     Boolean

(2)Integer的构造方法

    A:Integer i = new Integer(100);    B:Integer i = new Integer("100");        注意:这里的字符串必须是由数字字符组成

(3)String和int的相互转换

    A:String -- int        Integer.parseInt("100");    B:int -- String        String.valueOf(100);

(4)其他的功能(了解)进制转换
(5)JDK5的新特性

    自动装箱    基本类型--引用类型    自动拆箱    引用类型--基本类型    把下面的这个代码理解即可:        Integer i = 100;        i += 200;(6)面试题    -128到127之间的数据缓冲池问题

Character

(1)Character构造方法

    Character ch = new Character('a');

(2)要掌握的方法:

    A:判断给定的字符是否是大写  isUpperCase(char ch)    B:判断给定的字符是否是小写  isLowerCase(char ch)     C:判断给定的字符是否是数字字符   isDigit(char ch)     D:把给定的字符转成大写  toUpperCase(char ch)     E:把给定的字符转成小写  toLowerCase(char ch) 

(3)案例:

    统计字符串中大写,小写及数字字符出现的次数

Random

(1)用于产生随机数的类
(2)构造方法:

    A:Random() 默认种子,每次产生的随机数不同    B:Random(long seed) 指定种子,每次种子相同,随机数就相同

(3)成员方法:

    A:int nextInt() 返回int范围内的随机数    B:int nextInt(int n) 返回[0,n)范围内的随机数

System

(1)系统类,提供了一些有用的字段和方法
(2)成员方法

    A:运行垃圾回收器    B:退出jvm    C:获取当前时间的毫秒值    D:数组复制

BigInteger

(1)针对大整数的运算
(2)构造方法

    A:BigInteger(String s)

(3)成员方法

    A:加    B:减    C:乘    D:除    E:商和余数

BigDecimal
(1)浮点数据做运算,会丢失精度。所以,针对浮点数据的操作建议采用BigDecimal。(金融相关的项目)
(2)构造方法

    A:BigDecimal(String s)

(3)成员方法:

    A:加    B:减    C:乘    D:除    E:自己保留小数几位

Date/DateFormat

(1)Date是日期类,可以精确到毫秒。

    A:构造方法        Date()        Date(long time)    B:成员方法        getTime()        setTime(long time)

(2)DateFormat针对日期进行格式化和针对字符串进行解析的类,但是是抽象类,所以使用其子类SimpleDateFormat

    A:SimpleDateFormat(String pattern) 给定模式        yyyy-MM-dd HH:mm:ss    B:日期和字符串的转换        a:Date -- String            format()        b:String -- Date            parse()

Calendar

(1)日历类

封装了所有的日历字段值,通过统一的方法根据传入不同的日历字段可以获取值。

(2)如何得到一个日历对象呢?

    Calendar rightNow = Calendar.getInstance();    本质返回的是子类对象

(3)成员方法

    A:根据日历字段得到对应的值:get(int field)     B:根据日历字段和一个正负数确定是添加还是减去对应日历字段的值:add(int field, int amount)     C:设置日历对象的年月日:set(int field, int value),set(...)
0 0
原创粉丝点击