20155201 2016-2017-2 《Java程序设计》第七周学习总结
20155201 2016-2017-2 《Java程序设计》第七周学习总结
教材学习内容总结
第十二章 Lambda
- Lamdba表达式
例如
Comparator<String> byLength=(String name1,String name2)->name1.length()-name2.length();
等号右边是Lamdba表达式,等号左边是作为Lamdba表达式的目标类型。
(String name1,String name2)->name1.length()-name2.length();
表示接受两个字符串型参数
name1,name2,而->右边定义了会返回结果的表达式。- 管道操作风格
- 来源:可能是文档、数组、群集、产生器等等。
- 中间操作(0或多个):又称集合操作,调用时,并不会立即进行手边的数据处理,只会在后续中间操作要求数据时才会动手处理下一笔数据。
- 最终操作(1个):最后真正需要结果的操作,会要求之前的中间操作开始动手。
- Lamdba表达式
第十三章 时间与日期
- Calendar
- Calendar是个抽象类,
java.util.GregorianCalendar是其子类,操作了儒略历与格里高利历的混合历,通过Calendar的getInstance()取得的Calendar实例,默认就是GregorianCalendar实例。
教材学习中的问题和解决过程
- 问题1:P389代码ThisDemo.java和ThisDemo2.java运行结果分别是:


两个文件的代码差别在于Demo中是
class Hello {
Runnable r1 = new Runnable() {
public void run() {
out.println(this);
}
};
Runnable r2 = new Runnable() {
public void run() {
out.println(toString());
}
};
public String toString() {
return "Hello, world!";
}
}
Demo2中
class Hello2 {
Runnable r1 = () -> out.println(this);
Runnable r2 = () -> out.println(toString());
public String toString() {
return "Hello, world!";
}
}
为什么只是写成了Lamdba表达式,运行结果就不一样了?
- 问题1解决方案:因为Demo中
this的参考对象和toString()的接受者,是Runnable实例,而Runnable的toString()并没有定义,所以显示了Object默认的返回字符串。而Lamdba表达式中this的参考对象和toString()的接受者,是来自Lamdba的周围环境,即表达式在哪个名称范畴,就能参考该范畴内的名称。
代码调试中的问题和解决过程
- 问题1:P432页HowOld.java第14行
(life / (365 * 24 * 60 * 60 * 1000L)));1000L后面的L是什么?如果去掉L再println结果出现错误。


- 问题1解决方案:百度了一下,关于L,是指数据超出了整形int的范围,要把该数值转换为long长整形,所以L相当于强制类型转换,一般放在计算的第一个数。
代码托管

