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,而->右边定义了会返回结果的表达式。

    • 管道操作风格
    1. 来源:可能是文档、数组、群集、产生器等等。
    2. 中间操作(0或多个):又称集合操作,调用时,并不会立即进行手边的数据处理,只会在后续中间操作要求数据时才会动手处理下一笔数据。
    3. 最终操作(1个):最后真正需要结果的操作,会要求之前的中间操作开始动手。
  • 第十三章 时间与日期

    • Calendar
    1. Calendar是个抽象类,java.util.GregorianCalendar是其子类,操作了儒略历与格里高利历的混合历,通过CalendargetInstance()取得的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实例,而RunnabletoString()并没有定义,所以显示了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程序设计》第七周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第七周学习总结

    1.本周学习总结 2.书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: 源代码: //contains()方法 public boolean c ...

  2. 20155201 2016-2017-2 《Java程序设计》第一周学习总结

    20155201 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 每一章的问题: 第一章 Java ME都有哪些成功的平台? 第二章 哪些情况可以使用impo ...

  3. 20155201 2016-2017-2 《Java程序设计》第九周学习总结

    20155201 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC全名JavaDataBaseConnecticity,是Jav ...

  4. 20155201 2016-2017-2 《Java程序设计》第二周学习总结

    20155201 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 编译运行P55各种类型可储存的数值范围代码,截图: 常用格式控制符: 符号 说明 %% 表示 ...

  5. 201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...

  6. 20155313 2016-2017-2 《Java程序设计》第九周学习总结

    20155313 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 JDBC(Java DataBase Connectivity)即java数据库连 ...

  7. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  8. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  9. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  10. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

随机推荐

  1. Machine Learning 资料

    Awesome系列 Awesome Machine Learning Awesome Deep Learning Awesome TensorFlow Awesome TensorFlow Imple ...

  2. /var/run/dbus/system_bus_socket no such file or directory

    参考:http://fixmyos.blogspot.jp/2011/10/failed-to-connect-to-socket.html /var/run/dbus/system_bus_sock ...

  3. Vultr新推出3.5美元/月套餐,并且支持微信支付了

    先前Vultr重新推出了2.5美元/月的套餐,但是不支持IPv4,所以不那么受国内朋友的欢迎,迫于压力,这不最近就推出了3.5美元/月的套餐了,这个套餐是支持IPv4的,有需要的朋友可以上车了,htt ...

  4. 最大容积 Container With Most Water

    2018-07-31 17:28:42 问题描述: 问题求解: 很容易想到的是Brute Force,也就是枚举所有可能的pairs,这种解法的时间复杂度为O(n ^ 2),由于本题的数据规模较大,会 ...

  5. C++STL3--queue

    C++STL3--queue 一.心得 STL的这些东西用法都差不多 二.介绍 queue数据结构中的队列 priority_queue优先队列,插入进去的元素都会从大到小排好序 PS:在priori ...

  6. 你的centos/linux下有多个php.ini,不确定是哪个时

    你的centos/linux下有多个php.ini,不确定是哪个时,但是你自己知道,你的php安装目录. 比如我的php安装目录是 /usr/local/php 那么可以通过命令来查找php.ini的 ...

  7. (Gorails)vuejs系列视频: Webpacker/vue-resource(不再为官方推荐)。

    频:https://gorails.com/episodes/using-vuejs-for-nested-forms-part-1?autoplay=1 在嵌套表格上使用vue.js. 在appli ...

  8. Jzzhu and Apples CodeForces - 449C (构造,数学)

    大意: 求从[1,n]范围选择尽量多的数对, 使得每对数的gcd>1 考虑所有除2以外且不超过n/2的素数p, 若p倍数可以选择的有偶数个, 直接全部划分即可 有奇数个的话, 余下一个2*p不划 ...

  9. 名称随id的变化而变化

    $("#user_id").change(function () { var uid = $(this).val(); if (uid == '') { $("#user ...

  10. POJ-1160 Post Office (DP+四边形不等式优化)

    题目大意:有v个村庄成直线排列,要建设p个邮局,为了使每一个村庄到离它最近的邮局的距离之和最小,应该怎样分配邮局的建设,输出最小距离和. 题目分析:定义状态dp(i,j)表示建设 i 个邮局最远覆盖到 ...