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. Servlet3.0文件上传

    Servelt3.0文件上传作为一种便捷的文件上传方式很是值得我们去应用的 1.Servlet3.0文件上传使用步骤 浏览器端的要求 表单的提交方法必须是post 必须有一个文件上传组件 <in ...

  2. MongoDB插入多条数据

    刚开始学mongodb,只知道几个命令,insert插入也只能一条一条插入,而在实际情况下数据一般都非常多,刚开始想直接上传json文件,网上搜了n多方法发现这种方法不好弄,然后就想着要么一下子把多条 ...

  3. 设置 SSH Key 登录服务器和 Git 服务器

    设置 SSH Key 登录服务器 通过 ssh 登录服务器,一直都是用的账号和密码,今天看到一篇文章说这样不安全,使用 ssh key 的方式登录则是更好的选择,因此,研究实践了一下,并记录在这里. ...

  4. JavaMath方法、服务器与Tomcat安装与配置步骤

    一.Math Math.PI 记录的圆周率  Math.E 记录e的常量  Math中还有一些类似的常量,都是一些工程数学常用量. Math.abs 求绝对值  Math.sin 正弦函数 Math. ...

  5. 1. Action 实现 ModelDriven 接口后的运行流程

    1). 先会执行 ModelDrivenInterceptor 的 intercept 方法. public String intercept(ActionInvocation invocation) ...

  6. ubuntu mysql 数据库备份以及恢复[命令行]

    之所以加了个ubuntu,其实也没什么,就是恢复数据库的时候给幽默了一下,所以特地加上.   写在前面:一直很想好好的学linux命令行.shell编程,幻想自己能够通过学习进而成为命令行高手,游刃于 ...

  7. winform实现QQ聊天气泡200行代码

    c# winform实现QQ聊天气泡界面,原理非常简单,通过webKitBrowser(第三方浏览器控件,因为自带的兼容性差)加载html代码实现,聊天界面是一个纯HTML的代码,与QQ的聊天界面可以 ...

  8. Netty处理TCP拆包、粘包

    Netty实践(二):TCP拆包.粘包问题-学海无涯 心境无限-51CTO博客 http://blog.51cto.com/zhangfengzhe/1890577 2017-01-09 21:56: ...

  9. jmeter常见参数 vars、prev、ctx 、props 类的api

    ctx - ( JMeterContext) - gives access to the context vars - ( JMeterVariables) - gives read/write ac ...

  10. Flask之请求和响应

    from flask import Flask from flask import request from flask import render_template from flask impor ...