20145118 《Java程序设计》第5周学习总结 教材学习内容总结
20145118 《Java程序设计》第5周学习总结
教材学习内容总结
1.Java中所有错误都会被打包成对象,可以通过try、catch语法对错误对象作处理,先执行try,如果出错则跳出并与catch中比较,一致则执行catch。
package cc.openhome;
import java.util.*;
public class Average2 {
public static void main(String[] args) {
try {
Scanner console = new Scanner(System.in);
double sum = 0;
int count = 0;
while (true) {
int number = console.nextInt();
if (number == 0) {
break;
}
sum += number;
count++;
}
System.out.printf("平均 %.2f%n", sum / count);
}catch (InputMismatchException ex) {
System.out.println("必须输入整数");
}
}
}
2.错误对象继承自java.lang.Throwable类,都是可抛出的,该类中有java.lang.Errer与java.lang.Exception两个子类.Error代表严重系统错误,Exception代表程序设计本身的错误.
3.在语法与继承架构上来说,如果抛出了Throwable或子类实例,只可能有两种处理方式:属于java.lang.Throwable类和使用try catch语法处理.
4.受检异常:编译程序检查出错误后发现客户端有能力处理错误,要求明确处理不然不可通过编译.非受检异常:编译程序不会强迫一定得在语法上加以处理.
5."\d*"是规则表达式,表示检查字符串中的字符是不是数字.如
static int nextInt() {
String input = console.next();
while(!input.matches("\\d*")) {
System.out.println("请输入数字");
input = console.next();
}
return Integer.parseInt(input);
}
6.操作对象的过程中如果会抛出受检异常,但目前环境信息不足以处理异常,无法使用try catch处理时,可由方法的客户端依据当时调用的环境信息进行处理.
7.throws声明和throw的区别!!同时注意,在使用throw重抛异常时,异常的追踪堆栈起点仍是发声根源,使用fillInStackTrace()可以将起点设为重抛异常的地方.
8.finally语句作用:无论try区块中有无异常,只要出现finally,finally所在区块一定会被执行.
9.catch括号中列出的异常不得有继承关系,否则会发生编译错误.
10.Collection用于收集对象,并按照需求使用不同的接口操作对象.
11.内容不重复的set例子:
package cc.openhome;
import java.util.*;
public class WordCount {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
System.out.print("请输入英文: ");
Set words = tokenSet (console.nextLine());
System.out.printf("不重复单字有 %d 个: %s%n", words.size(), words);
}
static Set tokenSet(String line) {
String tokens = line.split(" ");
return new HashSet(Arrays.asList(tokens));
}
}
12.使用Collection收集对象时,内部操作都是使用Object类型,所以取回对象时必须自定义对象类型
13.泛型语法是说运用时没有指定类型参数实际类型,可通过设计API指定类或方法支持泛型.符号为 (角括号中的字母可随喜好更换)
13.常用的Map操作类有HashMap,TreeMap和Properties。
教材学习中的问题和解决过程
这一周学习内容相比上周在我看来更有难度,与之前的衔接更小,还出现了一些新的没有接触过的名词等等,但和数据结构这门课结合起来,就好容易理解一些了.如书上说的链式结构,在数据结构中已有涉及。
代码调试中的问题和解决过程
在敲书上介绍LinkedList特性部分的代码时,由于不够仔细,理所当然的把o考虑成字符串类型,开始定义时没有严格的按照书上的代码上走,可后半部分又按照书上定义的object来写,导致出现编译错误.是自己不够认真的结果.
本周代码托管截图
其他(感悟、思考等,可选)
现在的自己还处于学习java的初级阶段,更重要的是借鉴好的代码找感觉,尤其在敲书上的代码时要带着脑袋敲,不能只为了完成任务不够仔细出现差错或者不去思考,手脑并用才能有好的效果.
学习进度条
代码行数(新增/累积) | 博客量(新增/累积 | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 20篇 | 200小时 | |
第一周 | 100/100 | 1/1 | 7/10 | |
第二周 | 100/100 | 1/1 | 7/10 | |
第三周 | 120/100 | 1/1 | 9/10 | |
第四周 | 200/200 | 1/1 | 7/10 | |
第五周 | 300/200 | 1/1 | 9/10 |
参考资料
20145118 《Java程序设计》第5周学习总结 教材学习内容总结的更多相关文章
- 201521123072《java程序设计》第九周总结
201521123072<java程序设计>第九周总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 常用异常 题目5-1 1.1 截 ...
- # 20145118 《Java程序设计》第4周学习总结 ## 教材学习内容总结
20145118 <Java程序设计>第4周学习总结 教材学习内容总结 本周内容为教材第六.七两张内容. 重点概念: 1.面向对象中,子类继承父类,避免重复的行为定义,是一种简化操作. 2 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 20145206邹京儒《Java程序设计》第一周学习总结
20145206 <Java程序设计>第1周学习总结 教材学习内容总结 1.三大平台:Java SE.Java EE与Java ME.Java SE是各应用平台的基础,分为四个主要的部分: ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
随机推荐
- Swift-属性、方法、下标
存储属性和计算属性 类.结构和枚举都能够定义存储属性和计算属性.其中存储属性就是常见的形式,又分为变量属性和常量属性,如: struct Point { var x = 0.0, y = 0.0 } ...
- x86 体系指令
FASM 第二章 - 2.1 x86 体系指令 Author: 徐艺波 From: xuyibo.org Updated: 2008-04-17 官方论坛 本站软件反馈.软件开发交流. ...
- PHP学习记录数组中的数组的指针
unshift在数组头增加一个元素,push在数组尾增加一个元素,shift删除数组的第一个元素,pop删除数组的最后一个元素: <?php $item=array('苹果'); //在数组最前 ...
- c/c++左值和右值
C/C++中的变量有左值和右值之分,他们的区别主要如下: (1)左值可以放在赋值号 = 的左右两边,右值只能放在赋值号 = 的右边 (2)在C语言中,有名字的变量即为左值:而函数的运行结果或表达式中间 ...
- LeetCode——Invert Binary Tree
Description: Invert a binary tree. 4 / \ 2 7 / \ / \1 3 6 9 to 4 / \ 7 2 / \ ...
- 【BZOJ1801】[Ahoi2009]chess 中国象棋 DP
[BZOJ1801][Ahoi2009]chess 中国象棋 Description 在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮. 请问有多少种放置方法,中国像棋中炮 ...
- tortoiseSVN如何发现和解决冲突?
版本冲突原因: 假设A.B两个用户都在版本号为100的时候,更新了kingtuns.txt这个文件,A用户在修改完成之后提交kingtuns.txt到服务器,这个时候提交成功,这个时候kingtuns ...
- nginx软件的编译安装步骤
1.1 检查软件安装的系统环境 [root@web02 conf]# cat /etc/redhat-release CentOS release 6.8 (Final) [root@web02 co ...
- as modern frameworks have warmed people to the idea of using builder-type patterns and anonymous inner classes for such things
mybatis – MyBatis 3 | SQL语句构建器 http://www.mybatis.org/mybatis-3/zh/statement-builders.html SqlBuilde ...
- Java的平台无关性如何体现出来的
传统的编程中,源代码编译为可执行的代码后,只能针对特定的平台(操作系统),换句话说,针对Windows编写和编译的代码,只能在Windows上运行... java程序则编译为字节码.字节码本身不能运行 ...