黑马程序员技术交流社区

标题: 【石家庄校区】JavaEE就业班随堂小记 [打印本页]

作者: 键盘有花生油    时间: 2018-11-14 15:43
标题: 【石家庄校区】JavaEE就业班随堂小记
本帖最后由 小石姐姐 于 2018-11-16 10:45 编辑

                                                                                                随堂小记
[Java] 纯文本查看 复制代码
Object类 是语言的根类,所有类的父亲,描述的所有方法子类都能使用
1.     如果没有继承就默认继承了Object类,可以使用父类的tostring方法
2.     直接打印对象名p=p.tostring方法(没有重写)就是打印他们的地址值是一样样的
3.     直接重写tostring方法 快捷键

Object类equals方法
1.     指示其他某个对象是否与此对象“”相等“”
2.     格式:boolean equals(Object obj)  
3.     现实格式  Boolean b=p1.equals(p2);返回的是一个boolean值
4.     比较的是两个数的地址值都在堆中
5.     重写equals方法比较属性
6.     隐藏一个多态的弊端解决方法可以强转把Object类转成Preson类
7.     使用equals快捷方法建重写方法

Objects类
1.     格式  Boolean b=Objects.equals(s1 ,s2)
2.     两个对象相比 防止空指针异常
3.     Null不能调用方法



Date类
1.     uttil包下  使用时需要导报
2.     表示特定的瞬间,精确到毫秒   1000毫秒=1秒  毫秒是一个long值
3.     作用对时间和日期进行计算  日期转换为毫秒进行计算 算完在返回其
4.     获取当前时间到1970年1月1日用了多少毫秒System.currentTimeMillis  直接输出表达就可以
5.     一天=24成60成60成1000=86400000
6.     当前日期 Date d = new Date;  空参的方法  记得导包
7.      Date带参数的构造Date(long date)传递的是毫秒值转换为日期
8.        Date d1=newDate(0L);  带参数的构造  也是快捷键
9.     Date类的成员方法   Long get.time()把日期转换为毫秒
10.  Date.getTime 获取当前系统时间的毫秒值
11.  Set.time  修改当前时间对象

DateFormat类  
1.     日期格式  日期—>文本
2.     日期解析 文本à日期
3.     DateFormat是一个抽象类  可以直接使用SimpeDateFormat
4.     构造方法   SimpeDateFormat(Stringpattern)传递指定格式
yyyy-MM-dd HH-mm-ss
yyyy年MM月dd日HH时mm分ss秒
5.     Date pares(String source)把符合模式的字符串解析为Date日期
6.     使用
7.     创建SimpleDateFormat对象 构造方法中传递模式
8.     调用SimpleDateFormat下面的Dateformat按照构造的方法 吧符合的模式转成文本

1.     创建对象SimpleDateFormat
2.     调用方法  pares  写完有红色的线  是正常的  说明一下 alt+回车 声明一下就可以了


Calendar 类 获取Calendar对象
Calendar类的常用成员方法:
    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对象。
成员方法的参数:
    int field:日历类的字段,可以使用Calendar类的静态成员变量获取
        public static final int YEAR =1;  年
        public static final int MONTH =2; 月
        public static final int DATE =5;  月中的某一天
        public static final intDAY_OF_MONTH = 5;月中的某一天
        public static final int HOUR =10;        时
        public static final int MINUTE =12;   分
        public static final int SECOND =13;   秒
1.     Calendar是个抽象类里面有很多操作日历的字段
2.     无法创建对象,通过里面的一个静态方法getInstance用多态直接调用,Calendar.getInstance 其返回值就是一个子类 然后再用子类的点get参数直接放Calendar.YEAR
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
System.out.println(year);
3.     获取月份注意西方的月份是0到11月  可以在月份后面加1
4.     设置set方法c
c.set(Calendar.YEAR,9999);
5.还有一个set 的重载方法可以添加年月日三个元素
c.set(8888,8,8);
6.add 把指定的字段增加减少指定的值
//把年增加2年
c.add(Calendar.YEAR,2);
//把月份减少3个月
c.add(Calendar.MONTH,-3);
7.get.time  把日历改成日期表达出来

System类
1.     long包无需导包
2.     方法有两个
3.     public static longcurrentTimeMillis():返回以毫秒为单位的当前时间。

