20155304 2016-2017-2 《Java程序设计》第五周学习总结
20155304 2016-2017-2 《Java程序设计》第五周学习总结
教材学习内容总结
第八章
- try catch
- JVM会先尝试执行try区块中的内容,若发生错误且与catch后面的类型相符,则执行catch区块中的代码。
- 若想在捕捉(catch)错误之后恢复程序正常执行流程,可以将try、catch区块放入while循环中。
- 由于JVM是尝试执行try区块,所以一旦发生错误被捕捉,那么这一次的try区块就相当于没有执行。
- 异常继承架构
- 编译程序认为调用
System.in.read()
时可能发生错误,故要求一定要在程序中明确处理错误,解决方法如下:
try{
int ch =System.in.read();
}catch(java.io.IOException ex){
ex.printStackTrace();
}
- 设计错误对象都继承自java.lang.Throwable类,他有两个子类:java.lang.Error类与java.lang.Exception类。
- Error与其子类代表严重系统错误,如硬件层面错误、JVM错误或内存不足等问题。当Error出现时,基本是无力回天的。
- 若某个方法声明会抛出Throwable或子类实例,只要不属于~Error java.lang.RuntimeException或其子类实例,你就必须明确使用try、catch~语法处理,或者使用throws声明这个方法会抛出异常,否则编译会失败。
- 受检异常:API客户端必须明确处理错误。
- 非受检异常:编译程序不强迫API客户端在语法上进行处理,但是有可能会引发错误。
- 规则表示式:String的matches()方法设定\d*,用于检查字符串中的字符是不是数字,是则返回ture。
static int nextInt(){
String input =console.next();
while(!input.matches(\\d*)){
System.out.println(“请输入数字”);
input =console.next();
}
return Integer.parseInt(input);
}
- 若父类异常对象在子类异常对象前被catch,那么catch子类异常对象的区块将永远不会被执行。
- 多重捕捉语法。注意catch括号中列出的异常不得有继承关系,否则编译错误。JDK7后,以下两段代码相等。
try{
do something...
}catch(IOException e){
e.printStackTrace();
}catch(InterruptedException e){
e.printStackTrace();
}catch(ClassCastException e){
e.printStackTrace();
}
try{
do something...
}catch(IOException | InterruptedException | ClassCastException e){
e.printStackTrace();
}
- 如若使用继承时,父类某个方法声明throws某些异常,子类重新定义该方法时:
- 可以不声明throws任何异常。
- 可以throws父类该方法中声明的某些异常。
- 可以throws父类该方法中声明异常的子类。
- 不可以throws父类方法中未声明的其他异常。
- 不可以throws父类方法中声明异常的父类。
- java.lang.AutoCloseable在try括号中,越后面撰写的对象资源会越早关闭。
第九章
- 具有索引的List
- ArrayList一般在线性结构时使用。
- LinkedList一般在链接结构时使用。
- 内容不重复的set顾名思义,内容不重复,set是一个用来找不重复的接口。
教材学习中的问题和解决过程
上周考试错题总结
- 填空:面向对象中,设计经验可以用(设计模式)表达
- 填空:”Hello”.charAt(1) 的值是(‘e’)
- 判断:Math中的abs()方法可以Override.(X)
结对及互评
代码量仍有不足,下周可以考虑多敲些代码
其他(感悟、思考等,可选)
- 看书看到一处不懂,接着看,发现知识联系的很紧密,一个一个的小土堆就会积成一座大山,让人望而却步。
- 这两章都是陌生的东西,要想弄懂各种具体事例,前几章的基础很重要。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 10/10 | 1/1 | 10/20 | 简单了解了jdk,认识了Java语言学习的复杂性 |
| 第二周 | 70/100 | 1/1 | 18/25 | |
| 第三周 | 150/200 | 1/1 | 14/20 | |
| 第四周 | 200/300 | 1/1 | 15/20 | |
| 第五周 | 200/300 | 1/1 | 15/20 |
计划学习时间:20小时
实际学习时间:15小时
改进情况:
提高了有限学习时间内的效率
参考资料
20155304 2016-2017-2 《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源代 ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20155304 2016-2017-2 《Java程序设计》第九周学习总结
20155304 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC ...
- 20155304田宜楠 2006-2007-2 《Java程序设计》第二周学习总结
20155304田宜楠 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 一.类型与变量 1.类型 整数: 可细分为为short整数(占2字节),int整数(占 ...
- 20155330 2016-2017-2 《Java程序设计》第九周学习总结
20155330 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛 ...
- 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 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
随机推荐
- 开放才能进步!Angular和Wijmo一起走过的日子
Angular 已成为广受欢迎的前端框架.去年9月份,期待已久的 Angular2 的正式版发布之后,Angular 又迎来了新一轮热潮.伴随着 Angular 这一路走来,Wijmo 一直都是第一个 ...
- android学习12——重载SurfaceView一些方法的执行顺序
先看代码 public class SurfaceViewActivity extends Activity { @Override public void onCreate(Bundle saved ...
- hibernate系列笔记(2)---Hibernate的核心API
Hibernate的核心API 一般我们通过hibernate进行操作的时候,都会遵循下面的流程,那么接下来我对每一个步骤进行讲解: 1 public void testInsert() { 2 // ...
- 深入理解ajax系列第四篇——请求实例
前面的话 在使用ajax的过程中,常用的请求方式是GET和POST两种.本文将以实例的形式来详细说明这两种请求方式 GET GET是最常见的请求类型,最常用于向服务器查询某些信息.必要时,可以将查询字 ...
- mysql之连接localhost与127.0.0.1的区别
引言 在聊天群里看到有人提到 mysql 中 localhost 和 127.0.0.1 的区别,这个之前并没有仔细考虑过.现在来学习下. localhost 与 127.0.0.1 区别 local ...
- Alamofire源码解读系列(五)之结果封装(Result)
本篇讲解Result的封装 前言 有时候,我们会根据现实中的事物来对程序中的某个业务关系进行抽象,这句话很难理解.在Alamofire中,使用Response来描述请求后的结果.我们都知道Alamof ...
- 使用ocupload和POI一键上传Excel并解析导入数据库
使用的工具如下: JQuery ocupload jquery.ocupload-1.1.2.js Apache POI poi-3.9.jar 如果是Maven项目添加依赖如下: <depe ...
- maven构建maven-project和maven-module
在Eclipse中创建Maven多模块工程的例子 更多0 如果,你需要创建多个项目,项目之间即独立又有关系,那么创建一个Maven多模块项目是个非常好的选择,也非常cool!怎么在Eclipse里 ...
- NodeJs开发的CLI——与telnet进行通信的聊天程序
前言: (在NodeJs中,我们想要开启一个tcp协议的做法就是引入net内置对象: const net = require('net'); ——ES6 var net = req ...
- 变量 || 基本数据类型 || if、while语句
变量名:只能由数字.字母.下划线组成且不能以数字开头:变量名不可以是python内部的关键字 基本数据类型:数字.字符串.布尔值(True/False) [if条件语句] if 条件: ...