20145329 《Java程序设计》第五周学习总结
20145329 《Java程序设计》第五周学习总结
教材学习内容总结
第八章
Java异常处理是要处理Exception类及其子类(Checked Exception),RuntimeException及其子类也不用处理(Unchecked Exception)
Multi-catch:类之间不能有继承关系
catch or throw?
throws:自己无法处理,用在方法声明,方法中抛出Checked Exception,方法声明中必须有throws。
try、catch语法
使用了try、catch语法,JVM会尝试执行try区块中的程序代码,如果发生错误,执行程序会跳离错误发生点,然后比对catch括号中声明的类型,是否符合被抛出的错误对象类型,如果是的话就执行catch区块中的程序代码。无论try区块中有无发生异常,若撰写有finally区块,finally区块一定会被执行,如果程序撰写流程先return了,而且也有finally区块,finally区块会先执行完后,再将值返回。
应用举例:
import java.util.*;
public class Average3 {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
double sum = 0;
int count = 0;
while (true) {
try {
int number = console.nextInt();
if (number == 0) {
break;
}
sum += number;
count++;
} catch (InputMismatchException ex) {
System.out.printf("略过非整数输" + ":%s%n", console.next());
}
}
System.out.printf("平均 %.2f%n", sum / count);
}
}
- Throwable
Throwable定义了取得错误信息、堆栈跟踪等方法,它有两个子类:java.lang.Error与java.lang.Exception.
第九章
收集对象的行为,像是新增对象的add()方法,移除对象的remove()方法等,都是定义在java.util.Collection中;java.lang.Iterable定义了iterator()方法返回java.util.Iterator操作对象,可以让你逐一取得收集的对象。
java中判断对象是否重复时,都会调用hashCode()与equals()方法,两个方法必须同时操作。
-若收集对象经常会有变动索引的情况,考虑连接方式操作的List会比较好。
- 一般常用Properties的setProperty()指定字符串类型的键值,getProperty()指定字符串类型的值,通常称为属性名称与属性值。
-Map没有继承Iterable,有个forEach()方法是定义在Map接口上,可使用这个方法结合Lambda表达式,在迭代键与值时获得不错的可读性。
应用举例:
import java.util.*;
public class Messages3 {
public static void main(String[] args) {
Map<String, String> messages = new TreeMap<>((s1, s2) -> -s1.compareTo(s2));
messages.put("Justin", "Hello!Justin讯息!");
messages.put("Monica", "给Monica的悄悄话!");
messages.put("Irene", "Irene的可爱猫喵喵叫!");
System.out.println(messages);
}
}
教材学习中的问题和解决过程
问题:Map键值是个什么概念,好抽象
解决:a=100a:键100:值应该叫:键值对。另外,map 中的键值可以是任何类型的。
Map获取键值
Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象。
Map的接口
Map---实现Map
Map.Entry--Map的内部类,描述Map中的按键/数值对。
SortedMap---扩展Map,使按键保持升序排列
代码调试中的问题和解决过程
按书上敲的没有什么困难,抛开理解,在调试的时候没什么问题,不过因为不注意细节的原因,有点死板的敲代码,所以还是会出现那种调用函数没有写在一个工程文件的情况
public class StackTraceDemo {
public static void main(String[] args) {
try { c();}
catch(NullPointerException ex) {
ex.printStackTrace(); } }
static void c() {
b();}
static void b() { a(); }
static String a() {
String text = null;
return text.toUpperCase();
}}
本周代码托管截图
]


其他(感悟、思考等,可选)
假期学习java少了一点热情,静不下心来,java依旧是考验人的啊,知识点确实是要极力消化才行。没有不劳而获的,学习的过程就是成长,成长总是会有辛苦伴随的。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 50/50 | 2/2 | 20/20 | 实现“HelloWorld” |
| 第二周 | 100/150 | 2/4 | 20/40 | 学会用IDEA编写代码 |
| 第三周 | 100/250 | 2/6 | 20/80 | 掌握更多的语法知识 |
| 第四周 | 150/400 | 1/7 | 20/100 | 学会用Git托管代码 |
| 第五周 | 100/250 | 1/8 | 20/120 | 掌握更多的语法知识 |
参考资料
- [Java学习笔记(第8版)]
- [《Java学习笔记(第8版)》学习指导
20145329 《Java程序设计》第五周学习总结的更多相关文章
- 201521123025<java程序设计>第五周学习总结
1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...
- Java程序设计第五周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 **代码阅读:Child压缩包内源代码 Child.java源代 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20145237 《Java程序设计》第九周学习总结
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 20175209 《Java程序设计》第九周学习总结
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
- 20175313 张黎仙《Java程序设计》第九周学习总结
目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...
随机推荐
- panzer 电力项目十一--hibernate操作大文本字段Blob和Clob
hibernate操作大文本字段Blob和Clob解决方案: 1.大文本字段Blob和Clob(流); 2.截串存取 第一步: 创建新表:Elec_CommonMsg_Content create t ...
- win7卸载IE11
好多人升级了IE11后发现各种不好用,比如经常卡死,无响应.调试工具不好用等缺点. 现在告诉你如何卸载IE11 查看已安装的更新 右键wie卸载,即可需要重启
- 安装mysql最后一步未响应,卡死。(解决方法mySql5.5,以及安装教程)
安装教程:http://www.server110.com/mysql/201308/784.html 重装mysql的时候,总是在提交配置后的最后一步,安装失败,进程管理器里显示程序无响应,mysq ...
- javascript自动识别是否移动设备访问
代码 JavaScript | 复制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 function is_pc(){ var os = new Array(& ...
- Codeforces Round #513-ABCD
ABC现场做出,涨了八十几分吧.D有点思路不知道怎么实现,赛后看题解发现巨简单,想得太复杂了.蓝瘦. A----http://codeforces.com/contest/1060/problem/A ...
- Linux下的信号机制
2017-04-06 之前在看LinuxThreads线程模型的时候,看到该模型是通过信号实现线程间的同步,当时没有多想,直接当做信号量了,现在想起来真是汗颜……后来想想并不是那么回事,于是,就有了今 ...
- 【我的Android进阶之旅】TortoiseSVN 客户端 如何重置用户名和密码?
在第一次使用TortoiseSVN从服务器CheckOut的时候,会要求输入用户名和密码,这时输入框下面有个选项是保存认证信息,如果选了这个选项,那么以后就不用每次都输入一遍用户名密码了. 不过,今天 ...
- Mybatis框架学习总结-Mybatis框架搭建和使用
Mybatis介绍 Mybatis是一个支持普通SQL查询,存储过程,和高级映射的优秀持久层框架.Mybatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.Mybatis可以使 ...
- RocketMQ 单机安装
本章快速入门指南是在本地机器上设置 RocketMQ 消息传递系统以发送和接收消息的详细说明. 在这先对RocketMQ 做一个简单介绍. RocketMQ是一个纯java.分布式.队列模型的开源消息 ...
- matplotlib绘制饼状图
源自http://blog.csdn.net/skyli114/article/details/77508430?ticket=ST-41707-PzNbUDGt6R5KYl3TkWDg-passpo ...