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?

代码托管截图

其他

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

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/1 20/20 编写简单程序
第二周 350/550 1/2 30/30 用IDE调试修改程序
第三周 500/1050 1/3 35/85
第四周 500/1550 1/4 30/115
第五周 500/2050 1/5 30/145

参考资料

20145313张雪纯 《Java程序设计》第5周学习总结的更多相关文章

  1. 20145302张薇 《Java程序设计》第二周学习总结

    20145302张薇 <Java程序设计>第一周学习总结 教材学习内容总结 第三章 第三章讲的是基本类型,变量,运算符和基本条件语句. 基本类型分为: 整数:short(2 byte),i ...

  2. 20145302张薇《Java程序设计》第九周学习总结

    20145302 <Java程序设计>第九周学习总结 教材学习内容总结 第十六周 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC目的:让Jav ...

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

    20145313张雪纯 <Java程序设计>第9周学习总结 教材学习内容总结 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作,开发人员无需接 ...

  4. 20145313张雪纯 《Java程序设计》8周学习总结

    20145313张雪纯 <Java程序设计>8周学习总结 教材学习内容总结 java.util.logging包的优点在于提供了日志功能相关类与接口,不必额外配置日志组件就可以在标准jav ...

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

    20145313张雪纯 <Java程序设计>7周学习总结 教材学习内容总结 1967年定义的国际原子时,将秒的国际单位定义为铯原子辐射振动9192631170周耗费的时间. 为了简化日后对 ...

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

    20145313张雪纯 <Java程序设计>第6周学习总结 教材学习内容总结 将数据从来源中取出,可以使用输入串流:将数据写入目的地,可以使用输出串流. 输入串流代表对象为java.io. ...

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

    20145313张雪纯 <Java程序设计>第4周学习总结 教材学习内容总结 6.1何谓继承 程序代码重复时,可以把相同的程序代码提升为父类.继承除了可避免类之间重复的行为定义以外,还有i ...

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

    20145313张雪纯 <Java程序设计>第3周学习总结 教材学习内容总结 4.1.1 定义类 package four; class Clothes{ String color; ch ...

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

    20145313张雪纯 <Java程序设计>第2周学习总结 教材学习内容总结 3.1.1类型 整数:分为short整数(2字节).int整数(4字节).long整数(8字节). 字节:by ...

随机推荐

  1. 浏览器出现“ net::ERR_BLOCKED_BY_CLIENT”错误的解决方法

    转载自:http://www.dbmng.com/art-2136.html Failed to load resource: net::ERR_BLOCKED_BY_CLIENT错误报告 错误原因: ...

  2. ES6数组相关

    ES6数组新增的几个方法: 1. forEach() //forEach()遍历数组,无返回值,不改变原数组 var arr=[1,2,3,4] arr.forEach((item,index,arr ...

  3. java基础之Flex弹性布局、JSP错误处理以及Log4J

    一.Flex弹性布局 1.产生的比较晚,目前在移动网页开发中可以使用,而且逐渐成为主流. 在桌面网页开发中使用的比较少(主要是桌面浏览器的兼容性问题更加严重) 2.开启方法: 在容器标签上加上 dis ...

  4. HDU3535——AreYouBusy

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3535 题目意思:给出两个数n,T,分别表示有n个任务集合,T的总时间,对于每个任务集合有两个属性m和t ...

  5. setMasksToBounds

    setMasksToBounds 在IB中,当你使用Custom类型的Button时,你可以指定按钮的背景色.但当你运行时按钮就失去了圆角特性,你看到的仅仅是一个方块.因为custombutton没有 ...

  6. 每天一個Linux指令- chmod指令

    拷貝來源: 01.http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 02.http://www.cnblogs.com/peid ...

  7. wampserver环境搭建

    一.进入wampserver官网下载:http://www.wampserver.com/ 下载对应电脑相应版本的wamp程序(比如电脑是64位系统的就下载对应的64位的) 二.安装(直接点击exe文 ...

  8. The Highest Mark---hdu5501(问题转化 01背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5501 二维数组: #include<stdio.h> #include<iostre ...

  9. lua相关库安装常见问题

    一.先安装lua brew install lua 我本机的安装路径为:/usr/local/Cellar/lua/5.3.4_2 二.安装luarocks 下载luarocks的安装包: http: ...

  10. 临时修改当前crontab编辑器

    EDITOR=viexport EDITOR然后crontab -e就不会有这个问题了