20145234黄斐《Java程序设计》第五周学习总结

教材学习内容总结

第八章 异常处理

语法与继承架构

  1. try、catch:try、catch代表错误的对象后做一些处理。
  2. 异常继承架构:错误会被包装为对象,这些对象均可抛出,因此设计错误对象都继承自java.lang.Throwable类,Throwable定义了取得错误信息、堆栈追踪(Stack Trace)等方法,它有两个子类:java.lang.Error与java.lang.Exception。在此简述一下Error类与Exception类的区别,在Java中对于比较严重的问题,是通过Error类来进行描述的,而对于非严重的问题,则是通过Exception类来进行描述的。对于Error,一般不编写针对性的代码对其进行处理,因为此时已经超出了JVM的运行能力范围之外了。

异常与资源管理

  1. finally:无论try区块中有误发生异常,若有finally区块,则finally区块一定会被执行。
  2. Try-With-Resources:自动尝试关闭资源是协助关闭资源。
  3. ava.lang.AutoCloseable。

Collection

  1. 认识collection架构Connection: 增、删、遍历对象

      • add
      • remove
      • clear
      • size
      • iterator
  2. List: 类似数组,具有位置信息,带索引。List是一种Collection,作用是收集对象,并以索引方式保留收集的对象顺序,其操作类之一是java.util.ArrayList。
      • ArrayList

        • 类似于《数据结构》中的线性表
      • LinkedList
        • 类似于《数据结构》中的链表
  3. Set: 其中的对象不能有重复的。同样是收集对象,在收集过程中若有相同对象,则不再重复收集,若有这类需求,可以使用Set接口的操作对象,String的Split()方法,可以指定切割字符串的方式。一般用hashcode()与equals()来判断对象是否相同。
  4. Queue: 队列
      • 核心方法

        • offer:添加一个元素并返回true,如果队列已满,则返回false。
        • poll:移除并返问队列头部的元素,如果队列为空,则返回null。
        • peek:返回队列头部的元素,如果队列为空,则返回null。
      • Deque: 双向队列。如果希望对Queue的两端进行加入、移除等动作,则可以使用java.util.Deque。
  5. 注意区分泛型与继承
      • Java的Collection API都支持泛型:在使用Collection收集对象时,由于事先不知道被收集对象的形态,因此内部操作时,都是使用object来参考被收集的对象,取回对象时也是以object类型返回。所以若想针对某类定义的行为操作,必须告诉编译程序,让对象重新扮演该类型。JDK5之后增加了泛型语法。若接口支持泛型,在操作时也会比较方便,只要声明参考时有指定类型,那么创建对象时就不用再写类型了,泛型也可以仅定义在方法上,最常见的是在静态方法上定义泛型。
  6. Lambda表达式
      • 注意与匿名类相比的好处:DRY(Don‘t Repeat Yourself)。
      • 在JDK8中可以使用Lambda来简化程序,Lambda表达式的语法省略了接口类型和方法名称。—>左边是参数列,右边是方法本体。
  7. Iterable与Iterator
      • Iterator

        • next
        • hasNext
  8. Comparable与Comparator
      • sort:Java中对象排序,要么对象实现了Comparable可以直接sort要么提供Comparator对象告知sort如何排序

Map

  1. 常用的Map类

    1. 以事先利用java.util.Map接口的操作对象来建立键值对应数据,之后若要取得值,只要用对应的键就可以迅速取得。判断键是否重复是根据hashcode()与equals(),所以作为键的对象必须操作hashcode()与equals()。
    2. HashMap:建立的键值对应是无序的
    3. TreeMap:建立的键值对应是有序的
    4. Properties:配置文件
  2. 访问Map键值
    1. keySet:将Map中所有的键存入到set集合中。因为set具备迭代器。所有可以迭代方式取出所有的键,再根据get方法。获取每一个键对应的值。keySet():迭代后只能通过get()取key。
    2. values:获取集合中的所有的值,没有键,没有对应关系
时间: 2024-08-04 08:01:07

20145234黄斐《Java程序设计》第五周学习总结的相关文章

20145234黄斐《Java程序设计》第九周学习总结

教材学习内容总结 JDBC Java语言访问数据库的一种规范,是一套API.JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库.比如建立数据库连接.执行SQL语句进行数据的存取操作. 注册Driver操作: DriverManager.registerDriver(new com.mysql.jdbc.Driver) 与数据库建立连接的标准方法

20145234黄斐《Java程序设计》第二周学习总结

教材学习内容总结 类型 Java可区分为基本类型(Primitive Type)和类类型(Class Type),其中类类型也叫参考类型(Reference Type). 字节类型,也叫byte类型,长度为1字节,一般在需要逐字节处理数据时(如图形处理.编码处理等). 整数又可细分为4种,按照在内存中占用空间的大小可分为:short整数(占2字节).int整数(占4字节)与long整数(占8字节). 浮点数用来表示小数,可分为float型(占4字节)和double型(占8字节). 字符char类

20145234黄斐《Java程序设计》第一周学习总结

