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

教材学习内容总结

学习目标

  1. 区分基本类型与类类型
  2. 理解对象的生成与引用的关系
  3. 掌握String类和数组
  4. 理解封装的概念
  5. 掌握构造方法的定义
  6. 理解重载的概念
  7. 掌握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程序设计》第三周学习总结的更多相关文章

  1. Java程序设计第三周学习总结

    1. 本周学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...

  2. 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...

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

    20155330 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛 ...

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

    20155330 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 学习目标 了解Java编程风格 认识Java的类型与变量 掌握Java流程控制的方法(分支. ...

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

    20155304 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC ...

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

    20155321 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 厂商在实现JDBC驱动程序时,依方式可将驱动程序分为四种类型: JDBC-OD ...

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

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

  8. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

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

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

  10. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

随机推荐

  1. 020.2.2 runtime类

    基本不用,简单看一下就行了 1.属于单例的一个实例,可以通过getRuntime()获取对象Runtime r = Runtime.getRuntime();r.exec("winmine. ...

  2. yarn-site.xml

    要保证spark on yarn的稳定性,避免报错,就必须保证正确的配置,尤其是yarn-site.xml. 首先来理解一下yarn-site.xml各个参数的意义(引自董的博客) 注:下面<v ...

  3. jq判断鼠标滚轴向上滚动还是向下滚动

    $(document).on("mousewheel DOMMouseScroll", function (e) { var delta = (e.originalEvent.wh ...

  4. BZOJ 1015 星球大战starwar 逆向并查集

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1015 题目大意: 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个 ...

  5. gluoncv训练faster rcnn的一点小问题

    gt数目超过上限. https://github.com/dmlc/gluon-cv/pull/335/files

  6. Linux学习总结(十七)-shell 基础知识

    一 先介绍几种常用字符: 1 * 匹配任意个任意字符2 ?匹配一个任意字符3 # 注释符号,符号后的语句不被执行4 \脱意字符,后面跟带含义字符时,照原字符输出5 []匹配包含在[]之中的任意一个字符 ...

  7. 1、Dubbo-分布式系统定义

    1.分布式基础理论 1.1).什么是分布式系统? <分布式系统原理与范型>定义: “分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统” 分布式系统(distribu ...

  8. c++ 有swap函数

    这是剑指offer数组中重复的数字那个题,直接使用的swap函数 class Solution { public: // Parameters: // numbers: an array of int ...

  9. OPENGL绘制文字

    OPENGL没有提供直接绘制文字的功能,需要借助于操作系统. 用OPENGL绘制文字比较常见的方法是利用显示列表.创建一系列显示列表,每个字符对应一个列表编号.例如,'A'对应列表编号1000+'A' ...

  10. DPDK安装依赖项合集 环境合集

    前言 在dpdk编译过程中,由于一些依赖项的限制,dpdk在纯净的系统上安装需要花一些功夫.本文总结了编译dpdk所需的依赖项,并归纳了安装合集,在安装过程上可以省下大量的搜索时间. 使用系统 ubu ...