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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© agys66 初级黑马   /  2018-11-15 09:28  /  1243 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java就业班已经学到第四天了,这几天学的东西比较多,需要多复习前几天的内容
Object类:

是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。

方法:

toString方法

public String toString() :返回该对象的字符串表示。

toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。

equals方法

public boolean equals(Object obj) :指示其他某个对象是否与此对象“相等”。

调用成员方法equals并指定参数为另一个对象,则可以判断这两个对象是否是相同的。这里的“相同”有默认和自定 义两种方式。

Date类:

java.util.Date 类 表示特定的瞬间,精确到毫秒。

构造方法:

public Date() :分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。 public Date(long date) :传入毫秒值,返回Date对象时间值

tips: 由于我们处于东八区,所以我们的基准时间为1970年1月1日8时0分0秒。

方法:

public long getTime() 把日期对象转换成对应的时间毫秒值。

DateFormat类:

java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转 换,也就是可以在Date对象与String对象之间进行来回转换。

格式化:按照指定的格式,从Date对象转换为String对象。

解析:按照指定的格式,从String对象转换为Date对象。

由于DateFormat为抽象类,不能直接使用,所以需要常用的子类 java.text.SimpleDateFormat 。这个类需要一个 模式(格式)来指定格式化或解析的标准。

构造方法为:

public SimpleDateFormat(String pattern) :用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。

SimpleDateFormat sd = new SimpleDateFormat("........");

标识字母(区分大小写) 含义

y                                 年

M                                 月

d                                 日

H                                时

m                                 分

s                                 秒

方法:

public String format(Date date) :将Date对象格式化为字符串。

public Date parse(String source) :将字符串解析为Date对象。

Calendar类:

java.util.Calendar 是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装 为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。

因为都是静态的,所以不用创建对象,直接点方法就可以了。

 Calendar cal = Calendar.getInstance(); //多态的形式

方法:

public int get(int field) :返回给定日历字段的值。

public void set(int field, int value) :将给定的日历字段设置为给定值。 public abstract void add(int field, int amount) :根据日历的规则,为给定的日历字段添加或减去指 定的时间量。

public Date getTime() :返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。

System类:

java.lang.System 类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文 档中,常用的方法有:

public static long currentTimeMillis() :返回以毫秒为单位的当前时间。 public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) :将 数组中指定的数据拷贝到另一个数组中。

lang包下不需要导包,静态方法直接点就可以了。

currentTimeMillis方法:

System.currentTimeMillis()

获取现在的系统时间到原点(1970年01月01日0点0分0秒)的毫秒值。

用途:

计算代码开始到结束使用的时间。

arraycopy方法:

public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) :将 数组中指定的数据拷贝到另一个数组中。

src:被复制的数组

srcPos:被复制从几号索引值开始

dest:粘贴出来的数组

destPos:粘贴从几号索引值开始放

length:粘贴的长度

StringBuilder类:

原来StringBuilder是个字符串的缓冲区,即它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进 行各种操作。

构造方法:

public StringBuilder() :构造一个空的StringBuilder容器。(默认创建一个16位的容器)

public StringBuilder(String str) :构造一个StringBuilder容器,并将字符串添加进去。

方法:

public StringBuilder append(...) :添加任意类型数据的字符串形式,并返回当前对象自身。 public String toString() :将当前StringBuilder对象转换为String对象。

包装类:

基本类型 对应的包装类(位于java.lang包中)

byte                         Byte

short                         Short

int                                 Integer

long                         Long

float                         Float

double                         Double

char                         Character

boolean                 Boolean

装箱和拆箱:

装箱:从基本类型转换为对应的包装类对象。

拆箱:从包装类对象转换为对应的基本类型。

自动装箱和自动拆箱:

由于我们经常要做基本类型与包装类之间的转换,从Java 5(JDK 1.5)开始,基本类型与包装类的装箱、拆箱动作 可以自动完成。例如:

Integer i = 4;//自动装箱。相当于Integer i = Integer.valueOf(4);

i = i + 5;//等号右边:将i对象转成基本数值(自动拆箱) i.intValue() + 5;

