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与其子类实例代表严重系统错误,并不建议使用trycatch来处理。
  • 不属于Error、java.lang.RuntimeException或其子类实例,你就必须明确使用trycatch来处理或者用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程序设计》第五周学习总结相关推荐

  1. 20155227 2016-2017-2 《Java程序设计》第九周学习总结

    20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...

  2. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  3. 20155313 2016-2017-2 《Java程序设计》第二周学习总结

    20155313 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 1.1 基本类型 整数:可细分为short整数(占2字节).int整数(占4字节)与long ...

  4. 20165203 2017-2018-2 《Java程序设计》第一周学习总结

    20165203 2017-2018-2<Java程序设计>第一周学习总结 教材学习内容总结 (一)Java的地位 Java是面向对象编程,并涉及网络.多线程等重要的基础知识,是一门很好的 ...

  5. 20155229 2016-2007-2 《Java程序设计》第一周学习总结

    20155229 2016-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 1~18章的提问: 第一章:怎样撰写Java才不会沦于死背API文件.使用"复制. ...

  6. 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...

  7. 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结

    20155305 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与 ...

  8. 20155210潘滢昊 2016-2017-2《Java程序设计》第一周学习总结

    20155210 2016-2017-2<Java程序设计>第一周学习总结 教材学习内容总结 1.1.1: 本节主要讲了Java的由来,1995年5月23日是Java公认的诞生日.还有版本 ...

  9. 20175317 《Java程序设计》第一周学习总结

    20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...

  10. 20172318 2016-2017-2 《Java程序设计》第一周学习总结

    20172318 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 在教材中基本明白了计算机系统的运行方式,了解了对于高级语言是使用是掌握好编程的关键,掌握了一 ...

最新文章

  1. 最近在招标中评审出一个政府信息化软件
  2. 腾讯云服务器部署FTP
  3. dorado 刷新_5.dorado查询开发:使用flushData方法 (T1)
  4. WIF基本原理(2)基于声明的标识模型
  5. MySQL安装失败问题
  6. python做接口自动化如何输出测试报告-python生成接口自动化测试报告模版
  7. 华为IoT平台NB编解码插件开发详细教程【下篇】
  8. 人寿保险分红型的十年能取出来吗?
  9. azure db 设置时区_将数据迁移到Azure Cosmos DB
  10. dsp2812 pmsm foc之中断初始化
  11. java自定义对象集合排序
  12. 数据恢复原来是可以免费的!
  13. RTKLIB的一些个人实用总结
  14. 苹果电脑如何双开微信
  15. mysql 词频分析_09 使用python完成词频统计
  16. 银行常用加密算法PINBlock加密
  17. java中dvd管理系统_一个DVD管理系统
  18. 手把手识别125K读卡模块的设计方案
  19. 微前端之实现方式和项目分析、实践主子应用启动配置、vue2、vue3、react15、react16 子应用的配置
  20. 使用Pygame开发flappy bird

热门文章

  1. 流利阅读12.31 The science of giving gifts your loved ones won’t want to return
  2. 怎么将EXCEL的网格线打印出来,教程在这里,EXCEL里的网格线如何打印出来
  3. 1. 从WordPress搬家到网易博客!
  4. Jackson初次学习
  5. idea打包jar包,运行后显示 没有主清单属性
  6. 通过jdbc连接hive出现错误
  7. 【2022研电赛】安谋科技企业命题一等奖:基于EAIDK-610的中国象棋机器人对弈系统
  8. HDU Today-SPEA
  9. 在GIS中UTM和WGS84的区别
  10. 隐私泄露距离你我有多远?APP扩大个人隐私收集,增大隐私保护难度