教材学习内容总结 1.java是SUN公司推出的面相网络的编程语言,当时取名Oak,后改名Java. 2.Java三大平台分别为:Java SE.Java EE与Java ME. 3.Java不仅是程序语言,还是标准规范,JVM让Java可以跨平台,Java只认识一种操作系统JVM,扩展名为.class的文件为JVM的可执行文件,编译成功一次,可以到处运行. 4.PATH寻找Javac.Java位置,CLASSPATH寻找扩展名为.class的文件,用于JVM容器 5.常见的DOS命令: dir

20145326蔡馨熠《信息安全系统设计》第五周学习总结

教材学习内容总结 书上有的内容我就不重复赘述了,只需要将部分重要的知识点归纳总结一下. 1.使用GDB的堆栈跟踪功能(GDB中有很多针对调用堆栈的命令,都需要一个目标栈帧,例如打印局部变量值的命令) 在栈帧之间切换 frame args 将当前栈帧设置为args(编号或Address)指定的栈帧,并打印该栈帧的简要信息. up n 向上回退n个栈帧(更外层),n默认为1. down n 向下前进n个栈帧(更内层),n默认为1. 打印栈帧信息(不移动栈帧) frame 打印当前栈帧的简要信息. i

20145234黄斐《java程序设计》第二周

教材学习内容总结 类型 Java可区分为基本类型(Primitive Type)和类类型(Class Type),其中类类型也叫参考类型(Reference Type). 字节类型,也叫byte类型,长度为1字节,一般在需要逐字节处理数据时(如图形处理.编码处理等). 整数又可细分为4种,按照在内存中占用空间的大小可分为:short整数(占2字节).int整数(占4字节)与long整数(占8字节). 浮点数用来表示小数,可分为float型(占4字节)和double型(占8字节). 字符char类

20145234黄斐《Java程序设计》第四周学习总结

教材学习内容总结 第六章部分 - 继承与多态 何谓继承 继承面向对象中,子类继承父类,避免重复的行为定义.一般来说,父类的父类也称父类,且同一个子类只允许拥有一个父类,而同一个父类则可以拥有多个子类.继承的出现提高了代码的复用性,也让类与类之间产生了关系,提供了多态的前提. 在Java中,使用关键字extends来表示类与类之间的继承关系:public class SwordsMan extends Role 中类SwordsMan继承了类Role,类SwordsMan扩充了类Role的行为,也

信息安全程序设计基础第五周学习总结

第四章 处理器体系结构 4.1 Y86指令集体系结构 一.程序员可见的状态 程序员可见状态:程序中的每条指令都会读取或修改处理器状态的某些部分 --8个程序寄存器:%eax,%ecx,%edx,%ebx,%esi,%edi,%esp,%ebp.他们都可以存储一个字; %esp被入栈.出栈.调用和返回指令作为栈指针; 其他情况时寄存器没有固定的含义或固定值 --3个一位条件码:ZF.OF.SF.保存最近的算术或逻辑指令所造成影响的有关信息 --PC(程序计数器):存放当前正在执行指令的地址. --

20191231《信息安全概论》第五周学习总结

指令要先进入指令寄存器,然后经过译解,最后被执行. 有关其中if else 语句的代码 <自学是门手艺>第六章,过早引用无处不自在,其实很多时候并不是对一个事物有了相当多的理解之后才进行引用,往往是在还未有自我定义的时候便开始了引用这其实令人恼火,但很多时候十分无奈. 克服它的办法: 1.读不懂也要读完,然后重复很多遍.从一开始就要做好重复很多遍的准备,从一开始就要做好第一次只能读个大概的准备. 先为探索未知领域画一张潦草的地图. 2.培养“只字不差”的能力,在明明刻意让自己慢下来,也刻意揣摩

20145234黄斐《信息安全系统设计基础》第七周(Linux命令复习)

已经到了11月,学期过半,而<信息安全系统设计基础>这门课也要到了期中考试了.所以,我在这里,对前半个学期的最基础的知识,做一个复习 复习计划分为两步,本次为Linux命令,下次计划复习git与vim相关指令 本周学习内容在另一篇博客20145234黄斐<信息安全>第七周学习总结上 Linux命令 1.常用小技巧 tab 补全命令.补全目录.补全命令参数 Ctrl+c 终止当前运行的程序,但不结束终端 Ctrl+d 结束输入或退出终端 Ctrl+s 暂停当前程序,任意键恢复 Ctr

2014025689 《嵌入式系统程序设计》第五周学习总结

<嵌入式系统程序设计>第五周学习总结 一.6.5(标准I/O编程)主要涉及的函数及知识点 标准的I/O的三种缓冲存储:全缓冲.行缓冲.不带缓冲. 1. 全缓存:当填满标准I/O缓存后才进行实际的I/O操作 2. 行缓存:当输入或输出中遇到行结束符时,标准I/O库执行I/O操作 3. 不带缓存:标准I/O库不对字符进行缓冲 打开文件的三个标准函数:  fopen().fdopen()和 freopen(). -fopen()可以指定打开文件的路径和模式 函数原型:FILE * fopen(con