20155229 2016-2017-2 《Java程序设计》第三周学习总结
20155229 2016-2017-2 《Java程序设计》第三周学习总结
教材学习内容总结
第四章
BigDecimal提供有plus()、substract()、multiply()、divide()进行加、减、乘、除等运算。
“=”与“==”在两大类型系统下的区别:
基本类型:=是将值复制给变量,==是比较两个变量储存的值是否相同;
类类型:=用在指定参考名称参考某个对象,==比较两个参考名是否参考同一对象。(!=是比较两个名称是否没参考同一对象)
- 运算时的自动装箱与拆箱:
eg.System.out.println(i+10); //10先装箱,对i先拆箱,在进行加法运算
System.out.println(i++); //先对i拆箱再递增
null:任何类声明的参考名称都可以参考至null,这个名称没有参考至任何对象实体
数组复制
System.arraycopy()的五个参数分别是来源数组、来源起始索引、目的数组、目的起始索引、复制长度。比较对象实质内容是否相同使用equals()
第五章
构造函数:构造函数是与类名称声明返回类型的方法。
使用new创建Some对象时,a与text分别先初始为0与null。
static
声明为static的变量称为静态变量或类变量。可以直接通过类名引用静态变量,也可以通过实例名来引用静态变量。
声明为static的方法称为静态方法或类方法。静态方法可以直接调用静态方法,访问静态变量,但是不能直接访问实例变量和实例方法。静态方法中不能使用this关键字,因为静态方法不属于任何一个实例。静态方法不能被子类的静态方法覆盖。
- 方法重载就是方法名称重复,加载参数不同。
教材学习中的问题和解决过程
- 问题一:P102 IntegerArray.java得的结果是

虽然与书上答案一样,但我并不理解为什么前三个答案是 null。
在重读代码后, 发现第一次循环输出并没有输入值
for(Integer score : scores) {
System.out.println(score);
}
所以给出的答案参考至null,而接着的循环有输入数值,第二次循环输出的值就是代码中给出的值。
- 问题二:
没有理解下面代码中(int score :scores )的作用及意义
for(int score : scores) {
System.out.print("学生分数:%d %n",score);
}
P96中说明这个程序取得scores数组第一个元素,指定给score变量后执行循环体,接着取第二个元素,指定给score变量后执行循环体,以此类推。。。
问题三:在学习数组对象这一块时,发现java的数组与c语言的有不同,例如,java中的的多维数组基本上都是由一维数组组成。
为了了解两者的不同,我查阅了资料
Java中数组与c语言中数组的比较
两者在四个方面有不同:①数组的定义②数组的初始化③数组操作的不同④数组作参数的不同
问题四:public、private的区别
解决:
public:
是一个公开类。具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。
private:
访问权限仅限于类的内部,表示为私有,用户无法在其他类的程序代码中直接存取。
问题五:第三章学习了使用import的偷懒技术,第五章中还介绍了import static,两者都可以偷懒,但不能太过偷懒,要注意名称是否会冲突。
代码调试中的问题和解决过程
- 问题一:P98 Score2
我的代码结果如下:

解决方案:下图中第一个输出时,我将"%2d"误输为"2%d",因此结果这个答案。

问题二:P109 Average.java如下图所示,结果是NaN

解决方案:
先查询了NaN是什么
NaN是Not a Number的缩写。用于处理计算中出现的错误情况.在IEEE浮点数算术标准(IEEE 754)中定义,表示一些特殊数值(无穷与非数值(NaN)),为许多CPU与浮点运算器所采用
然后,加入存储数字的代码,运行代码。
代码托管
- 代码提交过程截图:

- 代码量截图:

