20155304 2016-2017-2 《Java程序设计》第五周学习总结
2017-03-26 21:57
232 查看
20155304 2016-2017-2 《Java程序设计》第五周学习总结
教材学习内容总结
第八章
try catchJVM会先尝试执行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 |
实际学习时间:15小时
改进情况:
提高了有限学习时间内的效率
参考资料
Java学习笔记(第8版)《Java学习笔记(第8版)》学习指导
...
相关文章推荐
- 20155321 2016-2017-2 《Java程序设计》第五周学习总结
- 20155330 2016-2017-2 《Java程序设计》第五周学习总结
- 20155209 2016-2017-2 《Java程序设计》第五周学习总结
- 20155318 2016-2017-2 《Java程序设计》第五周学习总结
- 20155304 2016-2017-2 《Java程序设计》第六周学习总结
- 20155236 2016-2017-2 《Java程序设计》第五周学习总结
- 20155312 2016-2017-2 《Java程序设计》第五周学习总结
- 20155230 2016-2017-2 《Java程序设计》第五周学习总结
- 20155315 2016-2017-2 《Java程序设计》第五周学习总结
- 20155305乔磊2016-2017-2《Java程序设计》第五周学习总结
- # 20155204 2016-2017-2 《Java程序设计》第五周学习总结
- 20155220 2016-2017-2《Java程序设计》第五周学习总结
- 20155213 2016-2017-2 《Java程序设计》第五周学习总结
- 2016-2017-2 《Java程序设计》第五周学习总结
- 20155238 2016-2017-2 《Java程序设计》第五周学习总结
- 20155333 2016-2017-2 《Java程序设计》第五周学习总结
- 20155336 2016-2017-2《JAVA程序设计》第五周学习总结
- 20155302 2016-2017-2《Java程序设计》第五周学习总结
- 20155334 2016-2017-2 《Java程序设计》第五周学习总结
- 20155320 2016-2017-2 《Java程序设计》第五周学习总结