20145203盖泽双《Java程序设计》第三周学习总结

教材学习内容总结

1、两个基本的标准类:java.util.Scanner与java.math.BigDecimal。

2、BigDecimal提供有plus()、substract()、multiply()、divide()可以进行加、减、乘、除等运算。

3、可以使用Long、Integer、Double、Float、Boolean、Byte等类来打包基本类型。这就是所谓的打包器。

4、Integer提供的compareTo()方法,可与另一个Integer对象进行比较,小与compareTo()传入对象打包值就返回-1,否则就是1。

5、如果默认初始值不符合你的需求,则可以使用java.util.Arrays的fill()方法来设定新建数组的元素。

6、System.arraycopy的五个参数分别是来源数组、来源其实索引、目的数组、目的起始索引、复制长度。

7、封装(Encapsulation)实际上使用方法(Method)将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,隐藏对象细节,将对象当作黑箱进行操作。

①通过构造方法(构造函数)封装初始化流程。

②通过成员方法(函数)封装操作。

③通过成员变量封装数据。

8、如果没有声明权限修饰的成员,只有在相同包的类程序代码中才可以直接存取,也就是“包范围权限”。如果想在其他包的类程序代码中存取某包的类或对象成员,则该类或对象成员必须是公开成员,在Java中要使用public加以声明

9、使用import static语法要注意名称冲突问题,有些名称冲突编译程序可通过以下顺序来解析。

局部变量覆盖:选用方法中的同名变量、参数、方法名称。

成员覆盖:选用类中定义的同名数据成员、方法名称。

重载方法比较:使用import static的各个静态成员,若有同名冲突,尝试通过重载判断。

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

1、add()和plus()的区别。

解决过程:我理解为plus()只是BigDecimal提供的加法运算,而BigDecimal的add()等方法都会返回代表运算结果的BigDecimal,所以直接利用返回的BigDecimal再调用add()的方法。

2、不知道Integer装的是什么类型的箱。

解决过程:认真翻书查阅之后,我发现Boolean、Byte、Short、Character、Integer、Long、Float或者Double分别打包boolean、byte、short、char、long、float、、double等基本类型。

3、不明白索引是什么?

解决过程:经过翻书我理解为、如果把二维数组当作一个矩阵的话,索引就相当于是矩阵中每个数的坐标。用来准确地查找每个数的位置。

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

1、不知道p100、p102的代码中System.out.println()的意思。

解决过程:我进行了一下尝试:

我发现加上这句话的执行结果和书上是一样的。如果不加这句话,执行的结果就是这样的:

这是什么原因呢?难道这句话的作用仅仅是空格的作用?

2、调试代码的时候,我不明白这个代码为什么i++最后输出的结果会是10:

解决过程:我问了几个同学他们也对这个问题不太理解。只能理解为输出的时候还未进行++运算!

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

这次学习java我觉得很抽象,不太好理解。接触了越来越多的以前没有接触过的东西了,比如操作对象什么的。有的时候读书的时候会遇到一些很难理解的东西,但是只要反复的一字一句的去研读,就能产生自己的新理解,然后再在此基础上不断学习更多的知识,不断地完善自己的认知。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 100/100 2/2 20/20
第二周 200/300 3/5 30/50
第三周 200/400 1/6 30/80
第四周 000/0000 0/0 00/00

参考资料

最新文章

  1. 关于 IE6、 IE7兼容性总结(转)
  2. JQuery利用sort对DOM元素进行排序
  3. Delphi文件操作函数
  4. 删除变长列字段后使用DBCC CLEANTABLE回收空间
  5. mysql常见命令
  6. permutation II (boss出来了)
  7. struts 2.5.5 通配符问题
  8. function adapter(函数适配器)和迭代器适配器
  9. Configure apt-get / git/ curl to use a proxy (Ubuntu)
  10. 【翻译习作】 Windows Workflow Foundation程序开发-前言
  11. 李洪强iOS开发之OC面向对象—多态
  12. web_find和web_reg_find的用法和区别
  13. 定时器:为 Windows 实现一个连续更新,高精度的时间供应器
  14. C++异常处理小例
  15. AutoFac使用方法总结:Part II
  16. canvas画扇形图(本文来自于http://jo2.org/html5-canvas-sector/)
  17. 专业辟谣----ThinkSNS不仅仅是微博程序!
  18. ucloud mysql
  19. VS2017提醒找不到MSVCR110D.dll
  20. mysql安装完成之后为root用户添加密码

热门文章

  1. Dynamics 365Online 查询Web Api的请求WebUri
  2. JAVA视频网盘分享
  3. Unexpected token o in JSON at position 1 at JSON.parse (<anonymous>) SyntaxError: Unexpected token R in JSON at position 0 at JSON.parse (<anonymous>)
  4. 多线程下载英文Google地图
  5. Java 之常用API(二)
  6. flutter 生命周期
  7. node(3)MVC代码结构模式moogoDB的学习
  8. Angular1.x DirtyChecking(脏值检查) $watch, $apply, $digest
  9. sun.misc.BASE64Encoder在Eclipse中不能直接使用的原因和解决方案
  10. mysqldump的假注释