20165233 Java第八、十五章学习总结
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第八、十五章学习总结的更多相关文章
- “全栈2019”Java第八十五章:实现接口中的嵌套接口
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第八十四章:接口中嵌套接口详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java多线程第二十五章:生产者与消费者线程详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- “全栈2019”Java多线程第十五章:当后台线程遇到finally
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- “全栈2019”Java异常第十五章:异常链详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- “全栈2019”Java第八十九章:接口中能定义内部类吗?
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第八十二章:嵌套接口能否访问外部类中的成员?
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第七十五章:内部类持有外部类对象
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第六十五章:接口与默认方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第四十五章:super关键字
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
随机推荐
- ng-grid
请查看官网:http://angular-ui.github.io/ui-grid/ 简单的使用: 总的来说我们 1.需要引入ng-grid-1.3.2.js 2.在html页面需要加入 class ...
- UVA-863 Not so Mobile (简单二叉树)
题目大意:给一个树状天平,判断是否平衡.树状天平是按递归给出的. 题目分析:平衡的条件是子天平都平衡,并且w1*d1==w2*d2,其中w1和w2为子天平的总重量,d1和d2为力矩. 代码如下: # ...
- Redis.RedisNativeClient的方法get_Db 没有实现
C#出现问题:Redis.RedisNativeClient”的方法“get_Db”没有实现 ServiceStack.Redis.RedisNativeClient”的方法“get_Db”没有实现 ...
- Nginx实践01-ngnix编译安装-测试
1.下载nginx安装包 下载地址:http://nginx.org/en/download.html(里面有nginx各个版本) 解压到指定目录: 解压出来的目录简单介绍: src:软件的所有源代码 ...
- 创芯Xilinx Microblaze 学习系列第一集
创芯Xilinx Microblaze 学习系列第一集 Xilinx ISE Design Suite 13.2 The MicroBlaze™ embedded processor soft cor ...
- java应用简单递归
毕业后就怎么学过算法,还在上学的时候学过数据结构,现在基本上都还给老师了,可惜老师学费没有还给我... 情景: 类似于给定一个数字,算他由多少个数字组成,比如:36 现在有10.5.1 ,那么最佳帅3 ...
- FIS 的思想和优点
资源表 各种性能优化算法的加载框架 依赖声明有助于组件化 资源自动合并 链接 与webpack对比
- web 开发 css 默认值列表
css默认值列表 HTML标签CSS属性默认值汇总 这个东西,在你需要还原默认值的时候,比较有用. 开始的时候 *{margin:0;padding:0;},当需要使用边距的时候,就需要还原HTML默 ...
- 重启Tomcat还可以这样玩的哦
- Linux运维学习笔记-常用快捷键及vi、vim总结
vim是vi的增强版,vim完全兼容vi