**注:图中的总代码量只有第二、三周的代码量
上周考试错题总结
- 1.填空:Linux Bash中,查找当前目录中前天创建的Java文件的命令是(find . –name *.java -ctime 2)
①查找创建的java文件——(find xxx.java).
②与时间相关的命令参数:
| 命令 | 含义 |
|---|---|
| -atime | 最后访问时间 |
| -ctime | 创建时间 |
| -mtime | 最后修改时间 |
2.判断:教材P51,第8 题 ,执行命令 java –cp classes cc.openhome.Main 和cd classes; java cc.openhome.Main;cd .. 等价。(OK)
6.填空:~0b1011的十进制值是(-12)
计算机的一个byte为8位,1011存放为00001011,取反后得11110100,因为最高位为1,所以该数为负数,因此该数各位取反,末位加一后得10001100,即-12.
13.填空 :0x10%9 的结果是( 7 )
14.填空 :0x10&9 的结果是(0)
将十六进制的10转为二进制:0001_0000。将9转为:0000_0001。两者经过‘&’的运算得到的结果为0000_0000,即0.
- 15.填空:Java中方法中的变量叫(局部变量)
其他
这一周学习了第四、五章内容,与上周相比,学习的难度,需要敲打的代码都大大提高了。在学习的过程中,发现自己在在打代码时,打完就会忘,记忆不牢固,同时也反映出了,我在学习java上还需要更多的练习,因为会有一个遗忘的过程和重复练习的过程,所以我认为接下来的学习过程中,只能选择多练。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 15篇 | 400小时 | |
| 第一周 | 9/9 | 1/1 | 20/20 | |
| 第二周 | 162/ 171 | 1/2 | 25/45 | 学习java的基础语法 |
| 第三周 | 380/ 551 | 1/3 | 25/70 | 学习java对象及封装 |
计划学习时间:20小时
实际学习时间:25小时
改进情况:这周学习的是对象及封装,由于是两章的内容,并且是新接触的知识,所以理解较吃力,花的时间也较多。
参考资料
20155229 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.个别同学上课不认真听讲,打开 ...
- 20155229 2016-2017-2 《Java程序设计》第九周学习总结
20155229 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBaseConnectivity)即java数据库连接 ...
- 20155229 2016-2017-2 《Java程序设计》第二周学习总结
20155229 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 布尔:boolean类型可表示true和false %符号被用来作为控制符号前置,所以规定用 ...
- 20155229 2016-2007-2 《Java程序设计》第一周学习总结
20155229 2016-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 1~18章的提问: 第一章:怎样撰写Java才不会沦于死背API文件.使用"复制. ...
- 20155225 2016-2017-2 《Java程序设计》第九周学习总结
20155225 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 了解JDBC架构 使用JDBC API JDBC是用于执行SQL的解决方案,开 ...
- 20155310 2016-2017-2 《Java程序设计》第九周学习总结
20155310 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 •数据库本身是个独立运行的应用程序 •撰写应用程序是利用通信协议对数据库进行指 ...
- 20155338 2016-2017-2 《Java程序设计》第九周学习总结
20155338 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 · 数据库本身是个独立运行的应用程序 · 撰写应用程序是 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
随机推荐
- execl execv
int execl(const char *path, const char *arg, ...); 函数说明 execl()其中后缀"l"代表list也就是参数列表的意思第一参数 ...
- MySQL语法相关其一
一篇基础语法相关的笔记 // 参考资料: MySQL入门很简单 黄缙华等编著 清华大学出版社 北京 建议进入官网下载对应版本后安装:https://dev.mysql.com/downloads/my ...
- metasploit 渗透测试笔记(基础篇)
0x00 背景 笔记在kali linux(32bit)环境下完成,涵盖了笔者对于metasploit 框架的认识.理解.学习. 这篇为基础篇,并没有太多技巧性的东西,但还是请大家认真看啦. 如果在阅 ...
- 在 ServiceModel 客户端配置部分中,找不到引用协定“myservice.Service1Soap”的默认终结点元素。这可能是因为未找到应用程序的配置文件,或者是因为客户端元素中找不到与此协定匹配的终结点元素。
在做项目的时候遇到这个问题,当我在web网站中引用webservice时,很正常,但是当我在一个类库里引用并调用webservice方法后,然后网站调用这个类库里的方法,就会报标题这样的错误.最后纠结 ...
- 使用zepto实现QQ消息左滑删除效果
有这样一个需求: 1. 有一个列表,将每一个列表项左滑动出现删除按钮: 2. 右滑动隐藏删除按钮: 3. 点击这个删除按钮删除该列表项. 完成以后的效果: 这是微信网页端的页面,使用的是 zepto ...
- JavaScript的事件概述以及事件对象,事件流
事件处理程序 JavaScript 事件对象是由访问 Web 页面的用户引起的一系列操作,例如:用户点击页面上的某个按钮或者鼠标移动到页面的某个图片上而产生一系列的互动的反馈. 我们通过为指定事件绑定 ...
- 【node.js】事件循环、EventEmitter
Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高. Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发. 事件驱动程序 ...
- PAT——1065. 单身狗
“单身狗”是中文对于单身人士的一种爱称.本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱. 输入格式: 输入第一行给出一个正整数N(<=50000),是已知夫妻/伴侣的对数:随后N行 ...
- nRF5 SDK for Mesh(三) Installing the mesh toolchain 安装编译工具链
Installing the mesh toolchain To build the example applications, a toolchain based on either CMake o ...
- Gradle Goodness: Display Available Tasks
To see which tasks are available for our build we can run Gradle with the command-line option -t or ...