20145213《Java程序设计》第五周学习总结
20145213《Java程序设计》第五周学习总结
教材学习内容总结
“素衣莫起风尘叹,犹及清明可到家。”每每念此,不得不心疼自己。古人清明长假都进城耍了,还担心自己清明之前能不能回来。而我还在宿舍里叹Java,毕竟懒癌后期,不拖到周末不舒服斯基。既然写博客是周末的主旋律,那我也就跟这节奏哼上几句吧!
本周学习任务是自习学习笔记的第八,九章。个人感觉第九章的内容比第八章的异常处理难好多好多啊(伏笔),有些人可能听出了我的弦外之音了。对,我又没在写博客之前完成学习任务,即掌握第九章内容,那这次我就重点复习一下第八章的内容吧!
阿基里德曾说过“给我一个支点,我就可以撬动整个地球。”那如果在实现方法时,给一些条件,使之成立,那么就有可能引发错误了。像课本举例那样,在要求输入INT型时,输入3O,就会引发错误,输出一些奇怪的信息。第八章就是要解决这些问题。
* Java中所有的错误都会打包为对象,如果愿意,可以尝试try
捕捉catch
代表错误的对象后,做一些处理。例如:
import java.util.*public class Average2{public static void main(String[] args){try{Scanner console = new Scanner (System.in)double sum = 0;int count = 0;while(true){int number = console.nextInt();if(number == 0){break;}sum += number;count++;}System.out.printf("平均 %.2f%n",sum/ count);} catch (InputMismatchEcxeption ex){System.out.println("必须输入整数");}}
}
以上代码在错误发生时显示更友好的错误信息。
import java.util.*public class Average2{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 (InputMismatchEcxeption ex){System.out.println("略过非整数输入: %s %n",console.next());}}System.out.printf("平均 %.2f%n",sum/ count);}}
以上代码可以在捕捉处理之后,尝试恢复程序正常执行流程。
- 错误会被包装为对象,这些对象都是可抛出的,因此设计错误对象都继承自
java.lang.Throwable
类,它有两个子类``` java.lang.Error 与java.lang.Exception。 - Error与其子类实例代表严重系统错误,并不建议使用
try
与catch
来处理。 - 不属于Error、java.lang.RuntimeException或其子类实例,你就必须明确使用
try
与catch
来处理或者用throws
声明这个方法会抛出异常。 - 正确区分受检异常与执行时期异常,这里不赘述了。
catch
异常区块内容重复了,撰写是可以使用多重捕捉语法。- 操作过程中,可以使用
throws
声明此方法会抛出异常类型,可由方法的客户端依据当时调用的环境信息进行处理。 - 在
catch
区块进行完部分错误处理之后,可以使用throw
将异常再次抛出,如果抛出的是受检异常,此方法上必须使用throws
声明,如果抛出的异常是非受检异常,此时不使用throws
声明。 - 多重方法调用下,想得知异常发生的根源,可以利用异常对象自动收集的堆栈追踪。直接调用对象的
printStackTrace()
.在使用throws
重抛异常时,异常追踪堆栈起点还是异常的发生根源,而不是重抛异常的地方。 - 如果想要让异常堆栈起点为重抛异常的地方,可以使用
fillInStackTrace()
。 - 使用断言,
assert
关键字,具体建议请看课本P244. - 为了防止由异常引起必执行的流程中断,介意搭配
finally
,若撰写有finally
区块,这该区块一定会被执行。 - 自动尝试关闭资源语法,具体使用如下:
import java.io.fileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class FileUtil{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();}
}
教材学习中的问题和解决过程
我现在对第九章的内容一片茫然,什么都不懂。我也试着去阅读去理解,然而效果甚微。我查过同类型的Java辅导书,却惊讶发现可能由于作者不同吧,每种辅导书的章节内容分类也是截然不同。我现在寄希望于《疯狂的Java讲义》,希望快递早点到。就像老师上课问,第九章内容有什么不懂的,请举手提问。而我就是那沉默的大多数。周四就要考试了,我会抓紧时间补上第九章的内容。
感悟
首先我希望老师可以把每周最晚提交博客时间放到每周四。因为每次考试前夕,我都激动的自习不下新知识,老把晚自习时间放在复习要考试内容上。其次,程序设计世界这么大,我想出去看看。以后每周有数据结构试验了,虽然娄老师说用Java语言做有加分,然而我还是C语言用起来比较顺手。奈何之前C语言学习不精,知识就停留在指针那部分,没有再深入了解了。恶因结恶果,鲁迅说过,时间就像海绵,只要挤总是会有的,现在我也要抽出一点时间复习C语言了。最后,敲了4周的代码,再在体会中强调实践是多么重要,感叹敲代码多么有用已经是老生常谈了。只有退潮了才知道谁在裸游,只有亲身实践过体会到乐趣才会坚持敲下去。就好比如鱼饮水,冷暖自知。
截图如下
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 20/20 | 1/1 | 10/10 | |
第二周 | 200/220 | 1/2 | 15/25 | |
第三周 | 200/420 | 1/3 | 15/40 | |
第四周 | 200/620 | 1/4 | 15/55 | |
第五周 | 100/720 | 1/5 | 10/65 |
参考资料
Java学习笔记(第8版)
《Java学习笔记(第8版)》学习指导
转载于:https://www.cnblogs.com/qiwei/p/5350507.html
20145213《Java程序设计》第五周学习总结相关推荐
- 20155227 2016-2017-2 《Java程序设计》第九周学习总结
20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20155313 2016-2017-2 《Java程序设计》第二周学习总结
20155313 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 1.1 基本类型 整数:可细分为short整数(占2字节).int整数(占4字节)与long ...
- 20165203 2017-2018-2 《Java程序设计》第一周学习总结
20165203 2017-2018-2<Java程序设计>第一周学习总结 教材学习内容总结 (一)Java的地位 Java是面向对象编程,并涉及网络.多线程等重要的基础知识,是一门很好的 ...
- 20155229 2016-2007-2 《Java程序设计》第一周学习总结
20155229 2016-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 1~18章的提问: 第一章:怎样撰写Java才不会沦于死背API文件.使用"复制. ...
- 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结
20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...
- 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结
20155305 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与 ...
- 20155210潘滢昊 2016-2017-2《Java程序设计》第一周学习总结
20155210 2016-2017-2<Java程序设计>第一周学习总结 教材学习内容总结 1.1.1: 本节主要讲了Java的由来,1995年5月23日是Java公认的诞生日.还有版本 ...
- 20175317 《Java程序设计》第一周学习总结
20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...
- 20172318 2016-2017-2 《Java程序设计》第一周学习总结
20172318 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 在教材中基本明白了计算机系统的运行方式,了解了对于高级语言是使用是掌握好编程的关键,掌握了一 ...
最新文章
- 最近在招标中评审出一个政府信息化软件
- 腾讯云服务器部署FTP
- dorado 刷新_5.dorado查询开发:使用flushData方法 (T1)
- WIF基本原理(2)基于声明的标识模型
- MySQL安装失败问题
- python做接口自动化如何输出测试报告-python生成接口自动化测试报告模版
- 华为IoT平台NB编解码插件开发详细教程【下篇】
- 人寿保险分红型的十年能取出来吗?
- azure db 设置时区_将数据迁移到Azure Cosmos DB
- dsp2812 pmsm foc之中断初始化
- java自定义对象集合排序
- 数据恢复原来是可以免费的!
- RTKLIB的一些个人实用总结
- 苹果电脑如何双开微信
- mysql 词频分析_09 使用python完成词频统计
- 银行常用加密算法PINBlock加密
- java中dvd管理系统_一个DVD管理系统
- 手把手识别125K读卡模块的设计方案
- 微前端之实现方式和项目分析、实践主子应用启动配置、vue2、vue3、react15、react16 子应用的配置
- 使用Pygame开发flappy bird
热门文章
- 流利阅读12.31 The science of giving gifts your loved ones won’t want to return
- 怎么将EXCEL的网格线打印出来,教程在这里,EXCEL里的网格线如何打印出来
- 1. 从WordPress搬家到网易博客!
- Jackson初次学习
- idea打包jar包,运行后显示 没有主清单属性
- 通过jdbc连接hive出现错误
- 【2022研电赛】安谋科技企业命题一等奖:基于EAIDK-610的中国象棋机器人对弈系统
- HDU Today-SPEA
- 在GIS中UTM和WGS84的区别
- 隐私泄露距离你我有多远?APP扩大个人隐私收集,增大隐私保护难度