20155330 2016-2017-2 《Java程序设计》第三周学习总结
20155330 2016-2017-2 《Java程序设计》第三周学习总结
教材学习内容总结
学习目标
- 区分基本类型与类类型
- 理解对象的生成与引用的关系
- 掌握String类和数组
- 理解封装的概念
- 掌握构造方法的定义
- 理解重载的概念
- 掌握static的应用
第四章 章节主要内容

小结
- 比较两个BigDecimal是否相等,使用equals()方法而非使用
==运算符。 - Integer提供compareTo()方法,可与另一个Interger对象进行比较,如果打包值相同返回0,小于compareTo()传入对象返回-1。否则为1。
- 学会查询API文件
- System.arraycopy()和Arrays.copyOf()用在类类型声明的数组时都是执行浅层复制。
第五章 章节主要内容

小结
- 构造函数实现对象初始化流程的封装。方法封装了操作对象的流程。
- 没有声明权限修饰的成员,只有在相同包的类程序代码中才可以直接存取——“包范围权限”。若想在其他包的类程序代码中存取某包的类或对象成员,则该类或对象成员必须是公开成员,需用public加以声明。
- 在使用import static语法偷懒时,要注意名称冲突问题。可用局部变量覆盖、成员覆盖、重载方法比较来解析。
教材学习中的问题和解决过程
问题1:为什么在基本类型和类类型中,
==不能直接得到想要的结果?解决方案:根据书上所述,在类类型中
==是用于比较两个参考名是否参考同一对象。而在基本类型中则是比较两个变量储存的值是否相同,所以在两个类型中==所表示的含义不同。问题2:为什么在课本实例IntegerDemo中,doubleValue所显示的结果为3.333333333335而不是所说的3.3333333333…
解决方案:首先在编译IntegerDemo程序时,尝试对比了float和double的精度。
初始程序:
public class IntegerDemo {
public static void main(String[] args) {
int data1 = 10;
int data2 = 20;
Integer wrapper1 = new Integer(data1);
Integer wrapper2 = new Integer(data2);
System.out.println(data1 / 3);
System.out.println(wrapper1.doubleValue() / 3);
System.out.println(wrapper1.compareTo(wrapper2));
}
}
结果:

将doubleValue更改为后floatValue结果显示为:

在java中,默认是四舍五入,所以即使double精度高于float,但在结果显示时,使用double类型得到的结果依然是一个有限小数。
- 问题3:如何使用IDEA让用户命令行自变量提供整数?、
- 解决方案:未解决。
代码调试中的问题和解决过程
- 问题1:在编译程序ShallowCopy时出现

- 解决方案:经过检查是class类定义重复所导致的错误。重新将Clothes定义为Clothes3后得到正确结果。
代码托管
- 代码提交过程截图:

- 代码量截图:

上周考试错题总结
- 错题1:6. CH03 填空:~0b1011的十进制值是(-12)
- 理解情况:计算机存放数据为八位二进制数,则1011储存形式为00001011,取反后为11110100,又因为计算机存储为补码形式,则由右至左第一个1后取反且符号位不变为10001100得到结果-12。
- 错题2:11. CH03 判断:Java中,非零数字等价于true.(X)
- 理解情况:在java程序语言中与C语言有所不同,C语言中非零数字等价于true,而在Java中只有true和false。
其他(感悟、思考等,可选)
相对于上一周的学习,这周学习任务比较繁重,学习内容也与之前所学大有不同。接触到新的知识但是理解和应用方面还不算太熟练。在编写课后操作题时还需要借助网络参考和提问寻求帮助。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 18篇 | 300小时 | |
| 第一周 | 15/15 | 1/1 | 15/15 | |
| 第二周 | 159/174 | 1/2 | 20/35 | |
| 第三周 | 414/588 | 1/3 | 18/53 | 了解了封装、对象 |
计划学习时间:20小时
实际学习时间:18小时
改进情况:这周学习时间相较上周有所减少,但效率提高了不少。
参考资料
20155330 2016-2017-2 《Java程序设计》第三周学习总结的更多相关文章
- Java程序设计第三周学习总结
1. 本周学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...
- 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈
对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...
- 20155330 2016-2017-2 《Java程序设计》第九周学习总结
20155330 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛 ...
- 20155330 2016-2017-2 《Java程序设计》第二周学习总结
20155330 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 学习目标 了解Java编程风格 认识Java的类型与变量 掌握Java流程控制的方法(分支. ...
- 20155304 2016-2017-2 《Java程序设计》第九周学习总结
20155304 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC ...
- 20155321 2016-2017-2 《Java程序设计》第九周学习总结
20155321 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 厂商在实现JDBC驱动程序时,依方式可将驱动程序分为四种类型: JDBC-OD ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
随机推荐
- scala当中的继承
1.Scala中继承(extends)的概念 Scala 中,让子类继承父类,与 Java 一样,也是使用 extends 关键字: 继承就代表,子类可继承父类的 field 和 method ,然后 ...
- IOS http(上传和下载)
HttpTool.h #import <Foundation/Foundation.h> typedef void (^HttpToolProgressBlock)(CGFloat pro ...
- 组合数取模方法总结(Lucas定理介绍)
1.当n,m都很小的时候可以利用杨辉三角直接求. C(n,m)=C(n-1,m)+C(n-1,m-1): 2.n和m较大,但是p为素数的时候 Lucas定理是用来求 c(n,m) mod p,p为素数 ...
- 真实世界中的 Swift 性能优化
那么有什么因素会导致代码运行缓慢呢?当您在编写代码并选择架构的时候,深刻认识到这些架构所带来的影响是非常重要的.我将首先谈一谈:如何理解内联.动态调度与静态调度之间的权衡,以及相关结构是如何分配内存的 ...
- jquery Mobile入门—多页面切换示例学习
1.在JQuery Mobile中,多个页面的切换是通过<a>元素.并将<href>属性设置为#+对应的id号的方式进行的. 2.多页面切换示例代码: 复制代码代码如下: &l ...
- Eclipse中修改git地址、用户、密码
1. 修改Url Window > Preferences > Team > Git > Configuration > Repository Settings 2. 修 ...
- Dubbo实践(四)设计模式
Dubbo框架在初始化和通信过程中使用了多种设计模式,可灵活控制类加载.权限控制等功能. 工厂模式 Provider在export服务时,会调用ServiceConfig的export方法.Servi ...
- 微服务之配置中心ConfigKeeper
在微服务架构中,配置中心是必不可少的基础服务.ConfigKeeper已开源,本文将深度分析配置中心的核心内容,错过「Spring Cloud中国社区北京沙龙-2018.10.28 」的同学将从本篇文 ...
- Xcode 创建 支持IOS4.3以上版本的应用的方法
如果是Xcode 5的话步骤为 点击项目名称->Build Settings->搜索 Architectures 这个里面的原始的值是Standard architectures(armv ...
- oracle入门(二)
### 一,视图 ```1. 什么是视图 视图是一张虚表, 可以把视图看成表使用(增删改查),视图中没有数据,所有的数据都在基本表中(tables) 封装了一个复杂的DQL 操作视图 ...