20145313张雪纯 《Java程序设计》第5周学习总结

20145313张雪纯 《Java程序设计》第5周学习总结

教材学习内容总结

  • JAVA中所有错误都会被打包成对象,可以用尝试(try)捕捉(catch)代表错误的对象后做一些处理。使用try、catch语法,JVM会尝试执行try区块中的程序代码,若发生错误,会跳离错误发生点,比较catch括号中声明的类型,若符合错误类型,则执行catch区块中的程序代码。
  • Error与其子类实例代表严重系统错误,JAVA应用本身是无力回复的,基本不用处理,只需留下日志信息。程序设计本身的错误,应使用Exceptionn或其子类实例来表现,通常称错误处理为异常处理。
  • 受检异常存在的目的在于API设计者实现某方法时,某些条件成立时会引发错误,并且认为调用方法的客户端有能力解决,要求编译程序提醒客户端必须明确处理错误。
  • 如果父类异常对象在子类异常对象之前被捕捉,则catch子类异常对象的区块将永远不会被执行,编译程序会检查出这个错误。
  • 在catch区块进行完部分错误处理后,可以使用throw将异常再抛出。编译程序对于重新抛出的异常类型可以更精准地判断。
  • 若想得知异常发生的根源以及多重方法调用下异常的堆栈传播,可以利用异常对象自动收集的堆栈追踪来取得相关信息。
  • 无论try区块中是否发生异常,若撰写有finally区块,则finally区块一定会被执行。
  • 新增对象的add()方法,移除对象的remove()方法,都定义在java.util.Collection中。逐一取得对象的iteartor()方法定义在java.lang.Iterable中。
  • 数组在内存中是连续的线性空间,根据索引随机存取时速度快,当需要排序是,使用ArrayList可以使程序速度更快。
  • 链接的每个元素会参考下一个元素,有利于调整索引顺序。

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

第八章课后习题8.

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

执行时若没有指定命令行自变量,以下描述何者正确?  
 A、 编译错误  
 B、 显示"必须输入数字"  
 C、 显示ArrayIndexOutOfBoundException堆栈追踪   
D、 不显示任何讯息
为什么选择A,而不是B?

代码托管截图

885194-20160331224909723-452235400.png

其他

第八章主要说明了代码调试中错误的类型及解决方法,第九章主要说明了数据结构的java实现,可以和数据结构课程相结合。java程序主要是利用定义好的方法实现自己的目的,所以了解相应方法对编程十分重要。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周200/2001/120/20编写简单程序
第二周350/5501/230/30用IDE调试修改程序
第三周500/10501/335/85
第四周500/15501/430/115
第五周500/20501/530/145

参考资料

转载于:https://www.cnblogs.com/entropy/p/5343228.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值