20155217 2016-2017-2 《Java程序设计》第3周学习总结
20155217 2016-2017-2 《Java程序设计》第3周学习总结
教材学习内容总结
第四章
- 要产生对象必须先定义类,类定义时使用class关键词,建立实例要使用new关键词。
- 参数名称与对象数据成员同名时,可以在数据成员前使用this区别。
- java.util.Scanner中的nextInt()、next()、nextLine()。
- java.math.BigDecimal类来得到想要的精确度。
- =是用在指定参考名称参考某个对象,而==是用在比较两个参考名称是否参考同一对象。
- 除了使用new创建基本类型打包器之外,还有了自动装箱功能。自动装箱和自动拆箱的功能实际上是编译程序蜜糖。
- 数组在Java中就是对象,索引从0开始。有了增强式for循环语法,可用于循环取得数组元素。
- 无论System.arraaycopy()还是Array.copyOf(),用在类类型声明的数组,都执行浅层复制。
- 字符串本质是打包字符数组的对象,是java.lang.String类的实例。
- 以""包括的字符串,只要内容相同,无论在程序代码中出现几次,JVM都只会建立一个String实例,并在字符串池中维护。想要比较字符串实际内容是否相同,要使用equals()。
使用+连接字符串会产生新的String实例。
- 部分代码运行截图





第五章
- 方法封装了操作对象的流程,封装的主要目的就是隐藏对象细节。封装取值方法的名称需要以get开头,之后接上首字母大写的单词。
- 如果想在其他包的类程序代码中存取某包的类或对象成员,则该类或对象成员必须是公开成员,在java中要使用public声明。
- 默认构造函数和重载构造函数。
- 除了被声明为static的地方外,this关键词可以出现在类中的任何地方。this()代表调用了另一个构造函数。而被声明static的成员属于类。static方法中不能用非static数据或方法成员。
- 对象数据成员被声明final,但没有明确使用=指定值,表示延迟对象成员值得指定。在构造函数执行流程中,一定要有对数据成员指定的动作。
- 使用不定长度自变量时,方法上声明的不定长度参数必须是参数列的最后一个,使用两个以上的不定长度自变量也是不合法的。
- 部分代码运行截图



教材学习中的问题和解决过程
问题1:
System.arraaycopy()和Array.copyOf()用在类类型声明的数组,都执行浅层复制的话,如何执行深层复制呢?
问题1解决方案:
如图:

将c1每个索引参考对象复制,并分别指定给c2每个索引。而并不是像浅层复制那样仅仅只将c1参考的对象也给c2每个索引来参考。
问题2:
使用+连接字符串怎样达到可以更改字符串内容的?
问题2解决方案:
使用+连接字符串会产生新的String实例,而绝不是仅仅在参考字符串候附加内容。
具体为先建立java.lang.StringBuilder对象,使用其append()方法来进行+左右两边字符串附加,最后再转换为toString()返回。
问题3:
如果局部生命了final关键字,表示设值后不能再变动,如final int x=10;但为什么final int x中x的默认初始值为0,其他地方仍能对x设值?
问题3解决方案:
对象数据成员被声明final,但没有明确使用=指定值,表示延迟对象成员值得指定。在构造函数执行流程中,一定要有对数据成员指定的动作,否则编译错误。
代码调试中的问题和解决过程
- 问题1:
按照课本敲如图所示的代码,运行之后发现和课本的执行结果细节处不相同。 

- 问题1解决方案:
- 在Scanner scanner=new Scanner(System.in)之前添加了一个System.out.print("Input a number:")。
本次代码使用的是do-while循环,循环条件是while(number!=0),所以像课本中没有出现number=0这种情况是不存在的。
修改后的程序截图:
代码托管
- 代码提交过程截图:
- 代码量截图:
上周考试错题总结
~0b1011的十进制数值()
八位二进制:00001011
每位取反得:11110100
取反后补码:10001011+1=10001100
十进制表示:-12在linux bash中查找两天前创建的java文件用()命令
find -ctime 2 -name *.java
其他(感悟、思考等,可选)
这周通过自学第四章和第五章的内容,发现了许多java不同于c的地方,也清楚地感觉到学习困难程度的加深。同时,再一次发现java需要背过的代码又多又难记,如果不勤于练习并有目的地去背诵记忆,会落后得越来越远。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 5/5 | 1/4 | 20/20 | |
| 第二周 | 140/145 | 1/5 | 18/38 | |
| 第三周 | 330/451 | 1/6 | 16/54 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:20小时
实际学习时间:16小时
改进情况:有目的地选择背诵代码
参考资料
20155217 2016-2017-2 《Java程序设计》第3周学习总结的更多相关文章
- 20155217 2016-2017-2《java程序设计》第一周学习总结
20155217 2016-2017-2<java程序设计>第一周学习总结 浏览教材,根据自己的理解每章提出一个问题 java平台和java编程语言的区别? 怎样使用IDE来管理原始码与位 ...
- 20155207 2016-2017-2 《Java程序设计》第九周学习总结
20155207 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
随机推荐
- ZT android -- 蓝牙 bluetooth (四)OPP文件传输
android -- 蓝牙 bluetooth (四)OPP文件传输 分类: Android的原生应用分析 2013-06-22 21:51 2599人阅读 评论(19) 收藏 举报 4.2源码AND ...
- ZT android -- 蓝牙 bluetooth (一) 入门
android -- 蓝牙 bluetooth (一) 入门 分类: Android的原生应用分析 2013-05-19 21:44 4543人阅读 评论(37) 收藏 举报 bluetooth4.2 ...
- HDU 1542 矩形面积并
推荐阅读这篇文章 这里仅根据上述文章进行一些补充.主要是注意这里线段树点的意义变成了“边”.比如+-----+-----+,看作3个点abc和两条边e1和e2,那么线段树中点a代表e1,点b代表e2. ...
- 定义类、System.Object对象、构造函数与析构函数、抽象类与静态类
一.类定义 class MyClass { //类成员 } 1.访问级别 默认访问级别为internal(内部类),也可以是public(公共类) internal(内部类):当前项目中的代码才能访问 ...
- kafka部分重要参数配置-broker端参数
broker端参数主要在config/server.properties目录下设置: 启动命令:nohup ./kafka-server-start.sh -daemon ../config/serv ...
- Nowcoder Girl 初赛 T5
Nowcoder Girl 初赛第五题 来源 Nowcoder Girl 初赛第五题 题面 \(n(1<=n<=10000)\)件武器,每件武器对于属性有加成,一共五种属性.若使用其中的\ ...
- scala当中的文件操作和网络请求
1.读取文件当中每一行的数据 def main(args: Array[String]): Unit = { //注意文件的编码格式,如果编码格式不对,那么读取报错 val file: Buffere ...
- scala当中的特质trait
1.将trait作为接口使用 Scala中的trait是一种特殊的概念: 首先先将trait作为接口使用,此时的trait就与Java中的接口 (interface)非常类似: 在trait中可以定义 ...
- Android Studio Git .gitignore文件配置忽略不需要的文件
转载请标明出处: http://www.cnblogs.com/why168888/p/6440805.html 本文出自:[Edwin博客园] # Built application files * ...
- python 中的set与list,tuple
__author__ = 'liunnis' #-*-coding:utf-8 -*- a=[1,2,3,4,4] print a print list(set(a)) b=[str(i) for i ...



