黑马程序员技术交流社区
标题: 【石家庄校区】JavaEE就业班随堂小记 [打印本页]
作者: 键盘有花生油 时间: 2018-11-14 15:43
标题: 【石家庄校区】JavaEE就业班随堂小记
本帖最后由 小石姐姐 于 2018-11-16 10:45 编辑
随堂小记 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 |