上周考试错题总结
- 下面代码中共有()个线程?
public class ThreadTest {
public static void main(String args[]){
MyThread myThread =new MyThread();
Thread t1=new Thread(myThread);
Thread t2=new Thread(myThread);
t1.start();
t2.start();
}
}
class MyThread extends Thread {
...
}
A .1
B .2
C .3
D .4
错误原因:忘记main主线程,答案应该是C三个线程。
- 调用线程的interrupt()方法 ,会抛出()异常对象?DE
A .
IOException
B .
IllegalStateException
C .
RuntimeException
D .
InterruptedException
E .
SecurityException - Which of the following statements about the Callable call() and Runnable run() methods are correct? (Choose all that apply.) ADE
A .Both can throw unchecked exceptions.
B .Callable takes a generic method argument.
C .Callable can throw a checked exception.
D .Both can be implemented with lambda expressions.
E .Runnable returns a generic type.
F .Callable returns a generic type.
G .Both methods return void - What are some reasons to use a character stream, such as Reader/Writer, over a byte stream, such as InputStream/OutputStream? (Choose all that apply.)AC
A .More convenient code syntax when working with String data
B .Improved performance
C .Automatic character encoding
D .Built-in serialization and deserialization
E .Character streams are high-level streams
F .Multi-threading support
- Suppose that the file c:\book\java exists. Which of the following lines of code creates an object that represents the file? (Choose all that apply.) BC
A .new File("c:\book\java");
B .new File("c:\book\java");
C .new File("c:/book/java");
D .new File("c://book//java");
E .None of the above
点评过的同学博客和代码
- 本周结对学习情况
- 上周博客互评情况
感悟与思考
看教材第十二章管道操作部分的时候,感叹于管道操作的高效率性和便捷性,但也有种无力感,因为感觉自己还是个新手,不能熟练掌握这种编程模式,可能编程的时候脑子都会乱……。感觉十三章内容非常有意思,还学习了各种事件的度量。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 第七周 | 494/3912 | 2/2 | 20/112 | 完成实验一,初步学习了Lambda表达式和Java中的时间表示 |
计划学习时间:18小时
实际学习时间:20小时
改进情况:多学习了两个小时
参考资料
20155201 2016-2017-2 《Java程序设计》第七周学习总结的更多相关文章
- 201521123027 <java程序设计>第七周学习总结
1.本周学习总结 2.书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: 源代码: //contains()方法 public boolean c ...
- 20155201 2016-2017-2 《Java程序设计》第一周学习总结
20155201 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 每一章的问题: 第一章 Java ME都有哪些成功的平台? 第二章 哪些情况可以使用impo ...
- 20155201 2016-2017-2 《Java程序设计》第九周学习总结
20155201 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC全名JavaDataBaseConnecticity,是Jav ...
- 20155201 2016-2017-2 《Java程序设计》第二周学习总结
20155201 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 编译运行P55各种类型可储存的数值范围代码,截图: 常用格式控制符: 符号 说明 %% 表示 ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...
- 20155313 2016-2017-2 《Java程序设计》第九周学习总结
20155313 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 JDBC(Java DataBase Connectivity)即java数据库连 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
随机推荐
- [原][OSG]深入osg函数----SceneView::cull 函数
参考:最长一帧 先介绍几个类: osgUtil::CullVisitor:“筛选访问器” 当我们使用它遍历场景图形的各个节点时, CullVisitor 将会对每一个遇到的节点执行场景筛选的工作,判断 ...
- Beta冲刺三——《WAP团队》
β冲刺第三天 1. 今日完成任务情况以及遇到的问题. ①马麒.杜有海:管理员审核表的进一步完善 ②郝明宇:登录.注册界面的完善 ③马宏伟.周欣:继续完善前端数据借用与后台的连接 ④乌勒扎:登录与注册 ...
- 对不队—— Alpha冲刺
第三天 日期:2018/6/18 一. 今日完成任务:会议内容管理部分 冯晓.马思远:会议网站栏目管理开发,博客撰写 王爽.彭辉:参会人员管理开发 吴琼.郝延婷:审稿专家管理开发 1.1会议管理界面 ...
- Jedis 之 初始<一>
package xx.jedis; import java.util.Set; import redis.clients.jedis.Jedis; import redis.clients.jedis ...
- C#匿名对象序列化
//匿名对象序列化 }; Console.WriteLine(JsonConvert.SerializeObject(obj)); //匿名集合序列化 List<object> list ...
- Java基础十一--多态
Java基础十一--多态 一.多态定义 简单说:就是一个对象对应着不同类型. 多态在代码中的体现: 父类或者接口的引用指向其子类的对象. /* 对象的多态性. class 动物 {} class 猫 ...
- 合并两个dt
C#代码中实现两个表(DataTable)的关联查询(JOIN) 之前通常都是使用SQL直接从数据库中取出表1和表2关联查询后的数据,只需要用一个JOIN就可以了,非常方便.近日遇到一种情况,两个 ...
- Linux下安装Phantomjs
1. 安装linux系统的软件包 先来看一下官方网站的提示: Note: For this static build, the binary is self-contained. There is n ...
- python 多线程稀疏矩阵乘法
import threading, time import numpy as np res = [] class MyThread(threading.Thread): def __init__(se ...
- PaodingAnalysis 提示 "dic home should not be a file, but a directory"
Exception in thread "main" net.paoding.analysis.exception.PaodingAnalysisException: dic ho ...