private static void demo01() {
    //程序执行前,获取一次毫秒值
    long s = System.currentTimeMillis();
    //执行for循环
    for (int i = 1; i <=9999 ; i++) {
        System.out.println(i);
    }
    //程序执行后,获取一次毫秒值
    long e = System.currentTimeMillis();
    System.out.println("程序共耗时:"+(e-s)+"毫秒");//程

4.     一般用于测试程序运行循环时间,System. currentTimeMillis()返回一个long的类型
public static void arraycopy(Object src, int srcPos, Object dest, int destPos,int length):将数组中指定的数据拷贝
参数:
    src - 源数组。
    srcPos - 源数组中的起始位置(起始索引)。
    dest - 目标数组。
    destPos - 目标数据中的起始位置。
    length - 要复制的数组元素的数量。
Collectoin 单列集合
集合和数组的区别
1.     数组的长度是固定的
2.     集合的长度可以变化
3.     数组储存同一数据类型 基本数据类型引用数据类型
4.     集合存储的是对象,对象类型可以不一样 只能存储引用类型,可以是多种类型元素。

List集合特性共性向上抽取(Vector/ArrayList/LinkeList)
1.     有序的集合
2.     允许重复的元素
3.     有索包含一些带索引的方法

Set接口
1.     不允许重复元素()
2.     没有索引值

最顶层clloection 接口
1.     不包含带索引的方法
2.     所有单列集合的共性方法
3.     所有的单列集合都可用

1.     Colletion<String>coll=new ArrayList<>(); 多态表达
2.     Boolean b=coll.add(“张三”)    添加张三
3.     System.out.println(b)            返回时boolean值

1.     Boolen b1=coll.remove(“张三”)
2.     集合存在删除返回对的
3.     没有返回错的
4.     集合中有相同的元素只删除第一个

1.     Boolean b2=coll.contains(王五)  判断是否包含前面要有boolean 判断对错
2.     包含返回对 没有就返回错

3.     Boolean b2=coll.isEmpty(王五)
4.     判断是不是空集合
5.     Coll.size
6.     显示集合的个数
Object[] arr = coll.toArray();
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr);
}
7.     : 把集合中的元素,存储到数组中便利集合  遍历一遍
8.     Coll.clear
9.     清空集合  
迭代器通用集合 遍历集合 Iterator接口
有泛型使用的方法
1.使用集合方法,iterator()得到对象Iterator 是个多态
2.boolean hsNext()  是否达到集合末尾是返回false 否则返回true
3.E next() 取出集合中的元素

// 使用迭代器遍历集合的标准写法:
Iterator<元素类型> iterator = 集合对象.iterator();
while (iterator.hasNext()) {
元素类型 变量名 = iterator.next();


迭代去器的并发修改异常
两个事情一起发生
1. 迭代
2. 修改集合长度



增强for循环底层要是迭代器,使用for循环的格式简化了迭代器的书写
不能对集合中的元素进行增删
所有collection 都能使用   缺点没有索引值
遍历数组
遍历集合  遍历完了底层不一样
private static void demo01() {
    int[] arr = {1,2,3,4,5};
    for(int i:arr){
        System.out.println(i);
    }
}

泛型
1.     泛型可以看做一种未知的数据类型
2.     泛型可以看成变量用来接收数据类型
3.     创建集合对象的时候就会确定数据类型

好处集合不使用泛型默认为是obj类型什么类型都能装下
坏处:会出异常
好处:
1.     避免了类型的转换麻烦,存储的什么取出来就是什么
2.     把运行期异常提前到了编译时期
3.     泛型什么类型就是什么类型不是相同类型不能添加


泛型域接口
1.“定义实现类”,确定泛型的具体类型就是一开始定义的时候写
2.接口使用什么泛型,实现类就是用什么泛型,类跟着接口走

泛型通配符
1.     代表任意的数据类型
2.     不能常见对象使用,只能作为方法的参数使用,定义一个能遍历所有类型的Arraylist集合

3.     泛型没有继承概念



作者: 键盘有花生油    时间: 2018-11-14 15:47
真棒  真的帮
作者: ztxtxwd    时间: 2018-11-14 21:59
66666666666666666666666




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