20145329 《Java程序设计》第五周学习总结

教材学习内容总结

第八章

  • Java异常处理是要处理Exception类及其子类(Checked Exception),RuntimeException及其子类也不用处理(Unchecked Exception)

  • Multi-catch:类之间不能有继承关系

  • catch or throw?

    throws:自己无法处理,用在方法声明,方法中抛出Checked Exception,方法声明中必须有throws。

  • try、catch语法

    使用了try、catch语法,JVM会尝试执行try区块中的程序代码,如果发生错误,执行程序会跳离错误发生点,然后比对catch括号中声明的类型,是否符合被抛出的错误对象类型,如果是的话就执行catch区块中的程序代码。

    无论try区块中有无发生异常,若撰写有finally区块,finally区块一定会被执行,如果程序撰写流程先return了,而且也有finally区块,finally区块会先执行完后,再将值返回。

    应用举例:

    import java.util.*;

public class Average3 {

public static void main(String[] args) {

    Scanner console = new Scanner(System.in);

    double sum = 0;

    int count = 0;

    while (true) {

        try {

            int number = console.nextInt();

            if (number == 0) {

                break;

            }

            sum += number;

            count++;

        } catch (InputMismatchException ex) {

            System.out.printf("略过非整数输" + ":%s%n", console.next());

        }

    }

    System.out.printf("平均 %.2f%n", sum / count);

}

}

  • Throwable

    Throwable定义了取得错误信息、堆栈跟踪等方法,它有两个子类:java.lang.Error与java.lang.Exception.

第九章

  • 收集对象的行为,像是新增对象的add()方法,移除对象的remove()方法等,都是定义在java.util.Collection中;java.lang.Iterable定义了iterator()方法返回java.util.Iterator操作对象,可以让你逐一取得收集的对象。

  • java中判断对象是否重复时,都会调用hashCode()与equals()方法,两个方法必须同时操作。

-若收集对象经常会有变动索引的情况,考虑连接方式操作的List会比较好。

  • 一般常用Properties的setProperty()指定字符串类型的键值,getProperty()指定字符串类型的值,通常称为属性名称与属性值。

-Map没有继承Iterable,有个forEach()方法是定义在Map接口上,可使用这个方法结合Lambda表达式,在迭代键与值时获得不错的可读性。

应用举例:

import java.util.*;
public class Messages3 {
public static void main(String[] args) {
Map<String, String> messages = new TreeMap<>((s1, s2) -> -s1.compareTo(s2));
messages.put("Justin", "Hello!Justin讯息!");
messages.put("Monica", "给Monica的悄悄话!");
messages.put("Irene", "Irene的可爱猫喵喵叫!");
System.out.println(messages);
}

}

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

问题:Map键值是个什么概念,好抽象

解决:a=100a:键100:值应该叫:键值对。另外,map 中的键值可以是任何类型的。

Map获取键值

Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象。

Map的接口

Map---实现Map

Map.Entry--Map的内部类,描述Map中的按键/数值对。

SortedMap---扩展Map,使按键保持升序排列

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

按书上敲的没有什么困难,抛开理解,在调试的时候没什么问题,不过因为不注意细节的原因,有点死板的敲代码,所以还是会出现那种调用函数没有写在一个工程文件的情况

public class StackTraceDemo {
public static void main(String[] args) { try { c();}
catch(NullPointerException ex) {
ex.printStackTrace(); } }
static void c() {
b();}
static void b() { a(); } static String a() {
String text = null;
return text.toUpperCase();
}}

本周代码托管截图

]



其他(感悟、思考等,可选)

假期学习java少了一点热情,静不下心来,java依旧是考验人的啊,知识点确实是要极力消化才行。没有不劳而获的,学习的过程就是成长,成长总是会有辛苦伴随的。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 50/50 2/2 20/20 实现“HelloWorld”
第二周 100/150 2/4 20/40 学会用IDEA编写代码
第三周 100/250 2/6 20/80 掌握更多的语法知识
第四周 150/400 1/7 20/100 学会用Git托管代码
第五周 100/250 1/8 20/120 掌握更多的语法知识

参考资料

  • [Java学习笔记(第8版)]
  • [《Java学习笔记(第8版)》学习指导

20145329 《Java程序设计》第五周学习总结的更多相关文章

  1. 201521123025<java程序设计>第五周学习总结

    1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...

  2. Java程序设计第五周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 **代码阅读:Child压缩包内源代码 Child.java源代 ...

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

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

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

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

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

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  6. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  7. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

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

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

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

    20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...

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

    目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...

随机推荐

  1. Android项目混淆打包

    以下为我此期项目中的关于混淆打包的总结:(本人第一次混淆打包,呵呵,错误很多!列了一些比较头疼的)一.项目混淆过程中注意事项:由于我的sdk版本较高,因此新建android项目下只有proguard- ...

  2. eclipse控制台不限制显示的行数

    在Preferences中搜索Console,设置Limit console output没有限制即可.

  3. java面向对象、构造方法 之内部类

    UML类图 UML  Unified Modeling Language (UML)又称统一建模语言或标准建模语言 在一个类中      属性表示这类事物的性质(描述它的数据)      方法表示这类 ...

  4. SaltStack之编译安装LNMP环境

    使用saltstack编译安装LNMP环境 一,系统版本查看 二,安装salt-master和salt-minion 安装配置过程参考SaltStack概述及安装 三,修改配置文件 /etc/salt ...

  5. MSSQL移除字符串两边的指定字符

    移除字符串左边的字符: CREATE FUNCTION [dbo].[RemoveLeftChar] ( @Expression varchar(max), @char varchar(4))RETU ...

  6. Docker与virtualenv

    docker环境统一,组件隔离 关于Docker与virtualenv,其本质是一样的,virtualenv虚拟python运行环境,保证系统python环境的整洁,docker也是一样,只是它虚拟的 ...

  7. 关于HashSet在 java7 与 java8的不同

    作者:RednaxelaFX链接:https://www.zhihu.com/question/28414001/answer/40733996来源:知乎著作权归作者所有.商业转载请联系作者获得授权, ...

  8. vue项目中批量打印二维码

    前提:项目中要打印的二维码为后台返回,批量选择后,点击打印,先打开二维码预览界面,再执行打印. 以下代码中 codePicList为选中的二维码数组.重点css:page-break-after:al ...

  9. python自然语言处理——学习笔记:Chapter3纠错

    2017-12-06更新:很多代码执行结果与书中不一致,是因为python的版本不一致.如果发现有问题,可以参考英文版: http://www.nltk.org/book/ 第三章,P87有一段处理h ...

  10. Java-多线程基本

    Java-多线程基本 一 相关的概念 进程:是一个正在执行中的程序 每个进程都有一个执行的顺序,该顺序是一个执行路径,或者叫一个控制单元 线程:就是进程中的一个独立的控制单元,线程在控制着进程的执行 ...