20145203盖泽双《Java程序设计》第三周学习总结
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 |
参考资料
最新文章
- 关于 IE6、 IE7兼容性总结(转)
- JQuery利用sort对DOM元素进行排序
- Delphi文件操作函数
- 删除变长列字段后使用DBCC CLEANTABLE回收空间
- mysql常见命令
- permutation II (boss出来了)
- struts 2.5.5 通配符问题
- function adapter(函数适配器)和迭代器适配器
- Configure apt-get / git/ curl to use a proxy (Ubuntu)
- 【翻译习作】 Windows Workflow Foundation程序开发-前言
- 李洪强iOS开发之OC面向对象—多态
- web_find和web_reg_find的用法和区别
- 定时器:为 Windows 实现一个连续更新,高精度的时间供应器
- C++异常处理小例
- AutoFac使用方法总结:Part II
- canvas画扇形图(本文来自于http://jo2.org/html5-canvas-sector/)
- 专业辟谣----ThinkSNS不仅仅是微博程序!
- ucloud mysql
- VS2017提醒找不到MSVCR110D.dll
- mysql安装完成之后为root用户添加密码
热门文章
- Dynamics 365Online 查询Web Api的请求WebUri
- JAVA视频网盘分享
- 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>;)
- 多线程下载英文Google地图
- Java 之常用API(二)
- flutter 生命周期
- node(3)MVC代码结构模式moogoDB的学习
- Angular1.x DirtyChecking(脏值检查) $watch, $apply, $digest
- sun.misc.BASE64Encoder在Eclipse中不能直接使用的原因和解决方案
- mysqldump的假注释