1. 本周学习总结
2. 书面作业
本次PTA作业题集异常、多线程
1.finally
题目4-2
1.1 截图你的提交结果(出现学号)
1.2 4-2中finally中捕获异常需要注意什么?
只要try块语句被执行,finally块都会被执行
2.用异常改进ArrayIntegerStack
题目4-3
2.1 截图你的提交结果(出现学号)
2.2 实验总结
用throws声明;用throw抛出异常
3.自定义异常
题目5-4
3.1 截图你的提交结果(出现学号)
3.2 自定义异常有哪几个关键点?
1.自定义异常用try-catch-finally处理;2.由用户自己抛出异常
4.读取文件并组装对象
实验任务书中中的题目3:读取文件并组装对象
给出关键代码(需出现你的学号)
5.学会使用Eclipse进行调试
观看相关调试视频
5.1 简述使用Eclipse进行调试需要几步?
1.判断出错的地方并设置断点;2.启动Debug模式进入调试;3.清除断点结束该程序。
5.2 调试时F5, F6, F7快键键各有什么不同?什么情况该使用哪个快捷键?
F5:进入函数;F6:跳过函数;F7:跳出函数
5.3 除了Eclipse的调试器,你还使用什么方法调试程序?
用system.out.println()
6.题集多程
6.2 函数4-1(Thread)、4-2(Runnable)(截图提交结果,出现你的学号)
6.3 函数4-3(Runnable与匿名内部类)(截图提交结果,出现你的学号),并使用Labmda表达式改写。
6.4 实验总结
setDaemon(true)使线程成为守护线程;用Runnable接口的匿名内部类的实现,Thread t1 =new Thread(new Runnable())
7.源代码阅读:多线程程序BounceThread
7.1 哪个类是支持多线程的类,它实现了什么接口。这个类做了些什么?
BallRunnable类是支持多线程的类,实现了Runnable接口;该类的run()方法中调用了小球移动的方法
7.2 Ball.java这个程序只做了两件事,这两件事分别是什么?
1.定义了move()实现小球的移动;2.定义了getShape()获得当前位置球的形状
7.3 BallComponent也只做了两件事,这两件事分别是什么?
1.add(Ball b)添加小球;2.paintComponent(Graphics g)画小球
7.4 BounceThread中,什么时候启动了新线程?
在添加小球后启动新线程
7.5 这个程序是如何实现?一个大致的执行流程是什么?
对小球运动和属性进行声明;声明方法的同时对小球的运动轨迹进行设定;使用addButton每点击一次按钮就添加一个小球
8.购物车系统中的多线程
8.1 购物车系统中可能存在哪些多线程问题?
多个用户同时购物
3. 码云上代码提交记录
题目集:异常、多线程(3-1, 3-2, 4-1, 4-2, 4-3)