20165237 2017-2018-2 《Java程序设计》第5周学习总结

教材学习内容总结

1、内部类:在一个类中定义另一个类;外嵌类:包含内部类的类。

2、内部类的类体中不能声明类变量和类方法;外嵌类的类体中可以用内部类声明对象。

3、非内部类不能是static类。

4、匿名类:一个子类去掉类声明后的类体。

用Bank的一个子类(匿名类)创建对象:

new Bank() {

  匿名类的类体

};

5、断言语句:一般用于程序不准备通过捕获异常来处理的错误。

断言语句的语法格式:

assert booleanExpression; 当booleanExpression的值是true时,程序从断言语句处继续执行;值是false时,程序从断言语句处停止执行。

assert booleanExpression:messageException; 当booleanExpression的值是true时,程序从断言语句处继续执行;值是false时,程序从断言语句处停止执行,并输出messageException,提示用户出现什么样的问题。

6、如果在try-catch语句中执行了return语句,那么finally子语句仍然会被执行。

7、try-catch语句中执行了程序退出代码,即执行System.exit(0);则不执行finally子语句。

8、File类的对象主要用来获取文件本身的一些信息。

9、创建File对象的构造方法(其中filename是文件的名字,directoryPath是文件的路径,dir为一个目录):

File(String filename);

File(String directoryPath,String filename);

File(File dir,String filename);

10、使用输入流步骤:

设定输入流的源——>创建指向源的输入流——>让输入流读取源中的数据——>关闭输入流。

11、使用输出流步骤:

给出输出流的目的地——>创建指向目的地的输出流——>让输出流把数据写入到目的地——>关闭输出流。

12、使用Scanner解析文件:

创建Scanner对象,并指向要解析的文件——>使用useDelimiter方法指定正则表达式作为分隔标记。

13、读取文件时可以使用javax.swing包提供的输入流类ProgressMonitorInputStream。

构造方法: ProgressMonitorInputStream(Component c,

String s,InputStream);

14、文件锁:

先使用RandomAccessFile流创建指定文件的流对象,该对象的读写属性必须是rw;

input流调用方法getChannel()获得一个连接到底层文件的FieChannel对象(信道)

信道调用tryLock()或lock()方法获得一个FileLock(文件锁)对象 :加锁;

文件锁对象产生后,将禁止任何程序对文件进行操作或者再进行加锁。

代码上传:

代码托管

(statistics.sh脚本的运行结果截图)

本周代码项目截图

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 80/80 1/1 18/18 学会编写简单的JAVA应用程序
第二周 357/437 2/3 15/33 掌握数组、符号、数据的使用
第三周 695/1132 2/5 20/53 了解类与对象的基本结构和构造方法
第四周 765/1897 2/7 27/70 了解子类与继承、接口与实现
第五周 1174/3071 2/9 15/85 学会了异常处理,理解文件流的使用和特点

20165237 2017-2018-2 《Java程序设计》第5周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

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

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  5. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  6. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  7. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  8. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  10. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. c#中内置委托

    一.Action泛型委托 和之前委托最大区别在于不用定义委托,直接实例化委托(申明就可以),泛型其实就是选择数据类型,进行使得程序更加安全,并且也实现了委托的重载,最多选择16个参数. namespa ...

  2. (线性dp 最大子段和 最大子矩阵和)POJ1050 To the Max

    To the Max Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 54338   Accepted: 28752 Desc ...

  3. 解决mysql乱码问题

    在mysql根目录下创建my.ini文件 my.ini内容为: [mysqld] # 设置默认字符集,只会影响新建数据库的默认字符集 character-set-server=utf8

  4. python金融反欺诈-项目实战

    python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...

  5. Python基础01

    Python基础 1.Python介绍 2.安装 3.Hello World程序 4.变量 5.用户输入 6.表达式if ...else语句 7.表达式for 循环 8.表达式while 循环 9.数 ...

  6. 利用 JMetal 实现大规模聚类问题的研究(一)JMetal配置

    研究多目标优化问题,往往需要做实验来对比效果,所以需要很多多目标方面的经典代码,比如NSGA-II, SPEA, MOEA,MOEA/D, 或者PSO等等. 想亲自实现这些代码,非常浪费时间,还有可能 ...

  7. MyBatis-DynamicSQL IF判断

    在写动态sql时发现字符串的判断没有生效 <if test="CLLX != null and CLLX != ''"> and a.CLLX = #{CLLX} &l ...

  8. hostnamectl 修改 CentOS7 主机名

    hostnamectl 控制主机名 # 显示状态 hostnamectl Static hostname: centos Icon name: computer-vm Chassis: vm Mach ...

  9. 4、JPA-EntityManager.merge()

    EntityManager#merge merge() 用于处理 Entity 的同步.即数据库的插入和更新操作 merge的几种情况 1. 若传入的是一个临时对象 package jpa.test; ...

  10. MysqL_select for update锁详解

    先来举一个在某些应用场景下会出现数据不一致的例子,当然存储引擎是InnoDB(至于为什么,后面再告诉你). 电商平台常见的下单场景: 一般商品表(goods)有基本的四个字段,id(主键),goods ...