20175310 《Java程序设计》第8周学习总结
20175310 《Java程序设计》第8周学习总结
本周博客:
https://www.cnblogs.com/xicyannn/p/10722004.html
教材学习内容总结
这周学习了第十五章的内容,主要的知识点如下:
泛型:
- 泛型类声明:可以使用
class 名称<泛型列表>声明一个类,例如:class People<E> - 这里是列表文本类名后多了对
<>,而且必须要用具体的类型替换<>中的泛型。 - 声明对象:
Cone<Circle> coneOne;
coneOne = new Cone<Circle>(new Circle());
链表:
LinkedList链表:创建对象以链表结构存储数据- 创建空链表:
LinkedList mylist = new LinkedList(); - 使用
add(E obj)方法依次增加节点 - 使用
get(int index)方法遍历链表
排序与查找 :
Collections类提供的用于排序和查找的类方法如下:
public static sort(List<E> list)该方法可以将list中的元素升序排列。int binarySearch(List<T> list, T key,CompareTo<T> c)使用折半法查找list是否含有和参数key相等的元素,如果key链表中某个元素相等,方法返回和key相等的元素在链表中的索引位置(链表的索引位置从0考试),否则返回-1。
- 升序排序:
public static sort(List list) - 折半法查找:
int binarySearch(List list,T key,CompareTo c)
洗牌与旋转 :
- 随机排序:
public static void shuffle(List list) - 旋转数据:
static void rotate(List list,int distance) - 翻转数据:
public static void reverse(List list)
堆栈 :
- 堆栈是一种“后进先出”的数据结构,只能在一端进行输入或输出数据的操作。
Stack<E>泛型类创建一个堆栈对象,堆栈对象常用方法:public E push(E item);实现压栈操作public E pop();实现弹栈操作。public boolean empty();判断堆栈是否还有数据。public E peek();获取堆栈顶端的数据,但不删除该数据。public int search(Object data);获取数据在堆栈中的位置。
散列映射:
HashMap<K,V>泛型类创建的对象称作散列映射,例如:
HashMap<String,Student> hashtable = HashSet<String,Student>();
树集:
TreeSet类创建的对象叫做树集。- 在树集中,按字典顺序从左到右递增,从上到下递减。
树映射
TreeMap<K,V>类实现了Map<K,V>接口,称TreeMap<K,V>对象为树映射。- 树映射的结点存储关键字、关键值对。
教材学习中的问题和解决过程
问题1:
课本464页习题第一题的第四小问:对于经常需要查找的数据,应当选用LinkedList<E>,还是选用HashMap<K,V>来存储?问题1解决方案:
通过询问同学以及阅读课本,可以知道,使用HashMap<K,V>,利用这个类创建散列映射,散列映射采用散列表结构存储结果,方便查找数据,可以减少检索的开销。
代码调试中的问题和解决过程
在做这周的实验二时,遇到了许多问题,主要的问题如下:
问题2:
在做第四个实验的时候,当复数的虚部为负时,表达式显示错误:

问题2解决方案:
首先用()把两个复数隔开,更加清晰

然后判断虚部的正负,当虚部为负时,将ImagePart*(-1)作为一个整体输出。

问题3:
测试代码时,提示不正确

问题3解决方案:
可以看到提示说,希望得到的和实际得到的,看起来是一样的,但是编译不通过,所以应该是类型不同。
将计算结果最后加上“”,将结果转换成字符串类型,就可以编译通过了。

代码托管

学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 6/6 | 2/2 | 30/30 | |
| 第二周 | 625/631 | 3/5 | 35/65 | |
| 第三周 | 660/1291 | 2/7 | 38/103 | |
| 第四周 | 972/2263 | 2/9 | 30/133 | |
| 第五周 | 399/2662 | 3/12 | 32/165 | |
| 第六周 | 1342/4004 | 3/15 | 35/200 | |
| 第七周 | 1341/5345 | 2/17 | 35/235 | |
| 第八周 | 798/6143 | 2/19 | 35/270 |
20175310 《Java程序设计》第8周学习总结的更多相关文章
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
随机推荐
- webpack+vue+vueRouter模块化构建完整项目实例详细步骤-入门篇
新建项目 开始(确认已经安装node环境和npm包管理工具) 1.新建项目文件名为start_vuedemo 2.npm init -y 初始化项目,我的win7系统,工程在d盘的vue_test_p ...
- [工具配置]requirejs 多页面,多入口js文件打包总结
需要明确以下几点: 1.本地前端调试代码肯定是调用原始的路径以及代码,但是线上运行的肯定是通过打包后的另一个路径,这儿就是生成的dist文件夹了. 2.requirejs的引入,线上跟线下的路径怎么控 ...
- js获取当前url中参数
function getUrlParams(url){ var args=new Object(); var query=location.search.substring(1);//获取查询串 va ...
- 初步了解redux
redux作为react的状态状态管理工具,是十分重要的一部分,但是它在学习起来比较困难.它的写法一共分为三部分,而且他不像其他的东西一样可以写一步,在页面上查看一下.它必须三个部分全部完成之后,才能 ...
- H264-YUV通过RTP接收视频流ffmpeg解码SDL实时播放
写在前面的话 写一个简单的播放器,通过RTP接收视频流,进行实时播放.最初,使用ffplay或者vlc接收按照SDP协议文件可以播放视频,但是视频中断后重启,不能正确的解包,时常会出现如下的错误信息. ...
- 使用VSTS的Git进行版本控制(四)——在Visual Studio中管理分支
使用VSTS的Git进行版本控制(四)--在Visual Studio中管理分支 可以从web版Team Services Git repo 的Branches视图中管理工作.定制视图来跟踪最关注的分 ...
- mysql执行语句提示Table 'performance_schema.session_variables' doesn't exist
用管理员身份cmd进入mysql安装目录bin里,执行 mysql_upgrade -u root -p 如果杀毒软件拦截,添加为信任区
- linux alias 用法
转自linux alias http://www.maomao365.com/?p=2597 : linux中命令别名设置: <span style="color:blue;font- ...
- [Hive_10] Hive 的分析函数
0. 说明 Hive 的分析函数 窗口函数 | 排名函数 | 最大值 | 分层次 | lead && lag 统计活跃用户 | cume_dist 1. 窗口函数(开窗函数) ove ...
- centos7 下安装Apache2+MariaDB+PHP5过程详解
1.启用Apache2 Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以 yum install -y httpd 启动服务:systemctl start httpd ...