zoukankan      html  css  js  c++  java
  • 20155220 2016-2017-2《Java程序设计》第五周学习总结

    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堆栈追踪

    代码托管

    上周考试错题总结

    • 错题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
  • 相关阅读:
    Codeforces 1105
    Codeforces 1138
    Codeforces 1111
    【Linux远程连接工具】Xshell、Xftp家庭/学生版(免费使用)
    使用ssh localhost命令,发生异常ssh: connect to host localhost port 22: Connection refused
    【终端使用】拷贝和移动文件
    【终端使用】文件、目录的创建和删除
    【终端使用】切换目录
    【终端使用】"ls"命令,查看目录内容
    【终端使用】终端命令的格式
  • 原文地址:https://www.cnblogs.com/20155220wsq/p/6622641.html
Copyright © 2011-2022 走看看