博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20155220 2016-2017-2《Java程序设计》第五周学习总结
阅读量:4677 次
发布时间:2019-06-09

本文共 1927 字,大约阅读时间需要 6 分钟。

20155220 2016-2017-2《Java程序设计》第五周学习总结

教材学习内容总结

异常处理

  • Java异常处理通过5个关键字try、catch、throw、throws、finally进行管理。

  • 基本过程是用try语句块包住要监视的语句,如果在try语句块内出现异常,则异常会被抛出,你的代码在catch语句块中可以捕获到这个异常并做处理;还有以部分系统生成的异常在Java运行时自动抛出。你也可以通过throws关键字在方法上声明该方法要抛出异常,然后在方法内部通过throw抛出异常对象。finally语句块会在方法执行return之前执行.

注意一下异常处理的语法规则:

  
  

  • try语句不能单独存在,可以和catch、finally组成 try...catch...finally、try...catch、try...finally三种结构,catch语句可以有一个或多个,finally语句最多一个,try、catch、finally这三个关键字均不能单独使用。

  • try、catch、finally三个代码块中变量的作用域分别独立而不能相互访问。如果要在三个块中都可以访问,则需要将变量定义到这些块的外面。

  

  • 多个catch块时候,Java虚拟机会匹配其中一个异常类或其子类,就执行这个catch块,而不会再执行别的catch块。

  

  • throw语句后不允许有紧跟其他语句,因为这些没有机会执行。

  

  • 如果一个方法调用了另外一个声明抛出异常的方法,那么这个方法要么处理异常,要么声明抛出。

      

    Collection与Map

认识Collection架构:

收集对象的共同行为定义在Collection中。既然可以收集对象,也要能逐一取得对象,这就是java.lang.Iterable定义行为,它定义了iterator()方法返回java.util.Iterator操作对象,可以逐一取得对象。

键值对应的Map

  • 常用Map操作类有HashMap、TreeMap和Properties。HashMap的特点是线程不安全,速度快,允许存放null键,TreeMap会对键进行排序,条件是作为键的对象必须操作Comparable接口,或者是在创建TreeMap时指定操作Comparable接口的对象,Properties的setProperty()可以指定字符串类型的键值,getProperty()可以指定字符串类型的键,取回字符串类型的值,通常称为属性名称与属性值。

教材学习中的问题和解决过程

  • 问题:throw和throws关键字是如何区别的?

  • throw用来抛出一个异常,在方法体内。语法格式为:throw 异常对象。

  • throws用来声明方法可能会抛出什么异常,在方法名后,语法格式为:throws 异常类型1,异常类型2...异常类型n

代码调试中的问题和解决过程

public class Main{    public static void main (String [] args){        try {            int number = Integer.parseInt(args[0]);            System.out.println(number++);        }catch(NumberFormatException ex){            System.out.println("必须输入数字");        }    }}

最后结果显示 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

显示ArrayIndexOutOfBoundsException堆栈追踪

dG4BAAAAAAAA&bo=xAKyAQAAAAAFAFY!&rf=viewer_4

dIIBAAAAAAAA&bo=sgKBAQAAAAAFABM!&rf=viewer_4

上周考试错题总结

  • 错题1:面向对象中,设计经验可以用(设计模式)表达。

  • 错题2:可以用父类声明对象引用,用子类生成对象,但需要强制类型转换。(X)

    原因:只有父类引用本身指向的就是一个子类对象时,才可以把父类引用强制转换为子类对象

  • 基于评分标准,我给该博客打分:8。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第二周 40/100 1/2 8/20
第三周 100/150 1/3 18/26
第四周 465/605 1/4 23/49
第五周 527/1132 1/5 35/84

转载于:https://www.cnblogs.com/20155220wsq/p/6622641.html

你可能感兴趣的文章
随手挖坑记录一
查看>>
函数的结构,调用,参数以及函数的返回值.
查看>>
C++ Programming Language中的Calculator源代码
查看>>
蒙板 模态对话框
查看>>
8626 原子量计数
查看>>
博士这条船(留美博士生写给后来人的辛酸回忆:你适合读博士和搞科研吗?在选择继续读研、读博的这条路上,你准备好了吗?)...
查看>>
关于C#值类型,引用类型,值传递,引用传递
查看>>
[HAOI2009] 毛毛虫
查看>>
pythong中的全局变量的调用和嵌套函数中变量的使用
查看>>
【POJ - 3009】Curling 2.0 (dfs+回溯)
查看>>
Windows下载安装良心教程
查看>>
浅析商业银行“业务连续性管理体系”的构建
查看>>
【分享】从《水浒传》中反思什么是真正的执行力
查看>>
java中的static
查看>>
5.侧边栏逻辑
查看>>
评论博客
查看>>
用户代理字符串识别工具源码与slf4j日志使用
查看>>
算法导论第6部分图算法,第22章图的基本算法
查看>>
提示框第三方库之MBProgressHUD
查看>>
android常见错误分析1
查看>>