20145337 《Java程序设计》第五周学习总结
20145337 《Java程序设计》第五周学习总结
教材学习内容总结
第八章
- JAVA中的所有错误都会被包装成对象,如果你愿意,可以尝试执行并捕捉代表错误的对象后做一些处理。使用了
try
、catch
语法,JVM会尝试执行try区块中的程序代码,如果发生错误,执行流程会跳离错误发生点,然后比对catch括号中声明的类型。是否符合被抛出的错误对象类型,如果是的话,就执行catch区块中的程序代码。 - 错误会被包装为对象,这些对象都是可抛出的,因此设计错误对象都继承自
java.lang.Throwable
类,Throwable
定义了取得错误信息、堆栈追踪等方法,它有两个子类:java.lang.Error
与java.lang.Exception
- Error与其子类实例代表严重系统错误,例如硬件层面错误、JVM错误或内存不足等问题。虽然也可以使用try、catch来处理Error对象,但并不建议,发生严重系统错误时,JAVA应用程序本身是无力处理的。
- 如果抛出了Throwable对象,而程序中没有任何catch捕捉到错误对象,最后由JVM捕捉到的话,那JVM基本处理就是显示错误对象包装的信息并中断程序。
- 操作对象的过程中如果会抛出受检异常,但目前环境信息不足以处理异常,所以无法使用try、catch处理时,可由方法的客户端依据当时调用的环境信息进行处理。为了告诉编译程序这个事实,必须使用throws声明此方法会抛出的异常类型或父类,编译程序才会让你通过编译。
无论try区块中有无发生异常,若撰写有finally区块,则finaly区块一定会被执行完后,再将值返回。
第九章
- 收集对象的行为,像是新增对象的add()方法、移除对象的remove()方法等,都是定义在
java.util.Collection
中。既然可以收集对象,也要能逐一取得对象,这就是java.util.Iterator
操作对象,可以让你逐一取得收集的对象。 - 数组在内存中会是连续的线性空间,根据索引随机存取时速度快,如果操作上有这类需求时,像是排序,就可以Arraylist,可得到较好的速度表现。
- LinkedList在操作List接口时,采用了链式结构,不会事先耗费内存,想要指定随机存取对象时,会比较没有效率,链接的每个元素会参考下一个元素,这有利于调整索引顺序。
一般常用Properties的setProperty()指定字符串类型的键值,getProperty()指定字符串类型的键,取回字符串类型的值,通常称为属性名称与属性值。
代码调试中的问题和解决过程
代码一
```
package cc.openhome;import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;public class FileUtil2 {
public static String readFile(String name) throws FileNotFoundException {
StringBuilder text = new StringBuilder();
try(Scanner console = new Scanner(new FileInputStream(name))) {
while (console.hasNext()) {
text.append(console.nextLine())
.append('\n');
}
}
return text.toString();
}
}代码二
package cc.openhome;
public class FinallyDemo {
public static void main(String[] args) {
System.out.println(test(true));
}static int test(boolean flag) {
try {
if(flag) {
return 1;
}
} finally {
System.out.println("finally...");
}
return 0;
}
}
```本周代码托管截图
其他(感悟、思考等,可选)
这周因为把任务堆到了周末,所以比较赶,看不懂的代码没来得及问。希望好好利用假期把不懂的地方梳理一下。对于现阶段的我来说,对代码的熟悉还是不够,会尽快掌握,努力跟上大家的进度。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | 了解JAVA环境 |
第二周 | 300/500 | 2/4 | 18/38 | 编写HelloWorld |
第三周 | 500/1000 | 3/7 | 22/60 | 了解类、封装 |
第四周 | 300/1300 | 2/9 | 30/90 | 继承与多态 |
第五周 | 200/1300 | 2/9 | 30/90 | 了解异常处理 |
参考资料
20145337 《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源代 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 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入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
随机推荐
- BZOJ 2342 回文串-Manacher
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2342 思路:先跑一遍Manacher求出p[i]为每个位置为中心的回文半径,因为双倍回文串 ...
- canvas 3D运动球效果
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- 【CLR in c#】事件
1.事件模型建立在委托的基础上. 2,定义事件编译器会做三个动作,第一个构造具有委托类型的字段,事件发生时会通知这个列表中的委托. 第二个构造的是一个添加关注的方法+=. 第三个构造是一个注销事件关 ...
- Thymeleaf模板引擎使用
Thymeleaf模板引擎使用 什么是Thymeleaf Thymeleaf是一个Java库.它是一个XML / XHTML / HTML5模板引擎,能够在模板文件上应用一组转换,将程序产生的数据或者 ...
- AngularJs基础(一)
使用 angularjs首先在页面的<html>里添加一个模块写法: <html lang="en"ng-app="myApp"> my ...
- c#静态构造函数
作用是初始化一些类的静态成员 1.在实例化类的对象,或者引用任何的静态成员之前,.Net自动调用此构造函数,而且只调用一次 2.没有任何修饰符,也没有参数 3.一个类只能有一个静态构造函数 4.无参的 ...
- WebApi 2:属性路由 [Route()],attribute routing
原文:http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2 属性 ...
- Python学习笔记10
1.函数式编程 理论就来自lambda演算,虽然没有学过lisp,一直被其大名震撼. 特性: 函数是以一等公民 可以作为参数 可以作为返回值 具有闭包特性 1.1参数传递方式 一般参数传递 ...
- Codeforces 580D Kefa and Dishes(状压DP)
题目大概说要吃掉n个食物里m个,吃掉各个食物都会得到一定的满意度,有些食物如果在某些食物之后吃还会增加满意度,问怎么吃满意度最高. dp[S][i]表示已经吃掉的食物集合是S且刚吃的是第i个食物的最大 ...
- C#数组的声明方式
C#数组的五种声明方式 一.声明一个未经初始化的数组引用,以后可以把这引用初使化为一个数组实例 int[] intArray; intArray = new int[10]; 注:数组的引用必须以相同 ...