java 语言程序设计

[参考课件](http://ppt.beegoedu.com/Upload/ppt/2020010351369.pdf) [课本目录](https://mm.edrawsoft.cn/map.html?sharecode=6045f49923d749a70066731) #### 试卷分析 1. 考试形式 闭卷 考试时间150分钟 满分100分,及格60分 2. 考试题型 1. 单项选择(10小题共10分) 2. 填空题(10小题共20分) 3. 简答题(5小题共20分) 4. 程序填空题(3小题共18分) 5. 程序分析题(3小题共18分)流操作 6. 程序设计题(2小题共14分)Swing ### 简答题 --- >1. 简要说明包的概念及其命名要求? 1. 包是类的容器,包的设计人员利用包来划分名字空间,以避免类名冲突。 2. 包的名字有层次关系,各层之间以点分隔。 3. 包层次必须与Java开发系统的文件系统结构相同。 4. 通常包名中全部用小写字母。 >2. 简述Java程序的结构可以包含哪些内容。 1. package语句:包语句,每个文件最多只有一个,且必须放在文件开始的地方。 2. import语句:引入语句,可以没有,也可以有多个,如果有 import语句,必须放在所有类定义的前面。 3. 具有 public权限的类定义:每个文件中最多有一个。 4. 类定义:每个文件中包含的非 public权限的类定义的个数没有限制。 5. 接口定义:每个文件中包含的接口定义个数没有限制。 >3. 请简述Java中标识符的命名规则? 标识符是由字母、数字、下划线或美元符组成的字符串(2分),其中数字不能作为标识符的开头(1分),并区分大小写 1. 标识符是由字母、数字、下划线、美元符($)**组成**的字符串, 2. 其中**数字**不能作为标识符的开头。 3. 标识符**区分大小写,长度没有限制**, 4. 且**保留关键字**不能当作普通的标识符使用。 >4. 请写出package语句和import语句的区别? 1. package语句为包语句,每个文件最多只有一个,且必须放在文件开始的地方(2分)。 2. import语句为引入语句,可以没有,也可以有多个,如果有,必须放在所有类定义的前面(2分) >5. 什么是数据流,数据流分为哪些类,各类的特点是什么? 1. 数据流是指一组有顺序的、有起点和终点的字节集合。 2. 数据流分为输入数据流和输出数据流,输入数据流只能读不能写,输出数据流只能写不能读。 3. 从数据流中读取数据时,必须有一个数据源与该数据流相连。 >6. 为什么在关闭缓冲区输出流之间应执行fush方法? 1. 缓冲区的块空间被填满了才写出到输出流 2. 最后一次写操作,缓冲区的块如果没有填满,直接关闭输出流,则会丢失数据,所以执行flush强制将缓冲区数据写到输出流,完成写操作,然后关闭输出流。 >7. 重载方法的规则是什么? 方法名相同,方法签名不同。 重载方法有两条规则,一是调用语句的实参列表必须足够判断要调用的是哪个方法。实参的类型可能要进行正常的扩展提升,但在有些情况下会引起混淆。二是方法的返回值类型可以相同也可以不同。两个同名方法仅有返回类型不同,而参数列表完全相同是不够的,因为在方法执行前不知道能得到什么类型的返回值,因此也就不能确定要调用哪个方法。重载方法的参数列必须不同 >8.如何处理 JComboBox上的用户事件? 1. JComboBox(组合框)上的用户事件既可以通过 ActionListener处理,又可以通过 ItemListener处理。 2. 用户输入项目后按<Enter>键,对应的接口是 ActionListener。用户选定项目,对应的接口是 ItemListener。 3. 用户的一次选择操作会引发两个 ItemEvent事件,因此通常使用 ActionListener处理比较方便。 >9. 请写出在java.awt.event中,用来检测并对事件做出反应的模型所包括的三种对象? 源对象(1分)、监视器对象(1分)和事件对象(1分) >10. 请简述过滤器数据流的概念及其种类 一个过滤器数据流在创建时与一个已经存在的数据流相连,这样在从这样的数据流中读取数据时,它提供的是对一个原始输入数据流的内容进行了特定处理的数据。过滤器数据流有缓冲区数据流和数据数据流两种。 >11. 请说明Java基本字符流中读者、写者出现的原因及作用。 有些程序设计语言使用ASCI字符集,而Java使用 Unicode字符集表示字符和字符串。ASCII字符集以一个字节表示一个字符,可以认为一个字符就是一个字节。Java使用两个字节表示一个字符,这时字节与字符就不再相同。Java为实现与其他程序语言及不同平台的交互,提供了一种新的数据流处理方案,称为读者和写者。读者和写者的作用是在字节流和字符流之间作中介,在构造方法中应指定一定的平台规范,以便把以字节方式表示的流转换为特定平台上的字符表示 >12. 请写出Graphics2D类中stroke、paint两种属性的作用。 stroke属性控制线条的宽度,笔形样式,线段连接方式或短划线图案。(2分)paint属性控制填充效果。(1分) ### 错题集 --- 1. 在下列供选的字符串中,不能作为Java整型常量的是 Ox3BEH (错误的十六进制写法) 2. Java实行语言定义阶段、**字节码检查阶段**及程序执行阶段三级代码安全检查机制 3. Java程序分为Java应用程序和java 小程序 4. Java运行的是**与机器无关**的二进制格式的类文件 5. 面向对象的方法学,包括三个方面:**面向对象的分析、面向对象的设计与面向对象的程序设计** 6. OOP是指**面向对象的程序设计** 7. 编写Java时加入适当的空白并使用缩进格式可以增加程序的**易读性** 8. 一个线程要从**运行状态自动进入就绪状态**,需要使用的方法是 yield 9. Java中通常用CLASSPATH指定搜寻包的路径 10. BufferedInputStream在数据流上增加了一个**缓冲区**,属于过滤器数据流 11. 写Java基本数据类型需要用 DataOutputStream,写引用类型数据 ObjectOutputStream 12. **JScrollPane**是带有滚动条的面板,它是_Container类的子类,只能添加一个组件 13. 当用户在JList上进行选择时,将引发**ListSelectionEvent**事件。 14. KeyListener接口的作用是**处理键盘事件** 15. 在Java中进行绘图操作时,当组件被显示出来时,需调用**paint( Graphics g)**方法 16. AWT的Font对象的作用是用类Font对象设置字型。 17. 组合框( JComboBox)是一个下拉式菜单。 18. 要显示标准确认对话框,可使用JOptionPane类中的**showConfirmDialog()**方法 19. Java中对线程的调度采用**优先级**策略。 20. Java中可以调用**interrupt()**方法中断线程的执行 21. 在Java中通过**对象互斥锁**来实现不同线程对共享数据操作的同步 22. _notify()或者_notifyAll()的作用是唤醒一个或所有正在**等待队列**中等待的线程,并将它们移入等待同一个“对象互斥锁”的队伍 23. 在解决线程同步问题时,_wait方法的作用是让当前线程释放其所持有的**对象互斥锁**