//加法运算完成后,再次装箱,把基本数值转成对象。

基本类型与字符串之间的转换

public static byte parseByte(String s) :将字符串参数转换为对应的byte基本类型。 public static short parseShort(String s) :将字符串参数转换为对应的short基本类型。 public static int parseInt(String s) :将字符串参数转换为对应的int基本类型。 public static long parseLong(String s) :将字符串参数转换为对应的long基本类型。 public static float parseFloat(String s) :将字符串参数转换为对应的float基本类型。 public static double parseDouble(String s) :将字符串参数转换为对应的double基本类型。 public static boolean parseBoolean(String s) :将字符串参数转换为对应的boolean基本类型。

注意:如果字符串参数的内容无法正确转换为对应的基本类型,则会抛出 java.lang.NumberFormatException 异常。
toUpperCase方法:

       将小写字母变成大写字母

1.1 Collection集合:

        集合和数组的区别:

        集合:长度可变,只能存储引用数据类型

        数组:长度固定,既可以存储基本类型也可以存引用类型

        集合的体系结构:集合类有很多,不断的抽取共性,则形成了体系结构

1.2  Collection

        --List:有序(存和取得顺序),有索引允许重复

                --ArrayList

                --LinkedList

                --Vector

        --Set:无序(不保证存和取得顺序一致),无索引,不允许重复

                --HashSet

                        --LinkedHashSet

                --TreeSet

1.3  Collection中的常用功能:

      boolean add(E e) 添加指定元素,返回是否添加功能(对于ArrayList来说,永远添加成功,因为长度可变,而且允许元素重复)

     void clear()删除集合中的所有元素(清空)

      boolean contains(object o)判断集合中是否包含指定元素

      boolean isEmpty()判断集合是否为空(元素的个数是否为0)

      boolean remove(object o)删除指定元素,第一次出现的元素,返回是否删除成功(当元素不存在     则删除失败)。

      int size()返回元素的个数

      object[] toArray()将集合转为数组

      T[] toArray(T[] arr)将集合转为指定类型的数组

     (*)只要是Collection的实现类,则一定拥有Collection的功能

2.1  Iterator<E> iterator()返回迭代器对象

    Iterator<String> s = c.iterator();

2.2  Iterator:迭代器接口:

        boolean hasNext()判断是否还有元素可以迭代

        E next() 取出指定元素

        工作原理:

                1.默认迭代器对象为指向集合的第一个元素

                2.我们判断是否有指定位置的元素

                3.取出指向的元素用next()方法

2.3  注意事项:

        1.没有指定元素异常

        2.并发修改异常

        记住:

       我们使用迭代器的时候,不要在使用过程中进行集合元素的添加或者删除(修改可以)

2.4   增强for循环(for each):

         格式:

        for(元素类型 变量名称 : 数组/集合){

                sout(变量名称);

       }

2.6  工作原理:

     每次都会将集合/数组的元素赋值给冒号左边的变量,我们就可以通过操作变量从而操作集合中的元素

      想解决这个并发修改异常:

        1.不要使用迭代器来遍历集合,使用转数组的方式

        2.在需要修改集合的时候,不要使用集合来操作,用迭代器来操作

2.7  ListIterator子类迭代器。

3.1   泛型:

1. 2  使用泛型的好处:
   1.限定了集合中存储的数据类型,减少因为类型转换带来的一些问题(提高了安全性)
       2.简化代码的书写,可以不用向下转型
2. 3  定义泛型类的格式在类名后面加个<E>
   定义泛型的方法:
               应用场景:如果返回值类型和传递的参数是相关的,这个时候推荐使用泛型方法
3. 4  定义泛型的接口
   格式与定义类一样
       1.可以在实现接口类中直接确定泛型的具体类型
      
       2.在定义实现接口类的时候不确定泛型的类型,在创建对象的时候在确定泛型类型
4. 5  泛型的边界:
   1. ? 是一个通配符,如果泛型定义的类型是?代表传递任意类型的数据
   2. ? extends Person   代表可以传递Person 类型,以及其子类型(上限)
   3. ? super Person 代表可以传递Person 类型,以及其父类型(下限)




0 个回复

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