20165233 2017-2018-2 《Java程序设计》第六周学习总结

教材学习内容总结

ch08

  • 基础:String类
  • 重点:StringTokenizer类、Scanner类;获取字符序列中被分隔符分隔的单词。
  • 拓展:StringBuffer类、Date类与Calendar类(程序需要处理时间时使用)、日期格式化、Math类、BigInteger类(程序需要处理特别大的整数)与Random类、数字格式化(当需要格式化日期和数字时,使用String类的static方法format)
  • 难点:Class类与Console类、Pattern类与Match类

ch15

  • 泛型:使用“class 名称”声明一个泛型类,当使用泛型类声明对象时,必须要用具体的类型(不能是基本数据类型)替换泛型列表中的泛型。
  • 链表:LinkedList泛型类创建的对象以链表结构存储数据。
  • 堆栈:Stack泛型类创建一个堆栈对象,堆栈总是在顶端进行数据的输入输出操作。
  • 散列映射:HashMap<K,V>用于存储键/值数据对,使用散列映射来存储经常需要检索的数据,可以减少检索的开销。
  • 树集:TreeSet类创建树集,当一个树集中的数据是实现Comparable接口类创建的对象时,结点就按对象的大小关系升序排列。
  • 树映射:TreeMap<K,V>类创建树映射时,树映射的结点存储键/值对,和树集不同的是,树映射保证结点是按照结点中的键升序排列。

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

  • 问题1:教材192页Example8_12的程序中,%-7.2f的含义是什么?
  • 问题1解决方案:查找教材的207页得到了答案。%-md指在数字右面加空格,数字长度为7,且保留两位小数。
  • 问题2:为什么Scanner类没有传单词个数的方法呢?
  • 问题2解决方案:Scanner类不把单词存放到Scanner对象的实体中,仅仅存放怎样获取单词的分隔标记来节省内存空间,这样Scanner类就不像StringTokenizer类的对象一旦诞生就立刻知道单词数目,并通过countTokens()方法返回单词数目,Scanner类必须一个一个地获取才能知道单词数目。
  • 问题3:教材198页Example8_15中,month = calendar.get(Calendar.MONTH)+1为什么要加1?
  • 问题3解决方案:由于程序本身计算月份是从0开始,加1后符合人们的认知习惯。
  • 问题4:教材199页Example8_16中,声明的String数组的大小为42?(一个月只有最多31天)
  • 问题4解决方案:由于输出日历要与星期数相对应,所以会有空格占位置,一行7个位置对应一周7天,六行是因为,如果一个月的第一天是周六,那么有几天的日期会依次顺延到第6行,所以声明的大小为42。

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

  • 问题1:教材182页中的Example8_4.java的例子,运行后应该是可以从键盘输入若干个数的,但是我运行后直接输出sum=0.0的结果是为什么?

  • 问题1解决方案:这个问题暂时没有解决,没有找到原因。用命令行与IDEA运行结果都是如此。
  • 问题2:教材183-184页中的Example8_5.java,运行报错是找不到符号Date

  • 问题2解决方案:教材中的主类的程序中,缺少import java.util.Date;的语句,导致无法找到Date。更改之后运行正常。

代码托管

上周考试错题总结

  • 第五周课下测试尚未截止,无法订正答案,随后补上。

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

本周学习内容中第8章的内容,不是特别难理解,重在运用,可以通过许多常用类简化自己的程序,不用自己设计复杂的算法。常用类种类繁多,每个类都有自己的分工,也体现出Java的“高内聚”,即对象的单一性与内聚性。第15章内容与数据结构有很大的关联性,也有细微的区别,也是更方便存储与处理数据的一些方法。

20165233 Java第八、十五章学习总结的更多相关文章

  1. “全栈2019”Java第八十五章:实现接口中的嵌套接口

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  2. “全栈2019”Java第八十四章:接口中嵌套接口详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  3. “全栈2019”Java多线程第二十五章:生产者与消费者线程详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  4. “全栈2019”Java多线程第十五章:当后台线程遇到finally

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  5. “全栈2019”Java异常第十五章:异常链详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  6. “全栈2019”Java第八十九章:接口中能定义内部类吗?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  7. “全栈2019”Java第八十二章:嵌套接口能否访问外部类中的成员?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. “全栈2019”Java第七十五章:内部类持有外部类对象

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  9. “全栈2019”Java第六十五章:接口与默认方法详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  10. “全栈2019”Java第四十五章:super关键字

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

随机推荐

  1. mong大牛的blog

    MongoDB权威指南(3)-查询1.find方法介绍在不传入参数的情况下,find方法缺省使用  http://www.educity.cn/wenda/389594.html 这个归纳的比较好:可 ...

  2. HTML DOM知识点补充:

    DOM Console 控制台对象提供了浏览器的debug的方法支持. 常用的:console.log(). ⚠️coffeescript中,这个方法不加括号. DOM Document 当一个HTM ...

  3. Linux编写一个C程序HelloWorld

    环境 需要文本编辑器和编译器,文本编辑器用linux(我用的centos7)自带的vi,编译器用gcc(GNU C Compiler/GNU Compiler Collection) 安装gcc,查看 ...

  4. 12.2 Web窗体--代码片段详解

    第12章  使用Web窗体  ※ 除常规HTML元素之外,Web窗体文件还包含另外3种内容:代码片段.可编程HTML元素和控件 ※ 代码隐藏类只应包含特定于单个Web窗体的代码.如果存在多个Web窗体 ...

  5. python学习笔记(五)---sublime text 多行代码注释快捷键

    转载网址:https://blog.csdn.net/mycms5/article/details/70194045/ 多行选择后按下ctrl+/ 选择类 Ctrl+D 选中光标所占的文本,继续操作则 ...

  6. ios 怎么禁止点击子视图的时候不响应父视图的点击事件

    方法一 可以在触发手势的方法里添加一个区域的判断,如果点击区域正好是子视图的区域,则过滤掉,不处理此时的手势,如果点击的区域没有被子视图覆盖则,处理手势的事件.具体的代码如下:  if( CGRect ...

  7. 根据马甲、应用商店、统计每天的注册量,要求可以根据选择马甲和app,马甲和appstrore和user_login不同表问题

    这个马甲属于一个表,appStore另一张表,用户登录表,主要操作的就是这三个表. 我这里的马甲和app的id都与用户登录表中的channel对应,在channel存放的是majiaId + “|” ...

  8. 20181009-3 选题 Scrum立会报告+燃尽图 02

    Scrum立会报告+燃尽图(02)选题 此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2191 一.小组介绍 组长:刘莹莹 ...

  9. Robot Framework中使用HttpLibrary教程and中文支持

    Robot Framework中使用and转参数时,默认不支持中文模式,如图场景: 会出现这种错误 FAIL : UnicodeDecodeError: 'ascii' codec can't dec ...

  10. OpenCV - Linux(Ubuntu 16.04)中安装OpenCV + OpenCV_Contrib

    近两个月来接触了Linux系统,在老板的建议下翻了Ubuntu的牌子,我安装的版本是16.04,用习惯之后感觉蛮好的,比Windows要强.好啦,废话不说啦,下面开始说在Ubuntu中安装OpemCV ...