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

教材学习内容总结

  • 内部类和匿名类
  • 通过throw关键字抛出异常对象,终止方法的继续执行
  • 使用try-catch语句来处理程序运行过程中可能出现的异常
  • 区别throw和throws
  • 使用断言语句来处理程序不准备通过捕获异常的错误
  • 对输入流和输出流的理解
  • 使用FileInputStream类和FileOutputStream类创建输入流和输出流
  • 使用流读写字节(字符)以及关闭流
  • 对BufferedReader流和BufferedWriter流的应用
  • 使用RandomAccessFile类创建能读写的一个流
  • ByteArrayInputStream流和ByteArrayOutputStream流分别读写字节数组
  • CharArrayReader流和CharArrayWriter类
  • ObjectInputStream类和ObjectOutputStream类创建对象流来读写对象到程序中
  • 使用Scanner解析文件,用JFileChooser创建对话框

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

  • 问题1:关键字throw和throws的区别是什么?
  • 问题1解决方案:throw是语句抛出一个异常,一般是在代码块的内部,当程序出现某种逻辑错误时由程序员主动抛出某种特定类型的异常。throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)。例如:
public void function() throws Exception{......}

throw与throws的比较

1、throws出现在方法函数头;而throw出现在函数体。

2、throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常对象。

3、两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。

  • 问题2:对于Example10_1例子中出现了教材中没有说明的"createNewFile"方法,对它的作用及使用并不了解
  • 问题2解决方案:java中createNewFile方法主要是如果该文件已经存在,则不创建,返回一个false,如果没有,则返回true

代码调试中的问题和解决过程

  • 问题1:敲Example7_5代码时提示错误

  • 问题1解决方案:仔细核对代码后发现错误是将“printf”敲成了“println”,但是为什么会提示这个错误还未找到答案

代码托管

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

上周考试错题总结

  • 错题1:

    下列关于UML类图的说法,正确的是 AC

    A.抽象类和抽象方法一般用斜体表示。

    B.一般情况下,方法的属性用+表示private,用-表示public。

    C.在UML 里,一个类的属性能显示它的名字,类型,初始化值。

    D.继承用一个带三角的直线表示,由父类指向子类。
  • 解析:B项:用+表示public,用-表示private。D项:由子类指向父类。
  • 错题2:

    下列说法错误的是 C

    A.类是面向对象语言中最重要的一种数据类型,可以用类来声明变量。

    B.在用类声明对象后,还必须创建对象。

    C.用类声明的变量称为该类的一个全局变量。

    D.类是创建对象的模板,没有类就没有对象。用+表示public,用-表示private。D项:由子类指向父类。
  • 解析:用类声明的变量称为对象
  • 错题3:

    下列关于创建对象的说法,错误的是 CDE

    A.创建一个对象包括对象的声明和为对象分配变量两个步骤。

    B.使用Student stu;声明对象变量后,stu的内存中还没有任何数据。

    C.引用型成员变量的默认初值为0。

    D.对象的引用存在堆中,对象的实体(分配给对象的变量)存在栈中。

    E.String a="ab"+"cd";创建了3个对象。明的变量称为对象
  • 解析:C项:引用型成员变量的默认初值为null。D项:对象的引用存在栈中,对象的实体(分配给对象的变量)存在堆中
  • 错题4:

    关于类的叙述,正确的是 BCE

    A.Java程序以类中的方法为“基本单位”。

    B.每个源文件都是一个独立的编译单位。

    C.与类所在源文件名称相同的类,称为主类。

    D.使用“javac Example4_5.java”编译P67的Example4_5.java时,自动编译了Rect.java和Lader.java。

    E.可以使用“javac *.java”编译P67该目录下的所有Java文件。

    解析:A项:以类为基本单位。C项:含有main方法的类称为主类。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 25篇 400小时
第一周 235/235 1/1 15/15
第二周 224/459 2/3 15/30
第三周 443/902 1/4 15/73
第四周 577/1479 2/6 17/90
第五周 1222/2360 1/7 14/104
  • 计划学习时间:20小时
  • 实际学习时间:14小时

20165228 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. InnoDB存储引擎介绍-(4)Checkpoint机制一

    检查点的工作机制: innodb会自动维护一个检查点的机制,叫做 fuzzy checkpointing(当然sharp checkpoint也是检查点之一),fuzzy checkpointing就 ...

  2. IDEA 自动生成 serialVersionUID 的设置

    打开File菜单,选择Settings选项,打开Settings设置对话框:左边树形目录,打开Editor>Inspections

  3. 两个有序数组的中位数(第k大的数)

    问题:两个已经排好序的数组,找出两个数组合并后的中位数(如果两个数组的元素数目是偶数,返回上中位数). 感觉这种题目挺难的,尤其是将算法完全写对.因为当初自己微软面试的时候遇到了,但是没有想出来思路. ...

  4. MySQL数据库安装与配置鸡汤

    目录 一.概述 二.MySQL安装 三.安装成功验证 四.NavicatforMySQL下载及使用 一.概述 MySQL版本:5.7.17 下载地址:http://rj.baidu.com/soft/ ...

  5. 查验身份证 (15 分) 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:

    // test4.cpp : 此文件包含 "main" 函数.程序执行将在此处开始并结束.// #include "pch.h"#include <ios ...

  6. API设计和命名

    1.前言 对于前端开发而言,肯定会和API打交道,大家也都会想过怎么设计自己的API.优秀的 API 之于代码,就如良好内涵对于每个人.好的 API 不但利于使用者理解,开发时也会事半功倍,后期维护更 ...

  7. Linux c++ time different

    下面这个函数可以得到微秒级别: #include<time.h> int clock_gettime(clockid_t clk_id,struct timespec *tp); 函数&q ...

  8. mysql 语句根据身份证查询年龄,地址,性别

    select  case left(idcard,2) when '11' then '北京市'when '12' then '天津市'when '13' then '河北省'when '14' th ...

  9. Win10系列:UWP界面布局基础2

    属性设置 在面向对象程序开发中,所提及的属性通常指的是对象的属性.在XAML代码中,定义元素时也可以为其设置属性,例如对于一个TextBox元素,有背景属性.宽度属性和高度属性等.为了满足实际应用的需 ...

  10. 解决ubuntu 14.04 “E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)”的问题

    http://blog.csdn.net/nicolaskaiqi/article/details/39761757