20155201 2016-2017-2 《Java程序设计》第五周学习总结
20155201 2016-2017-2 《Java程序设计》第五周学习总结
教材学习内容总结
第八章 异常处理
- 程序设计本身的错误,建议使用Exception或其子类实例来表现,称错误处理为异常处理。
- try-catch结构:
try{...//易出错部分程序块
}catch(.../*错误信息,类似InputMismatchException*/){...//出错后进入该程序块,在程序块内处理错误。
}
- 抛出异常:catch区块进行完部分错误处理后,可以使用throw将异常抛出,实际上可以再任何流程中抛出异常,直接跳离原有流程,抛出受检或非受检异常。
public static void main(String[] args) throws FileNotFoundException/*声明方法中会抛出异常*/{...try{...}catch(FileNotFoundException){...throw ex;//执行时抛出异常}
}
如果抛出的是受检异常,认为客户端有能力且应处理异常,在方法上必须使用throws声明;如果抛出的是非受检异常,表示你认为客户端调用方法的时机出错,不使用throws声明。
- 如何使用断言
- 断言客户端调用方法前,已经准备好某些前置条件(通常在private方法中)
- 断言客户端调用方法后,具有方法承诺的结果
- 断言对象某个时间点下的状态
- 使用断言取代批注
- 断言程序流程中绝对不会执行到的程序代码部分
assert value : "输出的内容";
/*类似if的判断形式,但不是程序执行流程的一部分。*/
第九章 Collection与Map
- Collagen API接口继承架构:
收集对象的行为,比如新增对象的add()方法,移除对象的remove()方法,都定义在java.util.Collection中。
- Queue:如果希望收集对象时以队列方式,收集的对象加入至尾端,取得对象时从前端,则可以使用Queue接口的操作对象。
Queue与Deque等义方法
Queue方法 | Deque等义方法 |
---|---|
add() | addLast() |
offer() | offeLast() |
remove() | removeFirst() |
poll() | pollFirst() |
element() | getFirst() |
peek() | peekFirst() |
- Lambda表达式:
IntegerFunction doubleFunction=(Integer i)->i*2;
等同于
IntegerFunction doubleFunction=new IntegerFunction(){public Integer apply(Integer i){return i*2;}
}
- 程序设计中有根据关键字找对应数据的要求,利用java.util.Map接口的操作对象来建立键值对应数据,之后若要取值,用对应键可以迅速取得。
Map设计架构:
教材学习中的问题和解决过程
问题1:书上代码中last应该是Node类,而Node类中并没有elem成员。
问题1解决方案:把elem成员名改成o。
- 问题2:throw与throws都是什么意思?
问题2解决方案:throw用于函数体中,抛出一个异常。程序在throw语句后立即终止,不执行throw后面的程序块。而throws用于一个函数头中,用来标明该成员函数可能抛出的各种异常
throw <异常对象>
[<修饰符>]<返回值类型><方法名>([<参数列表>])[throws<异常类>]
代码调试中的问题和解决过程
问题1:运行时还是出现了类似Average的报错:
问题1解决方案:仔细对比书上的代码发现书上写的是next()不是我写的nextInt(),于是我上网搜索了一下next()和nextInt()两者的区别:
next()只读空格之前的数据,将用户输入的下一个字符串剖析为int值
nextInt()读取整行内容
改正后程序正常运行。
代码托管
上周考试错题总结
- ”Hello”.charAt(1) 的值是(‘e’)。我写的答案是e,此题在IDEA中运行过,结果是e,但没加上单引号,属于不细心犯的错误。
- System.out.println( “HELLO”.( toLowerCase() ) ) 会输出“hello”.
- 父类和子类要有(ISA 或“是一种”)关系 。我写了继承关系。
- 被声明为protected的方法,只能中继承后的子类中访问。(X)
- Math中的abs()方法可以Override.(X)
- 实现一个类中的equals()方法时,一定要同时实现(hashCode())方法。hashCode()没加括号。
- Java中一个类可以继承多个类。(X)与接口概念混淆。
- 用enum定义一个Season的类型表示四季(public enum Season{SPRING, SUMMER, AUTUMN,WINTER})。定义Season时大括号里没写四个季节。
- 面向对象中,设计经验可以用(设计模式)表达。
结对及互评
与20155313杨 瀚同学结对。
- 基于评分标准,我给本博客打分:8分。得分情况如下:
- 正确使用Markdown语法:加1分
- 模板中的要素齐全:加1分
- 代码调试中的问题和解决过程:加1分
- 感想,体会不假大空的加1分
- 进度条中记录学习时间与改进情况的加1分
- 排版精美:加1分
- 有动手写新代码:加1分
- 错题学习深入的加1分
点评过的同学博客和代码
- 20155313 杨瀚
- 20155303 狄维佳
- 20155227 辜彦霖
- 20155217 杨笛
感悟与思考
这一周我的学习重点放在了第八章的错误处理,就像书上说的一样,Java是唯一可以处理错误的语言,我觉得比c等语言好得多,可以提前预知并且处理错误。由于之前学习过C语言,在Java学习过程中,编程时我所思考的都是c的语言,对比着敲出Java的代码,虽然因此感觉Java变得没那么难以理解,但是也不知道c留给我的刻板印象是不是会限制我的思路,希望以后多练习,能够以学习Java的主要思维设计程序。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第五周 | 882/2333 | 1/1 | 16/72 | 初步学习了错误处理的语法 |
计划学习时间:14小时
- 实际学习时间:16小时
改进情况:本来计划工作日期间每天半小时-一小时,但有的晚上有选修,所以周末多学一会弥补一下。
参考资料
Java学习笔记(第8版)
《Java学习笔记(第8版)》学习指导
next()和nextInt()以及nextLine()的区别
转载于:https://www.cnblogs.com/zhuohua/p/6623952.html
20155201 2016-2017-2 《Java程序设计》第五周学习总结相关推荐
- 20155227 2016-2017-2 《Java程序设计》第九周学习总结
20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20155313 2016-2017-2 《Java程序设计》第二周学习总结
20155313 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 1.1 基本类型 整数:可细分为short整数(占2字节).int整数(占4字节)与long ...
- 20165203 2017-2018-2 《Java程序设计》第一周学习总结
20165203 2017-2018-2<Java程序设计>第一周学习总结 教材学习内容总结 (一)Java的地位 Java是面向对象编程,并涉及网络.多线程等重要的基础知识,是一门很好的 ...
- 20155229 2016-2007-2 《Java程序设计》第一周学习总结
20155229 2016-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 1~18章的提问: 第一章:怎样撰写Java才不会沦于死背API文件.使用"复制. ...
- 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结
20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...
- 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结
20155305 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与 ...
- 20155210潘滢昊 2016-2017-2《Java程序设计》第一周学习总结
20155210 2016-2017-2<Java程序设计>第一周学习总结 教材学习内容总结 1.1.1: 本节主要讲了Java的由来,1995年5月23日是Java公认的诞生日.还有版本 ...
- 20175317 《Java程序设计》第一周学习总结
20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...
- 20172318 2016-2017-2 《Java程序设计》第一周学习总结
20172318 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 在教材中基本明白了计算机系统的运行方式,了解了对于高级语言是使用是掌握好编程的关键,掌握了一 ...
最新文章
- CentOS6.2 KVM 虚拟机命令行安装配置
- “恶意版”俄罗斯方块游戏火了,永远给你不想要的方块,世界纪录才消掉31行...
- php redis管道,php redis pipeline怎么用 - 翟码农技术博客
- HDU 3555 Bomb (数位DP-记忆化搜索模板)
- Autofac 一个使用Demo
- 数据结构---prim最小生成树
- 墨天轮2022年新春发布会暨年度数据库颁奖盛典即将开启!
- 大型网站技术架构(二)--架构模式(转)
- 大数据_Spark_框架简介---Spark工作笔记0001
- python下载论文_Python实现一个论文下载器的过程
- JavaScript之局部变量和局部函数
- 电视盒子为啥不安装鸿蒙,电视盒子视频播放不了怎么办?只需三步轻松解决!...
- matlab线性方程组求解
- 亲爱的面试官,这个我可没看过!(Android部分)
- Android App耗电分析
- IntelliJ IDEA 2021.1 关闭更新提醒
- 计算机考研数学和英语考什么,考研英语几与数学几的区别?
- 2020牛客国庆DYA6
- 历史研究(回滚莫队)
- 使用深度学习 进行缺陷检测,GAN用于表面缺陷检测
热门文章
- sqlite数据库语句和mysql的语句_【玩转SQLite系列】(一)初识SQLite,重拾sql语句
- vscode自动整理代码_再见了, VS Code!
- iis服务器转发消息至服务端,IIS服务器配置NXLog进行syslog转发
- 中小学生计算机一等奖李广圆,喜报:昌乐一中学生在第二十届全国中小学电脑制作活动中获两项大奖...
- 徐州有初中计算机编程,徐州初中分布大全(学校+地址+联系方式)
- c语言串口接收的字符转int,从串口发送和接收int值
- ganglia不能获取gpu_免费试用亚马逊云服务器进行深度学习实验:免环境配置/GPU支持...
- AWS AI网络研讨会 webinar - Case 分享
- 极客大学架构师训练营 系统架构 分布式数据库 数据分片 业务分库 CAP ACID BASE 第11课 听课总结
- 对比两个文件内容差异VS Visual Studio Code