训练大纲(第011天)
大家如果想快速有效的学习,思想核心是“以建立知识体系为核心”,具体方法是“守破离”。确保老师课堂上做的操作,反复练习直到熟练。
第21次(常用类)
- DateFormat和SimpleDateFormat类
- DateFormat与SimpleDateFormat的关系?
SimpleDateFormat是DateFormat的子类。
- 为什么需要DateFormat类,它的作用是什么?
把时间对象转化成指定格式的字符串。反之,把指定格式的字符串转化成时间对象。
- Calendar类
- 如何获得一个Calender类的对象?
Calender a=new GregorianCalendqr();
- 请例举出Calender类中五个常用的方法?
把日历指定到某个时间的方法
set(int year ,int month,int date)
set(int year ,int month,int date,int hour,int minute)
set(int year ,int month,int date,int hour,int minute,int second)
获得年份、月份、小时、等信息
Now.get(Calendar.Month);这样的方法 0表示一月,1表示二月
get(Calendar.DAY_OF_MONTH)获得这个月的第几天
get(Calendar.DAY_OF_WEEK)获得这个星期的第几天
get(Calendar.DAY_OF_YEAR)获得这个年的第几天
getTimeMillis()获得当前时间的毫秒表示
- Math类
- 请你列举出Math类的五个常用方法?
1. abs 绝对值
2. acos,asin,atan,cos,sin,tan 三角函数
3. sqrt 平方根
4. pow(double a, double b) a的b次幂
5. max(double a, double b) 取大值
6. min(double a, double b) 取小值
7. ceil(double a) 大于a的最小整数
8. floor(double a) 小于a的最大整数
9. random() 返回 0.0 到 1.0 的随机数
10. long round(double a) double型的数据a转换为long型(四舍五入)
11. toDegrees(double angrad) 弧度->角度
12. toRadians(double angdeg) 角度->弧度
- 如何进行静态导入?
Static和.*
- File类
- 简述File类的作用?
java.io.File类:代表文件和目录。 在开发中,读取文件、生成文件、删除文件、修改文件的属性时经常会用到本类。
- File类操作目录与文件的常用方法有哪些?
File类访问属性的方法列表
分享/讲解/扩展思考
点名提问从第一节课到最后一节课分别学到了什么,直到同学们把所有的知识点都说出来并且保证无误。
第22次(容器)
学习主题:面向对象初步
学习目标:
1 掌握递归算法遍历树形结构
2 掌握枚举的使用
3 掌握集合的概念
4 掌握ArrayList以及底层原理
5 掌握LinkedList以及底层原理
对应视频:
http://www.itbaizhan.cn/course/id/85.html
对应文档:
无
对应作业
- 使用递归算法遍历目录结构和树结构
- 什么是递归算法?
程序调用自身的编程技巧称为递归
- 使用递归算法遍历目录结构和树结构的原理是什么?
自己调用自己,判断自己是否是目录,是目录则调用自己,在判断子文件是不是目录。
- 枚举
- 枚举的定义及使用是什么?
定义:只能够取特定值的一个,使用enum关键字
使用:每个被枚举的成员都是枚举类型的实例,默认是public static final,可以通过枚举类型名直接使用他们
- 枚举与类是什么关系?
枚举本质上是类,所有的枚举类型隐性的继承java.lang.Enum类
- 基本概念_Collection_Set_List接口介绍
- 为什么需要集合?
集合是一个容器,用来存储数据,只能存储引用数据类型;
数组增删操作效率低,数组的长度不能改变,所以数组具有局限性
- Collection、Set、List接口的特征是什么?
Colletion接口存储元素不唯一、无序的对象
Set接口存储元素唯一、无序的对象
List接口存储元素不唯一、有序的对象
- List接口ArrayList用法详解
- ArrayList的常用方法有哪些?
Add(intindex, E element) 在此列表中的指定位置插入指定的元素。
Remove(int index) 删除该列表中指定位置的元素。
Size()返回此列表中的元素数。
trimToSize()修改这个 ArrayList实例的容量是列表的当前大小。
isEmpty()如果此列表不包含元素,则返回 true 。
iterator()以正确的顺序返回该列表中的元素的迭代器。
- ArrayList集合的特点是什么?
查询效率高,增删效率低,线程不安全。
- ArrayList_JDK源码分析_1
- ArrayList的常用的构造方法有哪些?源码含义是什么?
public ArrayList(int initialCapacity) 构造具有指定初始容量的空列表。
public ArrayList()构造一个初始容量为十的空列表。
public ArrayList(Collection<? extends E> c) 构造一个包含指定集合的元素的列表,按照它们由集合的迭代器返回的顺序。
- ArrayList扩容易原理是什么?
根据添加的元素个数,计算出minCapacity,如果是第一次添加,elementDate为空,执行Math.max(DEFAULT_CAPACITY, minCapacity)得出最小容量,如果最小容量-elementDate的元素个数大于0,则新建一个容量为最小容量的数组。
不是第一次添加,则判断是否minCapacity - elementData.length > 0,不是的话,则不用扩容,如果是大于0则执行grow方法扩容。
- ArrayList_JDK源码分析_2
- ArrayList中的add方法的执行过程是什么?
add(int index, E element)往指定index中加入元素,加入元素之前先检查数组的大小,如果小了在原来基础上增大一半,将ArrayList只能怪index及以后的元素往后移一位,将element放到index位置。
- ArrayList中set和get的方法的作用及执行过程?
Get方法:返回此列表中指定位置的元素。
Set方法:用指定的元素替换此列表中指定位置的元素。
- LinkedList的特点_链表_JDK源码分析
- LinkedList集合的特点是什么?
查询效率低,增删效率高,线程不安全。
- LinedList底层所采用的数据结构是什么?
双链表
分享/讲解/扩展思考
点名提问从第一节课到最后一节课分别学到了什么,直到同学们把所有的知识点都说出来并且保证无误。