20155229 2016-2017-2 《Java程序设计》第五周学习总结

教材学习内容总结

第八章:

  • Java中所有错误都会被打包为对象。
  • 设计错误对象都继承自java.lang.Throwable类,它有两个子类java.lang.Errorjava.lang.Exception
  • 调用System.in.read()时,in是System的静态成员,其类型为java.io.InputStream
  • Exception或其子对象,但非属于RuntimeException或其子对象,称为受检异常;属于RuntimeException衍生出来的类实例,称为非受检异常。
  • Java是唯一采用受检异常的语言,目的是:一、文件化;二、提供编译程序信息
  • 尝试关闭资源语法也可以同时关闭两个以上的对象资源,只要中间以分隔。

第九章

  • Stringsplit()方法,可以指定切割字符串的方式,split()会返回String[],包括切割的每个字符串,接着将String[]中的每个字符串加入Set的操作HashSet.
  • HashSet的操作概念是,在内存中开设空间,每个空间会有个哈希编码,空间成为哈希桶。
  • Lambda表达式的语法是省略了接口类型与方法名称,->左边是参数列,右边是方法本体,编译程序可由Request request的声明得知语法上被省略的信息。
  • Lambda表达式中使用区块时,如果需要返回值,则在区块中需使用return
  • Map操作类为java.util.HashMapjava.util.TreeMap,其继承自抽象类java.util.AbstractMap

教材学习中的问题和解决过程

  • 问题1:p235的代码中,出现ex,并且多次出现于很多代码中。

  • 解决:,我开始以为是java中的语句,但是在API里面也找不到,直到在蓝墨云上问了老师后,老师给的答复是:ex只是变量名,没有什么特别的。这才得以解决。

  • 问题2:Queue与Deque的区别
  • 解决:

①队列(queue)是一种常用的数据结构,可以将队列看做是一种特殊的线性表,该结构遵循的先进先出原则。Java中,LinkedList实现了Queue接口,因为LinkedList进行插入、删除操作效率较高。

②双向队列(Deque),是Queue的一个子接口,双向队列是指该队列两端的元素既能入队(offer)也能出队(poll),如果将Deque限制为只能从一端入队和出队,则可实现栈的数据结构。对于栈而言,有入栈(push)和出栈(pop),遵循先进后出原则。

代码调试中的问题和解决过程

  • 问题一:p227的代码,在运行时出现了以下错误

  • 解决:

我首先查了API,知道UnknownFormatConversionException的意思是未知格式转换异常

于是我检查代码,发现输出时浮点数的精度打错,如下图

小数点2调换方向后,程序输出正确

  • 问题:p268的代码,在编译时出现下面的错误

  • 解决:
    因为是用set收集student的数据,所以我想尝试将最后的set改为students,

修改代码后的结果如下:

代码托管

  • 代码提交过程及代码量截图截图:

上周考试错题总结

  • 错题:4. 填空:”Hello”.charAt(1) 的值是(‘e’)

    解决:p108.使用charAt()指定取得字符串中某个字符,索引从0开始。

  • 错题:5. 填空:System.out.println( “HELLO”.( toLowerCase() ) ) 会输出“hello”.

    解决: toLowerCase()的用法是将字符串中的字母从大写转换为小写。

  • 错题:6. 填空:”Hello”.substring( 0,2 )的值是“He”
  • 错题:13. CH06填空:标注(@Override)可以从语法上保证方法的Override.
  • 错题:16. CH06 判断:父类的protected方法,在子类中可以override为public的方法。(OK)

    解决:p173.对于父类中的方法权限,只能扩大不能缩小。

  • 错题:22. CH06 判断:Java中所有的对象都有equals()方法。(OK)
  • 错题:29. CH07 填空:用enum定义一个Season的类型表示四季(public enum Season{SPRING, SUMMER, AUTUMN,WINTER})。

结对及互评

与20155225江智宇同学结对。

点评模板:

  • 基于评分标准,我给本博客打分:(0-10)。得分情况如下:xxx

  • 参考示例

点评过的同学博客和代码

