20155232 2016-2017-3 《Java程序设计》第8周学习总结
第十四章NIO与NIO2
第十五章
问题一
在学习指导中,有这样一个问题日志能不能存数据库中?
解决方案
在网上搜索了一下,找到了比较合适的说法:
问题二
如果要以特定编码输出信息或储存文档,有什么方法?
解决方案:
Handler有个setEncoding()方法,可以指定文字编码。
问题一:
再上传代码时,git出现图中错误:
解决方案
上传了很多次都没有成功,后来发现是因为没有连接网络导致的。在检查确认网络连接无误后,再次上传,成功。
问题二
在运行课本p481 Helllo.java时,编译通过,在运行时出现错误,Hello.java程序代码如下:
package cc.openhome;
import static java.lang.System.out;
import java.util.ResourceBundle;
public class Hello {
public static void main(String[] args) {
ResourceBundle res = ResourceBundle.getBundle("messages");
out.print(res.getString("cc.openhome.welcome") + "!");
out.println(res.getString("cc.openhome.name") + "!");
}
}
按照课本p480页,首先要准备一个.properties文档,如下图messages.properties,文档内容如图:
程序中代码如图:
且在检查p481页代码时发现,代码中
cc.openhome
也应该改为:
package I18N;
import static java.lang.System.out;
import java.util.ResourceBundle;
public class Hello {
public static void main(String[] args) {
ResourceBundle res = ResourceBundle.getBundle("messages");
out.print(res.getString("I18N.welcome") + "!");
out.println(res.getString("I18N.name") + "!");
}
}
因为我的包名是I18N所以需要修改代码才能通过编译运行。
再次运行:
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
6 其他加分:
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
A .od -b -tx1 Hello.java
B .od -tcx1 Hello.java
C .od -tc -tx1 Hello.java
D .od -tbx1 Hello.java
这道题我选择的是C,少选择了B。老师上课讲解了这个题目,-b 是以八进制输出,l是16进制输出。
A .static
B .final
C .public
D .private
E .none of the above(以上都不是)
我选择的是C,答案是D。私有可见性修饰符防止不适当的数据访问,因此促进封装。选择A和B不是可见性修饰符,而选择C是可见性修饰符,允许对对象数据的公共访问,这违背了封装的原则
A .true
B .false
我选择的是A,答案是B。概念错误。类可以被看作是一组对象的蓝图,而不是另一种方式。
A .Instant
B .LocalDate
C .LocalDateTime
D .LocalTime
E .ZonedDateTime
我选择的是AC,答案是E。localxxxx明确排除时区。instant代表一个时间点,但
始终使用GMT而不是所需时区。
LocalDate date = LocalDate.of(2018, Month.APRIL, 30);
date.plusDays(2);
date.plusYears(3);
System.out.println(date.getYear() + " "
+ date.getMonth() + " "+ date.getDayOfMonth());
A .2018 APRIL 2
B .2018 APRIL 30
C .2018 MAY 2
D.2021 APRIL 2
E .2021 APRIL 30
F .2021 MAY 2
G .A runtime exception is thrown.
我选择的是A,答案是B,日期开始为2018年4月30日。因为日期是不可变的,加上方法
忽略返回值,结果不变。因此,选项B是正确的。
LocalDate date = LocalDate.of(2018, Month.APRIL, 40);
System.out.println(date.getYear() + " " + date.getMonth()
+ " "+ date.getDayOfMonth());
A .2018 APRIL 4
B .2018 APRIL 30
C .2018 MAY 10
D .Another date
E .The code does not compile.
F .A runtime exception is thrown.
我选择了A,正确答案是F,java抛出异常如果无效的日期值传递。没有第四十天
四月或任何其他月份。
在第十五章中,了解了日志API的介绍,系统中有很多值得记录的信息,例如异常捕捉之后,有些异常对于开发人员才有意义的,可以记录下来,java SE提供了日志API,可以基于标准调用使用。还了解了国际化基础,学会使用规则表示式,也认识了JDK8的增强功能。
在这次考试中,虽然可能大多半是运气吧,拿了第一名,但是很是开心,感觉又有了很强的动力去学习java。希望在日后的学习中能继续认真的对待,考试成绩能再提高。在上面考试分析中对错的题目做了分析,老师给出的英文解析,有的单词不知道什么意思,我用了有道词典查询,然后翻译了,查看起来就更能明白错误的原因在哪里了。
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 15/15 | 1/1 | 23/26 | |
第二周 | 208/240 | 2/2 | 35/38 | |
第三周 | 376/584 | 3/3 | 32/38 | |
第四周 | 823/1407 | 4/4 | 28/30 | |
第五周 | 986/2393 | 5/5 | 21/26 | |
第六周 | 1258/3651 | 6/6 | 26/25 | |
第七周 | 575/4226 | 7/7 | 14/16 | |
第七周 | 390/4616 | 8/8 | 15/18 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:18小时
实际学习时间:15小时