其他(感悟、思考等,可选)

本周学习了java遇到异常时的处理方案和collection与Map,这两章的学习还是有难度的,这个星期很多都还没有摸得特别透彻,接下来会继续看书,继续学习的。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 15篇 400小时
第一周 9/9 1/1 20/20
第二周 162/ 171 1/2 25/45 学习java的基础语法
第三周 380/ 551 1/3 25/70 学习java对象及封装
第四周 831/ 1382 1/4 23/93 学习java的继承、接口与多态的运用
第五周 870 / 2252 1/5 20/113 学习java的异常处理和collection与map
  • 计划学习时间:23小时

  • 实际学习时间:22小时

  • 改进情况:
    本周学习的内容也较多,但是总体下来感觉上与上周差不多,可能效率稍微稍微提高了点,下周还会继续努力的。

参考资料

20155229 2016-2017-2 《Java程序设计》第五周学习总结的更多相关文章

  1. 201521123025<java程序设计>第五周学习总结

    1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...

  2. Java程序设计第五周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 **代码阅读:Child压缩包内源代码 Child.java源代 ...

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

    20155229 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBaseConnectivity)即java数据库连接 ...

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

    20155229 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 布尔:boolean类型可表示true和false %符号被用来作为控制符号前置,所以规定用 ...

  5. 20155229 2016-2007-2 《Java程序设计》第一周学习总结

    20155229 2016-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 1~18章的提问: 第一章:怎样撰写Java才不会沦于死背API文件.使用"复制. ...

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

    20155225 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 了解JDBC架构 使用JDBC API JDBC是用于执行SQL的解决方案,开 ...

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

    20155310 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 •数据库本身是个独立运行的应用程序 •撰写应用程序是利用通信协议对数据库进行指 ...

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

    20155338 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 · 数据库本身是个独立运行的应用程序 · 撰写应用程序是 ...

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

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

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

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

随机推荐

  1. Java 密码扩展无限制权限策略文件[转]

    因为某些国家的进口管制限制,Java发布的运行环境包中的加解密有一定的限制.比如默认不允许256位密钥的AES加解密,解决方法就是修改策略文件. 官方网站提供了JCE无限制权限策略文件的下载: JDK ...

  2. 在linux环境下编译C++ 程序

    单个源文件生成可执行程序 下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: 单个源文件生成可执行程序 /* helloworld.cpp */ #include ...

  3. English trip -- VC(情景课)9 D Reading 阅读练习

    Read 阅读 Dear Susie(苏西) It's after dinner, My family is working in the kitchen. My daughter Li is  wa ...

  4. English trip -- VC(情景课) 7 D Reading 阅读练习

    Read Hi patty, This morning, Smuel and I are going to The Clothes place. Samuel needs blue pants.He ...

  5. warning: LF will be replaced by CRLF in ***. The file will have its original line endings in your working directory.

    git config --global core.autocrlf false

  6. 1 python基础知识

    一.python简介 编译型:将所有的源码先编译成机器型语言,并保存为二进制文件,然后一次性执行c c++ go swift 解释型:将代码一行一行边编译边解释python javascript ph ...

  7. Bash and a Tough Math Puzzle CodeForces - 914D (线段树二分)

    大意:给定序列, 单点修改, 区间询问$[l,r]$内修改至多一个数后$gcd$能否为$x$ 这题比较有意思了, 要注意到询问等价于$[l,r]$内最多有1个数不为$x$的倍数 可以用线段树维护gcd ...

  8. jenkins+python+kubectl实现批量更新k8s镜像

    一.jenkins使用官方镜像(官方镜像默认是jenkins用户,权限太低) 因此通过dockerfile重新改为root启动 FROM jenkins/jenkins:lts MAINTAINER ...

  9. HDU1789时间贪心

    Doing Homework again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  10. vim 缩进设置

    1.在自己的家目录(/home)下建立.vimrc文件.控制台输入vi ~/.vimrc 回车. 2.在.vimrc文件中输入如下文本: set tabstop=4 set softtabstop= ...