第一篇:Java语言程序设计(一)04747 汇总(2008——2015全)
2015年10月高等教育自学考试全国统一命题考试
Java语言程序设计(一)试卷
(课程代码04747)本试卷共13页,满分100分.考试时间150分钟。考生答题注意事项:
1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸.2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑.3.第二部分为非选择题。必须注明大、小题号.使用0.5毫米黑色字迹签字笔作答.4.合理安排答题空间.超出答题区域无效。
第一部分 选择题
一、单项选择题(本大题共10小题.每小题1分.共10分)在每小题列出的四个备选项中只有一个是符合题目要求的。请将其选出并将“答题卡”的相应代码涂黑。未涂、错涂或多涂均无分.www.xiexiebang.com 1.以下字符组合中,不能作为Java整型常量的是
A.037 B.0x3ADG C.7000 D.0x3abcL 2.以下程序代码的输出结果是
3.设有数组定义,则x.length的值为
A.2 B.3 C.4 D.5 4.设有字符串String s=〝ABCDEFGABC〞;,则表达式s.indexOf(〝A〞,7)的值是 A.7 B.6 C.3 D.0 5.以下关于Swing与AWT之间关系的叙述中,正确的是 A.Swing是AWT的提高和扩展
B.在写GUl程序时,AWT和Swing不能同时使用 C.AWT和Swing在不同的平台上都有相同的表示 D.AWT中有一些类是从Swing中的一些继承的
6.以下供选择的类中,其子类能用来创建框架窗口的是 A.JWindow B.JFrame C.JDialog D.JAudio 7.某程序定义了一个子类,并要让它实现多线程,以下正确的步骤是
A.继承Thread类,在类内定义run()方法,声明和创建线程对象,并让该对象调用 start()方法。
B.继承Thread类,在类内定义run()方法,声明线程对象,并让该对象调用start()方法。
c.声明实现Runnable接口,在类内实现run()方法,声明线程对象,创建线程,并
调用start()方法。
D.声明实现Runnable接口,在类内实现run()方法,声明和创建线程对象,并让该
对象调用start()方法。
8.大多数采用缓冲式输入数据文件的程序的主要目的是
A.用readLine()方法按行输入字符 B.提高输入速度
C.更快地读入字符数据 D.用read()方法输入任意个字符
9.在打开文件对话框时,可用FileFilter类设置筛选条件,在以下供选择的方法中,是 FileFilter类预设的方法之一的是
A.setFileFilter()B.addFileFilter()C.accept()D.setDescription()10.对访问数据库的Java程序来说,DriverManager类的作用是
A.存储查询结果 B.处理与数据库的连接
C.处理驱动程序加载 D.处理驱动程序加载和建立数据库连接
第二部分 非选择题
二、填空题(本大题共10 小题,每小题2分,共20分)请在答题卡上作答。
11.Java的编译程序将Java源程序编译成__________文件。12.实现条件。“a/b>7并且b!=0”的表达式是________。
13.为了声明类中定义的某方法不能被子类的方法覆盖,应在该方法前加入的修饰符是 ________.14.类的声明定义了类的所有对象的共有的________。
15.在实现接口ActiortListener的方法actionPerformed()中,对事件对象调用方法 getSource(),该方法的返回值是________。
16.程序将若干单选按钮对象加人到一个________ 对象中,使它们实现单选功能。
17.如果要设置的字型是:20磅字号、正常风格(Font.PLAIN)、细明体,构造这样要求的Font对象的代码是new Font()。
18.线程在临界段中执行wait()方法的作用是________、________。19.为字符流文件写操作提供支持的类是________。
20.在访问数据库的程序中,建立了Statenlent对象后,利用该对象可以执行SQL查询,实现SQ查询的方法是________。
三、简答题(本大题共6小题。每小题3分,共l8分)请在答题卡上作答。
21.请写出表示以下条件的表达式:变量x的值为1与变量y的值为2,有且只有一个成立。
22.请写出通过继承创建子类的作用。
23.请写出将文本区text1和text2放置于面板P,并创建放置P的滚动面板jsp,最后将 jsp添加到JFrame子窗口myFrame的Java语句。
24.请写出Java小应用程序播放音频文件需要用到的类的类名,以及创建相应对象的方
法。
25.请写出Java系统提供的支持文件随机访问的类的类名,以及该类提供的读取一个整
数的方法。
26.请写出URL对象能实现的功能。
四、程序填空题(本大题共5小题,每空2分,共20分)请在答题卡上作答.27.以下程序功能是输出101至300之间的质数,并统计这些质数的个数输出。
28.以下程序界面中有若干可以多选的选择框,当某个选择框的选择状态有改变时,程 序在文本区中显示各选择框的选择状态(被选中或没有被选中)。
29.以下是一个播放动画的小应用程序中的run()方法和paint()方法。设动画图片已由小应用程序的init()方法装人内存,并存放于myImage数组中,动画图张数放于变量num中。控制显示和动画图片序号更新的线程也已经在start()方法中创建并启动。paint()方法要播放的动画图片号是curImage。
30.以下是一个缓冲式输入的示意程序,程序的界面有一个文本框和一个文本区,在文
本框中输入要读入显示的文件名,在文本区中显示该文件的内容。
31.以下方法的功能是已知域名,返回IP地址。
五、程序分析题(本大题共5小题。每小题4分,共20分)请在答题卡上作答。
32.阅读下列程序,请写出该程序的输出结果。
33.阅读下列程序,请写出调用Test33(4)的输出结果。
34.阅读下列程序,请回答下面的问题:(1)该程序的功能是什么?(2)文本框中能显示的最小值和最大值分别是多少?
35.阅读下列程序,请写出该程序的功能。
36. 阅读下列程序,请写出该程序的功能。
六、程序设计题(本题大题共2小题,每小题6分,共12分)请在答题卡上作答。
37.编写方法double sumS(int n),已知参数n,求以下表达式前n项的和S返回。
注:下一项的分母=上一项的分子,下一项的分子=上一项的分子与分母的和。
2015年4月高等教育自学考试全国统一命题考试
Java语言程序设计
(一)试卷
(课程代码04747)本试卷共l0页,满分l00分,考试时间l50分钟。考生答题注意事项:
1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。4.合理安排答题空间,超出答题区域无效。
第一部分 选择题
一、单项选择题(本大题共l0小题。每小题l分,共10分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。未涂、错涂或多涂均无分。自考赢家 1.以下字符列中,能作为Jaya程序变量标识符的是
A.default B.final C.long D.CASE 2.以下数据类型转换中,必须进行强制类型转换的是
A.long→char B.short→float C.int→long D.byte→short 3.下面关于实例方法和类方法的叙述中,正确的是
A.类中的实例方法不可以互相调用 B.类中的类方法可以直接调用实例方法 C.类中的实例方法可以调用类方法 D.类中的类方法不可以互相调用 4.以下Java程序代码中,能正确创建数组的是
A.int d[4]={1,2,3,4}; B.int b[]=new int(5); C.int c={1,2,3}; D.int a[];a=new int[4]; 5.JPanel的默认布局管理器是
A.GridLayout B.FlowLayout C.CardLayout D.BorderLayout 6.下面的方法中,属于MouseListener接口定义的是
A.mouseClick(MouseEvent)B.mousePress(MouseEvent)C.mouseEntered(MouseEvent)D.mouseDragged(MouseEvent)7.以下Java程序代码中,能正确创建Font对象的是 A.Font fl=new Font(Fore.PLAIN,12,“宋体”); B.Font f2=new Font(Font.PLAIN,“宋体”,l2); C.Font f3=new Font(12,“宋体”,Font.PLAIN); D.Font f4=new Font(“宋体”,Font.PLAIN,12); 8.子线程自动获得的优先级是
A.最低优先级 B.父线程的优先级 C.最高优先级 D.系统进程的优先级 9.以下Java程序代码中,能创建BufferedReader对象的是
A.BufferedReader in=new BufferedReader(new FileReader(”a.dat”)); B.BufferedReader in=new BufferedReader(new Reader(”a.dat”));
C.BufferedReader in=new BufferedReader(new FilelnputStream(”a.dat”)); D.BufferedReader in=new BufferedReader(new InputS,ream(”a.dat”)); 10.ServerSocket类提供了accept()方法,该方法返回值的类型是 A.ServerSocket B.Server C.Socket D.Connection
第二部分 非选择题
二、填空题(本大题共l0小题,每小题2分,共20分)请在答题卡上作答。
11.Java源程序在计算机上运行需依次经历两个阶段,分别是编译和 _______。12.表达式“47&21”的十进制值是_______。13.接口中的所有变量都默认为是_______属性。14.执行以下Java程序代码后,s2的值是_______。
15.让原先能响应事件的按钮对象b暂时不能响应事件,其代码是b._______。16.以下代码创建的滚动条对象能表示的最大值是_______。
17.某应用程序定义了JPanel子类Classl7,若该类的对象需要绘图,则在类Classl7中应重写的方法是_______。18.当线程进入临界段后,发现暂时不能继续运行,需要与别的线程进行同步,则要调
用的方法是_______。
19.某Java程序要同时读写字符文件,它需要导入的类是_______。
20.某应用程序已经声明了lnetAddress对象addr,现要用域名www.xiexiebang.com创建addr对象,能实现这样要求的代码是addr=InetAddress.__________。
三、简答题(本大题共6小题,每小题3分。共l8分)请在答题卡上作答。
21.已知变量n,请写高使用for语句计算的代码。
22.简述在类的方法的定义之前,分别使用修饰字final与abstract的作用是什么。23.请写出将文本区对象ta放置于滚动面板jsp,并将jsp添加到当前框架窗口的内容面
板中的Java语句。
24.已知Graphics对象g,获得Graphics2D对象g2d,然后创建并画出正方形对象rec,正方形的左上角坐标是(40,50),边长是70。请写出实现以上要求的代码。25.简述字符流数据与字节流数据的区别。
26.简述在编写Java网络应用程序时,应用URLConnection对象的作用。
四、程序填空题(本大题共5小题,每空2分,共20分)请在答题卡上作答。
27.方法void Fibonacci(int m)的功能是输出Fibonacci数列,直到大于m为止。
注:Fibonacci数列的前两个数都是1,从第三个数开始,数列的每个数是其前面两
个数之和。
28.以下定义的类MyPanel是一个面板的子类,它熊响应鼠标点击事件,当鼠标在面板的某个位置被点击时,就在该位置显示一个圆,限制最多显示最新的m个圆,值m 由创建该面板对象时指定。
29.以下是实现一组单选按钮数组rb选择事件的接口方法,该方法将用户的选择条目存
于类变量anser中。
30.类ShareData提供一个方法modiData()供修改共享数据的线程调用,该方法限制时共享数据的修改不能小于0,在共享数据修改结束后,应通知其它发生等待的线程结束等待。以下是该类的代码。
31.方法readFile(String sFile,JTextArea ta)的功能是输入文件sFile的内容在文本区ta中显示,该方法采用缓冲式输入的方法,读出和显示一行内容。当方法正确完成指定的功能时,返回0;当指定的输入文件不存在时,返回l;当读文件发生输入错误时,返回2。
五、程序分析题(本大题共5小题,每小题4分,共20分)请在答题卡上作答。
32.阅读下列程序,请写出该程序的输出结果。
34.阅读下列程序,请用示意图画出程序运行时呈现的界面。
36.阅读下列程序,请回答以下问题:
(1)程序运行时,在屏幕上能看到什么?(2)程序采用什么方法让屏幕呈现动态效果?
六、程序设计题(本大题共2小题,每小题6分,共12分)请在答题卡上作答。
37.请编写方法int revInt(int a),该方法的功能是返回与十进制正整数a的数字顺序相反排列的正整数。如已知正整数是l234,方法的返回值是4321。
38.某程序的界面有一个按钮b、一个文本区tA和一个文本框tF。程序运行时,在文本
区tA中输入数列,单击按钮b,则在文本框tF中显示该数列中的最大值。
注:以下是要求你编写的actionPerformed(ActionEvent e)方法的部分代码。
2014年10月高等教育自学考试全国统一命题考试
Java语言程序设计
(一)试卷
(课程代码04747)本试卷共l0页。满分l00分,考试时间l50分钟。学生答题注意事项:
1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。3.第二部分为非选择题。必须注明大、小题号。使用O.5毫米黑色字迹签字笔作答。4.合理安排答题空间。超出答题区域无效。
第一部分 选择题
一、单项选择题(本大题共22小题,每小题l分。共22分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。未涂、错涂或多涂均无分。自考赢家 1.以下字符串中,可以作为标识符的是
A.%Val B.OK!C.$Val D.24H 2.设i初始值为6,则执行完j=i--后,i和j的值分别为 A.6,6 B.6,5 C.5,6 D.5,5 3.以下关于实例方法和类方法的说法中,错误的是
A.实侧方法能直接引用类变量 B.类方法能直接引用类变最 C.实例方法能直接引用实例变量 D.类方法能直接引用实例变量
5.BorderLayout布局的容器中,如加入组件没有指定位置,则默认为 A.“东”位置 B.“西”位置 C.“北”位置 D.“中”位置
6.设已有JFrame对象f,String对象s,则构造强制型对话框的方法是
在使用
类中,用来确定填充效果的方法是
7.在Graphics2D
8.以下方法中,可以使线程从阻塞状态转换到就绪状态的是
A.stoP()B.yield()C.run()D.resume()9.File对象不能用来
A.命名文件 B.查询文件属性 C.读写文件 D.处理目录 10.在URLConnection类中,建立网络连接的方法是
A.connect0 B.getOutputStrearn0 C.openConnection0 D.getlnputStream0 第二部分非选择题
二、填空题(本大题共l0小题,每小题2分,共20分)请在答题卡上作答。
11.Java源文件的扩展名必须是__________。12.用于定义抽象类的关键字是____________。
13.要将小应用程序的字节码文件嵌入“Web页中,则所需使用的HTML标记
是__________。
14.在Java语言中,字符串常量是匿名的__________象。
15.java.awt.event包中用来检测并对事件做出反应的模型包括三个组成元素:。源对象、监视器对象和_________对象。16.与选择框相关的接口是__________。
17.在Graphics类中,绘图模式主要有正常模式和__________模式两种。18.通常情况下,多线程之间有______________和同步两种情况。19.程序如果要按行输入输出,需采用_______式输入输出方式。
20.执行SQL语句查询后得到的结果存放在一个用 __________类声明的对象中。
三、简答题(本大题共6小题,每小题3分,共18分)请在答题卡上作答。
21.以下语句有一处错误,请改正,然后写出此循环语句的循环次数。
22.使用super有哪三种情况? 23.在Java的GUI编程中,有哪三种窗口类型? 24.请写出向窗口增设菜单的步骤。
25.请写出绘制左上角为(150,150),半径为80的绿色圆形的语句。设调用的对象是类型为Graphics的g。26.请写出使用socket与另一方进行通信会话的过程。
四、程序填空题(本大题共5小题,每空2分,共20分)
请在答题卡上作答。
27.某人以年利率r向银行存款m元,一年后存款额为m*(1+r),他想知道存多少年后,存款额会达至q原来的k储。以下方法已知m、r和k,计算至少多少年后存款额大于
等于m*k。
28.某小应用程序窗口包含有文本框text,以及—个带文字“Press Me!”的按钮。当点盘 这个按钮时,在文本框中显示当前时间。以下是其中处理“Press Me!”按钮事件的方法。
29.以下程序的功能是在图形界面上显示一个组合框和一个文本框,用户可将组合枢的 选择结果显示在文本框中。
先获取图像,然后显示得到的图像。
30.以下小应用程序
31.以下程序的功能是利用Runnable对象创建多线程,实现l到l0的输出。
(本大题共5小题,每小题4分,共20分)请在答题卡上作答。
32.阅读下列程序,请写出该程序的输出结果。
五、程序分析题
33.阅读下列程序,请写出该程序的输出结果。
34.阅读下列程序,请写出该程序的功能。
35.阅读下列程序,请写出该程序的功能。
36.阅读下列程序,请回答以下问题:(1)/*1*/处的try语句的作用是什么?(2)如果在文本框中输入file.txt,并且file.txt中的内容如下,程序在文本区中输的内容是什么? 1 2 3 1 2 3 4
六、程序设计题(本大题共2小题,每小题6分,共12分)请在答题卡上作答。
37.编写方法int[]delete(int[]a),方法将数组a中除了下标为偶数、回时其值也为偶数 的元素外,其余的全都删除,剩余元素形成一个新数组b并返回。
2014年4月高等教育自学考试全国统一命题考试
Java语言程序设计
(一)试卷
(课程代码04747)本试卷满分100分,考试时间150分钟.考生答题注意事项:
1.本卷所有试题必须在答题卡上作答。答在试卷上无效。试卷空白处和背面均可作草稿纸。2.第一部分为选择题。必须对应试卷上的题号使用28铅笔将“答题卡”的相应代码涂黑。3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。4.合理安排答题空间。超出答题区域无效。
第一部分选择题
一、单项选择题(本大题共1 0小题,每小题1分,共1 0分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。自考赢家 1.以下标识符中,不是..Java语言关键字的是 A.wait B.new C.long D.switch 2.以下数据类型转换中,必须进行强制类型转换的是
A.int→char B. short→long C.float→double D. byte→int 3.以下供选择的概念中,属于面向对象语言重要概念和机制之一的是
A.函数调用 B.模块 C.继承 D.结构化 4.以下Java程序代码中,能正确创建数组的是
A.int myArray[];myArray[]=new int[5];B.int myArray[]=new my(5);C.int[]myArray={1,2,3,4,5};D.int myArray[5]={1,2,3,4,5};5.某Java程序的类A要利用Swing创建框架窗口,则A需要继承的类是
A.JWindow B.JFrame C.JDialog D.JApplet 6.MouseMotionListener接口能处理的鼠标事件是
A.按下鼠标键 B.鼠标点击 C.鼠标进入 D.鼠标移动 7.以下术语中,属于文字字型风格属性的是
A.颜色 B.宋体 C.斜体 D.字号 8.以下能作为表示线程优先级的数值,并且级别最低的是
A.0 B.1 C.1 5 D.1 6 9.某Java程序用javax.swing包中的类JFileChooser来实现打开和保存文件对话框。该程序 通过文件对话框首先获
得的信息是
A.文件长度 B.文件路径 C.文件内容 D.文件对象 0.在编写访问数据库的Java程序时,ResultSet对象的作用是
A.用来表示与数据库的连接 B.存储查询结果 C.在指定的连接中处理SQL语句 D.建立新数据库连接
非选择题部分
注意事项:
用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
二、填空题(本大题共1 0小题,每空2分,共20分)
11.类Testll经Java编译程序编译后,产生的文件是 ______。12.表达式“45&20”的十进制值是 ______。
13.如果类A继承和扩展类B,则子类A和超类B之间的关系是 ______。14.Java语言提供的用于处理不可改变的字符串类是 ______。
15.要使得已注册的按钮对象暂时不响应事件,需使用的方法是______。6.一个水平滚动条对象的初始值是1 50,滑块的宽是8个像素,表示的范围是[0,300]。创建这样的滚动条对象时,提供的最后2个参数依次是______。
17.某应用程序定义的类C17是JPanel的子类,在类C17的对象中需要绘图,则在类 C17中应重写的方法是 ______。
18.当线程进入临界段后,发现需要与别的线程进行同步,则要调用的方法 是 ______。19.某程序想要随机读写字符文件,能支持这个要求的类是______。
20.某应用程序已经声明了InetAddress对象addr,现要用域名www.xiexiebang.com创建addr 对象,能实现这样要求的代码是addr =InetAddress.______。
三、简答题(本大题共6小题,每小题3分,共1 8分)21.已知变量n,请写出使用for语句计算S1111的代码。23n22.请写出接口体中可能包含的内容。
23.请写出对事件对象作监视器注册的作用。
24.已知Graphics对象g,获得Graphics2D对象g2d,然后,用圆角长方形类创建对象 circle,该对象的左上角坐标是(30,40),半径是50。请写出实现以上要求的Java代 码。25.某程序希望用FileFilter类的子类为打开文件对话框设置文件筛选条件。请写出设置 此筛选条件要使用的类及相应的方法。
26.JDBC是Java程序与数据库连接的API。请写出JDBC能做的三件事情。
四、程序填空题(本大题共5小题,每空2分,共20分)
27.方法void moveOddFront(int a[])的功能是将数组a中的所有奇数都移到数组的前端,而把偶数放于所有奇数的后面,其方法是当发现是偶数时,就让该数留在原来位置,当发现是奇数时,就与前面的第一个偶数交换。程序引入变量odd表示移动过程中 遇到的奇数个数。void moveOddFront(int a[]){ for(int i=0, odd=0; ______;i++)if(a[i] %2 == 1){ int t = a[odd];a[odd]=a[i];a[i]=t;______; } }
28.以下程序的界面包含一个文本区text和一个允许多选的列表list,列表的条目存于字 符串数组sports[]中,当列表发生选择事件时,事件处理程序将这次选中的所有条目 在文本区中输出。这里给出的是其中处理列表事件的方法。
public void valueChanged(________e){ if(e.getSource()==list){ text.setText(null);int tempList[]=list.getSelectedIndices();∥获得选中索引表
for(int i=0;i < tempList.length;i++)∥对索引表中的每个元素显示被选中字样
text.append(sports[______]+”:被选中n"); } }
29.以下应用程序创建一个窗口,窗口内放置一个面板,在面板中显示一张图片和一段 文字。
import javax.swing.*;import java.awt.*; public class Test29 { public static void main(String[] args){ MyFrame frame = new MyFrame();}
}
class MyFrame extends JFrame { public MyFrame(){ setTitle(“Test29”);setSize(300, 200);Toolkit tool=______; Image img = tool.getImage(“myPic2.jpg”);getContentPane().add(new MyPanel(img));setVisible(true);}
}
class MyPanel extends JPanel{ Image myImg;MyPanel(Image img){ myImg=img;}
public void paintComponent(Graphics g){ if(myImg!=null)g.______(myImg, 100,30,this);g.drawString(“我是一名自考生!”,100, 140);} } 30.类ShareDataManager用于管理多个线程共享数据data,其中定义了一个供线程修改 data的方法modiData()。为了对data的修改操作保持完整,多线程在data上的操作 有互斥要求;另外,限制线程对data的修改不能让data为负数,所以多线程在data 上的操作还有同步要求。以下是类ShareDataManager的定义。class ShareDataManager{ int data;ShareDataManager(int init){data=init;} synchronized void modiData(int delta){ if(data+delta>=0){ data+=delta;} else { while(data+delta<0){ try{______} catch(InterruptedException e){} } data+=delta;} ______;
} } 31.某个缓冲式输出的示意程序的界面有一个文本框fileOut和一个文本区text,程序运 行时,先在文本区中输入要存入文件的内容,接着在文本框中输入文件名并回车,则程序将文本区中的内容保存到指定的文件中。以下是该程序中相应文本框文件名 的输入事件的方法。public void actionPerformed(ActionEvent e){ if(e.getSource()==fileOut){ try{ out = new BufferedWriter(new ______);out.______ ;
out.flush();out.close();text.setText(null);} catch(FileNotFoundException el){ System.out.print(“文件没有找到!\n”); }catch(IOException exp){ System.out.print(“文件读写出错!\n”); } } }
五、程序分析题(本大题共5小题,每小题4分,共20分)32.阅读下列程序,请写出该程序的输出结果。class Mother{ public voicl methodl(){ System.out.println(“Call Mother's methodl()”);} public void method2(){ System.out.println(“Call Mother's method2()”);methodl();} } class Girl extends Mother{ public void methodl(){ System.out.println(“Call Girl's methodl()”);} public static void main(String args[]){ Girl g= new Girl();g.method2();} } 33.阅读下列程序,请写出调用Test33(4)的输出结果。public static void Test33(int n){ int i,j,a[][]=new int[n][n];for(i=0;i else for(j=n-l;j>=0;j--)a[i][j]=n-j; } for(i=0;i (1)在文本框中输入1 7,在文本区中会显示多少行整数,各行有几个数?(2)如果将程序的第一行删除,程序中标号①~⑨语句中哪些会出现错误? import java.awt.*;∥问题(2)所指要删除的行 import javax.swing.*; import java.awt.event.*; public class Test34 extends JFrame implements ActionListener{ JTextField textF;JTextArea textA;Test34(){ Container con = getContentPane();∥① con.setLayout(new BorderLayout());∥② textF = new JTextField(10); ∥③ textF.addActionListener(this); ∥④ textA = new JTextArea(6, 10); ∥⑤ setSize(240, 200); ∥⑥ con.add(textF, “North”); ∥⑦ con.add(textA, “Center”); ∥⑧ setVisible(true); ∥⑨ } public static void main(String[] args){ new Test34();} public voicl actionPerformed(ActionEvent e){ int n,d; if(e.getSource()==textF){ n = Integer.parseInt(textF.getText());for(int k=1;k<=n;k++){ d=(int)(Math.ranclom()*1000 % 1000);textA.append(“ ”+d);if(k%5==0)textA.append(“");} } } } 35.阅读下列程序,请回答以下问题: (1)程序运行时,呈现的界面中菜单条有哪些菜单?(2)程序中带注释/*1*/的代码行的作用是什么? import javax.swing.*;import java.awt.*;import java.awt.event.*; class MenuWindow extends JFrame implements ActionListener{ JTextField text;MenuWindow(String s,String menuList[][]){ setTitle(s);Container con = this.getContentPane();con.setLayout(new BorderLayout());this.setLocation(100, 100);this.setSize(300, 100);JMenuBar menubar=new JMenuBar();for(int i=0;i< menuList.length;i++){ JMenu menu = new JMenu(menuList[i][0]);for(int j=1;j window=new MenuWindow(”菜单示例程序“,menuList);window.setVisible(true);} } 36.阅读下列程序,请回答以下问题: (1)程序要求在文本框text中输入的内容是什么?(2)程序采用什么输入方式下载网络文件? import java.net.*; import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class Test36{ public static void main(String args[]){ new ConnectNet(”读取网络文本文件示意程序“); } } class ConnectNet extends JFrame implements ActionListener{ JTextField text = new JTextField(30);JTextArea showArea=new JTextArea();JButton b= new JButton(”下载“);JPanel p= new JPanel();ConnectNet(String s){ super(s);Container con = this.getContentPane();p.add(text);p.add(b);JScrollPane jsp = new JScrollPane(showArea);b.addActionListener(this);con.add(p,”North“);con.add(jsp, ”Center“);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(500, 400);setVisible(true);} public void actionPerformed(ActionEvent e){ String urlName=text.getText();try{ URL url: new URL(urlName);∥由网址创建URL对象 URLConnection tc =url.openConnection();∥获得URLConnection对象 tc.connect();∥设置网络连接 InputStreamReader in = new InputStreamReader(tc.getInputStream());BufferedReader dis = new BufferedReader(in);String inLine;while((inLine=dis.readLine())!=null){ showArea.append(inLine+”“);} dis.close();} catch(MalformedURLException e2){e2.printStackTrace();} catch(IOException e3){ e3.printStackTrace();} } } 六、程序设计题(本大题共2小题,每小题6分,共1 2分) 37.编写方法int[] arrayReverse(int[]a),该方法的功能是返回一个新的数组b,新数组的 元素排列顺序与参数数组的元素排列顺序相反。 38.类InputData是用于输入考生考号、课程和成绩的窗口,窗口的界面如右图所示,其中三个文本框用来输入考号、课 程和成绩。 注:这里是给定程序的部分代码,你要编写的是完成该类的构 造方法。 import java.awt.*;import javax.swing.*; import java.awt.event.*; public class InputData extends JFrame implements ActionListener{ JTextField noText, markText, courseText;JButton ok=new JButton(”确 定“); public static int no, mark;∥让创建者直接获取考号和成绩 public static String course;∥让创建者直接获取课程名称 InputData(){ super(”成绩输入窗“); Container con = getContentPane();con.setLayout(new GridLayout(4, 1));noText = new JTextField(12);courseText = new JTextField(12);markText = new JTextField(12);∥请在答题纸相应位置编写代码 con.add(ok);ok.addActionListener(this);con.setSize(250, 70);setVisible(true);pack();} public void actionPerformed(ActionEvent e){ if(e.getSource()= ok){ ∥读取考号和成绩 no = Integer.parseInt(noText.getText());course = courseText.getText();mark = Integer.parseInt(markText.getText());setVisible(false);dispose();} } public static void main(String[] args){ new InputData();} } 全国2013年10月高等教育自学考试 Java语言程序设计(一)试题 课程代码:04747 请考生按规定用笔将所有试题的答案涂、写在答题纸上。 选择题部分 注意事项: 1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。 2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。 一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。自考赢家 1.在Java语言中,用于标记回车符的转义字符是 A.b B./b C.n D./n 2.设有定义int i=6;,则执行语句“i+=i-1;’’后,i的值为 A.10 B.11 C.12 D.13 3.以下关于抽象类及抽象方法的说法中,不正确的是 ...A.抽象方法只能出现在抽象类中 B.抽象类必须有抽象方法 C.有抽象方法的类一定是抽象类 D.抽象方法没有实现的代码 4.执行下列程序语句后,b的值是 String a=〃Hello〃; String b=a.substring(1,3); A.el B.He C.ell D.Hel 5.能够直接添加组件的Swing容器是 A.JFrame B.JDialog C.JWindow D JPanel 6.用于判定鼠标右键操作的常量是 A.BUTTON1_MASK B.BUTTON2_MASK C.BUTTON3_MASK D.BUTTON4_MASK 7.设置异或绘图模式的方法是 A.setXORMode()B.setPaintMode()C.XORMode()D.PaintMode()8.用来定义临界段,能对共享对象的操作上锁的关键字是 A.static B.share C.serialize D.synchronized 9.如果一次从文件中读出一行数据,可使用的方法是 A.FileReader的readLine()方法 B.BufferedReader的readLine()方法 C.FileReader的read()方法 D.BufferedReader的read()方法 10.获取InetAddress对象的IP地址所用到的方法是 A.getHostlPAddress()B.getHostlP()C.getHostAddress()D.getHost() 非选择题部分 注意事项: 用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。 二、填空题(本大题共10小题,每空2分,共20分)11.在Java语言中,双精度型变量在内存中占__________个字节。12.在Java语言中,逻辑右移运算符为__________。3.在Java语言中,通过扩展原有的类,声明新类的机制被称为__________。14.已知字节数组b,取由b[i]开始至b[j](其中j≥i≥0)结束的字节字符构造一个字符串s,其语句为:String s=new String(__________)。 15.将容器区域分成东、南、西、北、中五个区域的布局类是__________。 16.在构造非强制对话框时,所使用的构造方法是JDialog(f,s, __________),其中f为对话框所依赖的窗口,s为对话框的标题。 17.在Java语言中,要播放音频文件可以使用__________类。18.当线程调用resume()方法后,就进入__________状态。19.要使用输入/输出操作的程序,必须要导入__________包。 20.在进行数据库访问时,查询结果存放在一个用__________类声明的对象中。 三、简答题(本大题共6小题,每小题3分,共18分)21.请写出下面程序段的执行结果。int n=90; int k=2; System.out.print(n+″=〞); while(k<=n){ if(k==n){System.out.println(n); break;} else if(n%k==0){System.out.print(k+″*″);n=n/k;)else k++; } 22.为了系统安全,对JavaApplet小应用程序有什么限制? 23.请写出声明int类型的二维数组intArr的三种形式。24.请写出在JFrame框架窗口对象中添加组件的步骤。 25.请写出使用Graphics2D类声明并创建一个左上角为(20,30)、边长为50的正方形对象square的语句。26.请写出使用纯Java JDBC驱动程序连接数据库的步骤。 四、程序填空题(本大题共5小题,每空2分,共20分)完全代码,使它能正确实现题意的功能。错填、不填均无分。自考赢家 27.一个数如果恰好等于它的因子之和,这个数就称为“完全数”。例如6=1+2+3。方法void findPerfectNumber()的功能是找出1000以内的所有完全数。static void findPerfectNumber(){ System.out.println(″1000以内的完全数有:″); for(int i=1;i<1000;i++){ int t=0; for(int j=1;j<=i/2;j++)if(①)t=t+j; if(②)System.out.primt(i+” “); } } 28.某应用程序的类实现了接口ActionListener,在其窗口的内容面板conPane中,有一个标上文字“红色”的按钮对象btn,并正确为该按钮对象注册了监视器。按钮处理程序要实现的功能是当点击这个按钮时,窗口的背景色置为红色,并设置该按钮不再响应事件。public void actionPerformed(ActionEvent e){ if(e.getActionCommand().equals(”红色“)){ conPane.setBAckground(①); btn.② ; } } 29.某小应用程序有一个按钮和一个文本区,按钮作为发生键盘事件的事件源,并对它进行监视。程序运行时,先点击按钮,让按钮激活;从键盘输入英文字母时,在文本区显示输入的字母。import jAva.applet.*;import java.awt.event.*;import javax.swing.*; public class Test29 extends Applet implements KeyListener{ int count=0; JButton button=new JButton(”BEGIN“); JTextArea text l=new JTextArea(1,10); public void init(){ button.addKeyListener(this); add(textl); ① ; } public void keyPressed(KeyEvent e){ int t=e.getKeyCode(); if(t>=KeyEvent.VK_A &&t<=KeyEvent.VK_Z){ text 1.append((char)t+” “); } } public void ②(KeyEvent e){} public void keyReleased(KeyEvent e){} } 30.以下小应用程序获取图像文件bg.jpg并显示。import java.applet.*;import java.awt.*; public class Test30 extends Applet{ lmage myImg; public void start(){ myImg=getImage(① ,”bg.jpg¨); } public void paint(Graphics g){ g. ②(myImg,0,0,this); } } 31.以下程序段实现简单的线程创建、启动和终止的过程。MyThreadClass myThread=new MyThreadClass(); myThread. ① ; try{ myThread.sleep(10000); } Catch(InterruptedException e){ } myThread. ② ; 五、程序分析题(本大题共5小题,每小题4分,共20分)32.阅读下列程序,请写出该程序的运行结果。Class Parent { String one,two; public Parent(String a,String b){ one=a;two=b; } public void print(){ System.out.println(two+“to”+one); } } public class Child extends Parent{ public Child(String a,String b){ super(a,b); } public void print(){ System.out.println(one+“to”+two); } public static void main(String args[]){ parent p=new Parent(“south”,“north”); parent t=new Child(“east”,“west”); p.print(); t.print(); } } 33.阅读下列程序,请写出该程序的功能。 import java.applet.Applet;import java.awt.*; public class Test33 extends Applet{ public void paint(Graphics g){ for(int i=0;i<6;i++)drawGraphics(I,g); } public void drawGraphics(int n,Graphics g){ g.clearRect(10,10,300,300); switch(n){ case 0:case 3: g.setColor(Color.red); g.drawRect(50,50,150,150); break; case 1:case 4: g.setColor(Color.blue); g.drawOval(40,40,1 60,160); break; case 2:case5: g.setColor(Color.green); g.fillRect(50,50,200,200); break; } try{ Thread.sleep(1500); } catch(ImerruptedException e){System.exit(0);} } } 34.阅读下列程序,请写出该程序的功能。 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Test34 { public static void main(String[]args){ ComboBoxDemo myComboBoxGUI = newComboBoxDemo(); } } Class ComboBoxDemo extends JFrame implemems ItemListener{ 《Java语言程序设计》实验报告一 学生姓名: 孙文琳 班级: 信息111 学号:201152275119 实验地点: 经管中心证券实验室 指导教师:赵利平实验日期: 2012.3.6 实验环境:Windows 2000+JDK1.6 1.实验目的(1)养成良好的编程风格;(2)掌握字符数据类型及其运算; (3)熟悉从输入对话框获取输入和从控制台获取输入两种方法;(4)掌握布尔运算符;(5)掌握分支语句if和switch。 2.实验内容(1)在控制台下求两个实数的最大值:完成实验教材P22程序清单2-2;(2) 3.实验过程 报告撰写具体要求:上述实验内容要求写出源代码及运行结果。实验内容(1)://CompareTwoNumbersl.java import java.util.Scanner; public class CompareTwoNumbers1{ double number1,number2; Scanner scanner; public CompareTwoNumbers1(){ System.out.println(“请输入两个数字:”); scanner=new Scanner(System.in); number1=scanner.nextDouble(); number2=scanner.nextDouble(); System.out.println(“较大的数是:”+(number1>number2?number1:number2)); } public static void main(String args[]){ CompareTwoNumbers1 ct=new CompareTwoNumbers1();System.exit(0);} } 实验内容(2): //DollarConvertor.java import java.util.Scanner;public class DollarConvertor{ public static void main(String args[]){ System.out.println(“请输入美元数:”);Scanner scanner=new Scanner(System.in);double i=scanner.nextDouble();double result=i*6.2875;System.out.println(“对应的人民币数:”+result);} } 实验内容(3): public class MultiplyList1{ public static void main(String args[]){ String output=“";for(int row=1;row<=9;row++){ for(int col=1;col<=row;col++)output+=col+”*“+row+”=“+(row*col)+” “;output+=”n";} System.out.println(output);System.exit(0);}} 4.实验总结 心得体会:做实验要小心翼翼,注意Java大小区分 《Java语言程序设计》课程设计指导书 一、教学目标 《Java语言程序设计》是计算机类专业和信息安全专业的专业课。Java语言是目前广为流行的面向对象程序设计语言,适用于网络编程,满足Internet上软件开发的需要。因此本课程是一门概念性和实践性都很强的专业课程。本课程从基本程序设计流程出发,逐步过渡到面向对象的程序设计方法,由浅入深地讲解面向对象的编程思想。 java课程设计是巩固所学理论知识、提高程序设计能力的重要实践环节。通过课程设计的训练,使学生能够综合应用Java的基础知识和基本方法,体会软件设计的全过程,编写出高效率的应用程序,培养学生的数据处理能力,提高软件设计能力,从而为今后进行系统软件和应用软件的开发研究打下坚实的基础,并倡导刻苦钻研的精神和严谨的治学作风。 二、教学要求 课程设计要求每位学生熟练运用Java语言,按照面向对象程序设计思想,独立编制一个略具规模、中等难度的应用程序。调试通过并写出课程设计报告,课程设计报告包括题目说明、题意分析、设计目的、设计特点、功能说明、主要功能程序段、运行结果及结果分析、编程经验、设计体会、存在问题及解决方法等。 三、课程设计题目 课程设计课题分推荐课题和其它课题: 推荐课题:javaweb开发的管理系统(图书查询系统、汽车租赁系统、仓库管理系统、人事管理系统等) 其它课题:javaswing开发的游戏、工具、管理系统 俄罗斯方块、5子棋游戏、扫雷、模拟考试系统 2、设计要求 ⑴ 独立编制一个略具规模、中等难度的应用程序。 ⑵ 调试通过并写出课程设计报告,课程设计报告包括题目说明、题意分析、设计目的、设计特点、功能说明、主要功能程序段、运行结果及结果分析、编程经验、设计体会、存在问题及解决方法等。 四、主要开发工具 Javaweb相关工具 五、课程设计报告要求 1.封面:按下面所给的格式填写 2.正文要求如下:(1)题目说明;(2)题意分析;(2)设计目的;(3)设计特点;(4)功能说明;(5)主要程序段; (6)运行结果分析以及测试结果(7)存在问题解决方法 (8)结束语(设计收获体会)3.报告正文格式要求: ·大标题三号加粗 ·小标题四号加粗 ·正文宋体小四号字 ·每个自然段开始空两格.·文中英文用新罗马(time new roman),四号 4.其他要求:字数5000字 六、提交的材料 (一)、程序(电子版) (二)、程序设计说明书(打印) 七、课程设计成绩评定 平时出勤及表现: 10% 课程设计完成情况,难度等级60% 课程设计报告、文档资料:30% 1、期末成绩评定 实习成绩 = 实际操作、调试和测试(效果)+ 设计报告 +平时表现。 2、评定标准 (1)严格控制95分,其标准是有创意;(2)90分以上,必须全部正确;(3)有少许错误,可给80—89;(4)错误不多,可给60—79; 注:如甲、乙有拷贝、复印等抄袭现象,甲、乙均按0分处理。 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........自考Java语言程序设计 (一)课后习题及答案 自考Java语言程序设计 (一)第一章Java语言概述课后习题 一、Java语言概述 1.Java语言有哪些特点? 2.什么叫做类?什么叫做对象? 3.简述Java的运行机制。 4.简述Java应用程序的开发流程。 5.当初Sun公司发展Java的原因是:来源:www.xiexiebang.comumber_1 = new ComplexNumber(3,-5); ComplexNumber cNumber_2 = 本文来源:考试大网 new ComplexNumber(2,2); double d = 10.0; System.out.println(cNumber_1.toString()+ “ 加 ” + cNumber_2.toString()+ “ 等于 ” + cNumber_1.complexAdd(cNumber_2).toString()); System.out.println(cNumber_1.toString()+ “ 加 ” + d + “ 等于 ” + cNumber_1.complexAdd(d).toString()); System.out.println(cNumber_1.toString()+ “ 减 ” + cNumber_2.toString()+ “ 等于 ” 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........+ cNumber_1.complexMinus(cNumber_2).toString());System.out.println(cNumber_1.toString()+ “ 减 ” + d + “ 等于 ” + cNumber_1.complexMinus(d).toString());System.out.println(cNumber_1.toString()+ “ 乘 ” + cNumber_2.toString()+ “ 等于 ” + cNumber_1.complexMulti(cNumber_2).toString());System.out.println(cNumber_1.toString()+ “ 乘 ” + d + “ 等于 ” + cNumber_1.complexMulti(d).toString());} } class ComplexNumber { //域 private double m_dRealPart;private double m_dImaginPart;//构造方法 ComplexNumber(){ m_dRealPart = 0.0;m_dImaginPart = 0.0;} ComplexNumber(double r,double i){ m_dRealPart = r;m_dImaginPart = i;} ComplexNumber(ComplexNumber c){ m_dRealPart = c.getRealPart();m_dImaginPart = c.getImaginaryPart();} //get,set方法 double getRealPart(){ return m_dRealPart;} double getImaginaryPart(){ return m_dImaginPart;} void setRealPart(double d){ 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........m_dRealPart = d;} void setImaginaryPart(double d){ m_dImaginPart = d;} //复数运算方法 ComplexNumber complexAdd(ComplexNumber c){ return new ComplexNumber(this.m_dRealPart + c.getRealPart(), this.m_dImaginPart + c.getImaginaryPart());} ComplexNumber complexAdd(double c){ return new ComplexNumber(this.m_dRealPart + c, this.m_dImaginPart);} ComplexNumber complexMinus(ComplexNumber c){ return new ComplexNumber(this.m_dRealPartc.getImaginaryPart());} ComplexNumber complexMinus(double c){来源:www.xiexiebang.com return new ComplexNumber(this.m_dRealPart-c, this.m_dImaginPart);} ComplexNumber complexMulti(ComplexNumber c){ return new ComplexNumber(this.m_dRealPart * c.getRealPart() -this.m_dImaginPart * c.getImaginaryPart(), this.m_dRealPart * c.getImaginaryPart()+ this.m_dImaginPart * c.getRealPart());} ComplexNumber complexMulti(double c){ return new ComplexNumber(this.m_dRealPart * c, this.m_dImaginPart * c);} //toString()public String toString() 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........{ return “(” + m_dRealPart + “ + ” + m_dImaginPart + “ i” + “)”; } } 8.答:接口是用来实现类间多重继承功能的结构。接口与类相似,但是接口中只能包括常量和抽象方法。定义接口相当于定义了一组抽象的功能、属性集合,可以使了ava程序的类层次结构更加合理,并实现多重继承。 9.答:使用关键字implements可以定义类实现某接口。实现某接口的类如果不是抽象类,则需要通过重载来实现该接口中的所有抽象方法;如果这个类是抽象类,则它可以不必实现该接口中的所有抽象方法。 10.答:接口可以被继承。 SubInterface中的抽象方法有:public abstract int supMethod();和public abstract string subMethod();两个。 自考Java语言程序设计 (一)第七章Java常用类库介绍课后习题 七、Java 常用类库介绍 1.指出下列陈述是对还是错,并做出解释。 (1)当String对象用= = 比较时,如果String包括相同的值则结果为true。 (2)一个String类的对象在其创建后可被修改。 2.对于下列描述,各写出一条语句完成要求的任务 (1)比较s1中的串和s2中的串的内容的相等性; (2)用+=向串s1附加串; (3)判断s1中串的长度;来源:考试大 3.说明capacity()与length()用法上的差异? 4.如果ch为StringBuffer对象,ch=“Java Apple”,下列结果为何? (1)ch.insert(3,’p’)(2)ch.append(“Basic”) (3)ch.setlength(5)(4)ch.reverse() 5.Math类中提供用来常数π和e的静态属性分别是什么? 6.下面关于Vector类的说法正确的是() (1)类Vector在java.util包中。 (2)一个向量(Vector)对象存放的是一组有序的对象。 (3)一个向量(Vector)对象大小可以根据存放的元素个数的增加而自动增加。 (4)一个向量(Vector)对象中每个元素可以是不同类型的对象。 7.有三个字符串,编写程序找出其中最大者。 8.编写一个程序,设定一个有大小写字母的字符串,先将字符串的大写字符输出,再将字符串中的小写字符输出。 9.设定5个字符串,要求只打印那些以字母“b”开头的串,编写程序完成。 10.设定一个有大小写字母的字符串和一个查找字符,使用类 String方法IndexOf()来判断在该字符串中该字符出现的次数。 参考答案 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........1.答: (1)错。用= =操作符比较String对象实际上是判断它们在内存中是否为同一对象,并不是判断它们的值是否相同。 (2)错。String类的对象是常量。它们被创建后不可被修改。 2.答: (1)s1.equals(s1,s2); (2)s1+=s2; (3)s1.length(); 3.答:capacity()返回字符串对象的当前缓冲区的长度,length()返回字符串对象字符的长度。考试大收集整理 4.答: (1)结果:Javpa Applet (2)结果:Javpa AppletBasic (3)结果:ch长度变为5 (4)结果:apvaJ 5.答:PI、E 6.答:(3) 7.public class max1 { public static void main(String args[]) { String s1= “Hello Java”; String s2= “Java Applet”; String s3= “Java”; String s; if(s1.compareTo(s2)<0) s=s2; else s=s1; if(s.compareTo(s3)<0) s=s3; Systrm.out.println(“big=”+s); } } 8.public class out { public static void main(String args[]) { String s1= “Hello Java”; StringBuffer bufup=new StringBuffer(); StringBuffer buflow=new StringBuffer(); for(int I=0;I {if(s1.charAt(i)<97) 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........{bufup.append(s1.charAt(i));bufup.append(' ');} else { buflow.append(s1.charAt(i));buflow.append('');} } System.out.println(“s1= ”+s1);System.out.println(“ uppercase= ”+bufup);System.out.println(“ lowercase= ”+buflow);} } 9. public class prin_b { public static void main(String args[]){ String s1=“hello”;String s2=“bee”;String s3=“java”;String s4=“brove”;String s5=“bag”;if(s1.indexOf('b')= =0)System.out.println(s1);if(s2.indexOf('b')= =0)System.out.println(s2);if(s3.indexOf('b')= =0)System.out.println(s3);if(s4.indexOf('b')= =0)System.out.println(s4);if(s5.indexOf('b')= =0)System.out.println(s5);} } 10. public class ppp { public static void main(String args[]){ String s1=“abcdefghi”;int num=0;for(int i=0;i {i=s1.indexof('e',i);num++; 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........} System.out.print(“ s1=”+s1+“e=”); if(num= =0) System.out.println(“ no found”); else System.out.println(num); } } 自考Java语言程序设计 (一)第八章Java异常处理及输入输出流简介课后习题 八、Java异常处理及输入输出流简介 1.列出5个常见的异常。 2.写出Java语言的异常处理机制的优点。 3.为什么异常处理技术不应该用于常规的程序控制? 4.引起异常产生的条件是什么? 5.异常没有被捕获将会发生什么? 6.编写一个程序,以说明catch(Exception e)如何捕获各种异常。 7.下面的代码段中finally语句块会被执行吗? public class ExceptionExam3 { public static void main(String [] args) { try { int [] a=new int[3]; System.exit(0); } catch(ArrayIndexOutOfBoundsException e) {System.out.println(“发生了异常”);} finally {System.out.println(“Finally”);} } } 8.throws的作用是什么? 9.应在程序的什么地方使用异常处理? 10.下面的代码有什么错误吗? class ExceptionExam{„} throw new ExceptionExam(); 11.异常类型匹配的处理方式。程序功能:首先输出“这是一个异常处理的例子”,然后在你程序中主动地产生一个 ArithmeticException 类型被0 除而产生的异常,并用catch 语句捕获这个异常。最后通过ArithmeticException类的对象e的方法getMessage 给出异常的具体类型并显示出来。 12.根据所给创建自定义异常类的使用格式,编写一个自定义异常的小程序。 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........13.什么叫流?流式输入输出有什么特点? 14.Java流被分为字节流、字符流两大流类,两者有什么区别? 15.File类有哪些构造函数和常用方法? 16.利用文件输入输出流编写一个实现文件拷贝的程序,源文件名和目标文件名通过命令行参数传入。 17.编写一个程序,在当前目录下创建一个子目录test,在这个新创建的子目录下创建一个文件,并把这个文件设置成只读。 18.位置指针的作用是什么?RandomAccessFile类提供了哪些方法实现对指针的控制? 19.编写一个程序,从键盘输入一串字符,统计这串字符中英文字母、数字、其他符号的字符数。 20.编写一个程序,从键盘输入一串字符,从屏幕输出并将其存入a.txt文件中。采集者退散 21.编写一个程序,从键盘输入10个整数,并将这些数据排序后在标准输出上输出。 参考答案 1.答:内存耗尽、数组下标超出边界、被0除、非法的方法参数、算法溢出处。来源:考试大的美女编辑们 2.答:(1)Java通过面向对象的方法进行异常处理,把各种异常事件进行分类,体现了良好的层次性,提供了良好的接口,这种机制对于具有动态特 性的复杂提供了强有力的控制方式。(2)Java的异常处理机制使得处理异常的代码和“常规”代码分开,减少了代码的数量,增强了程序的可读性。(3)Java的异常处理机制使得异常事件可以沿调用栈自动向上传播,而不是C语言中通过函数的返回值来传播,这样可以传递更多的信息,并且简化了代码的编写。(4)由于把事件当成事件处理,利用类的层次性我们可以把多个具有相同父类的异常统一处理,也可以区分不同的异常分别处理,使用非常灵活。 3.答:a.异常处理用于不经常发生但通常导致程序终止的情况,因此要求编程人员为编译器的优化执行实现异常处理。b.常规控制结构的控制流程通常比异常的更为清晰、交流更高。c.在发生异常,并且没有释放异常发生之前分配的资源时,堆栈是展开的,所以会出现一些问题。d.“额外的”异常会妨碍真正错误类型的异常。这种使程序员更难 以跟踪大量的异常。 4.答:异常产生的方式有3种。第一种是在某些内部错误时,Java虚拟机可以产生异常,该异常不在你的程序控制范围内,通常不作处理。第二种是由程序代码中的错误引起,这种异常需要你的程序处理。第三种是通过使用throw语句手动生成的异常。 5.答:未捕获的异常最终会导致程序非正常终止。 6.public class ExceptionExam { public static void main(String [] args) { try { int i=0; i=3/i;//将产生算术异常。 } catch(ArithmeticException e)//找到了匹配的异常,执行该catch块。 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........{ System.out.println(“发生了ArithmeticException异常”); } catch(AarryIndexOutOfBoundsException e)//不是匹配的异常,且不会再捕获 //异常,如果发生数组索引超出范围所产生的异常,将执行该catch块。 { System.out.println(“发生了AarryIndexOutOfBoundsException异常”); } catch(Exception e) //前两个catch块均无法捕获try块中发生的异常时,才会执行该catch块。 { System.out.println(“发生了异常”); } finally { System.out.println(“执行d Finally”);} } } 7.答:无论是出于何种原因,只要执行离开try/catch代码块,就会执行finally代码块。即无论try是否正常结束,都会执行 finally定义的最后的代码。如果try代码块中的任何代码或它的任何catch语句从方法返回,也会执行finally代码块。但本题中在try代 码块中执行了“System.exit(0);”语句,执行了这一语句后,Java虚拟机(JVM)将被终止。那么finally语句块一定不会被执行。 8.答:在某些情况下,如果一个方法产生自己不处理或无法处理的异常,它就必须在throws子句中声明该异常。 9.答:通常,可以采用两种方式来报告错误:返回值和异常。在Java中异常处理很常用,虽然返回错误代码在某些情况下是一种有效的方式,但是异常处理可以提供强大的结构化方法来处理异常。所以需要处理代码中的错误时就可以采用异常的方法进行处理。 10.答:ExceptionExam不是继承(扩展)Throwable的子类,只有Throwable的子类可以由throw抛出。所以,这一段代码会出错。 11.public class ExceptionExam1 { public static void main(String [] args) { try {int i=0; i=3/i; } catch(ArithmeticException e) { System.out.println(“异常是:”+e.getMessage()); } finally { 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........System.out.println(“finally 语句被执行”); } } } 注意:如果在catch 语句中声明的异常类是Exception,catch 语句也能正确地捕获,这是因为Exception 是ArithmeticException 的父类。如果不能确定会发生哪种情况的异常,那么最好指定catch的参数为Exception,即说明异常的类型为Exception。 12.class Excp1 extends Exception {} class Excp2 extends Excp1 {} public class ExceptionExam7 { public static void main(String [] args)throws Exception { try { throw new Excp2(); } catch(Excp2 e) { System.out.println(“catch1”); throw new Excp1(); } catch(Excp1 e) { System.out.println(“catch2”); throw new Exception(); } catch(Exception e) { System.out.println(“catch3”); } finally { System.out.println(“finally”); } } } 说明:自定义异常类,关键是选择继承的超类——必须是Exception或者其子类。用异常代表错误,而不要再使用方法返回值。 13.答:所谓流是指同一台计算机或网络中不同计算机之间有序运动着的数据序列,Java把这些不同来源和目标的数据都统一抽象为数据流。数据流可分为输入流和输出流,输 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........入流代表从其他设备流入计算机的数据序列,输出流代表从计算机流向外部设备的数据序列。 流式输入输出的特点是数据的获取和发送沿数据序列的顺序进行,即每一个数据都必须等待排在它前面的数据,等前面的数据读入或送出之后才能被读写。所以流和队列一样,只能以“先进先出”的方式对其中的数据进行读写,而不能随意选择读写的位置。 14.答:两者都作为Object类的直接子类,基本输入流(无效Stream)和基本输出流(OutputStream)是处理以8位字节为基本单位的字节流类;Reader和Writer类是专门处理16位字符流的类。 15.答:构造函数有: (1)public File(String pathname):创建一个对应于参数pathname的File类对象。参数pathname是包含目录和文件名的字符串。如果没有文件名,则代表目录。 (2)public File(String parent , String child):该构造函数将pathname分成两部分parent和child,参数parent表示目录或文件所在路径,参数child表示目录或文件名称。 (3)public File(File parent, String child):该构造函数与上面一个不同在于将parent的参数类型由String变为File,代表parent是一个已经创建的File类文件对象(指向目录)。 常用方法有: (1)public boolean canWrite():返回文件是否可写。 (2)public boolean canRead():返回文件是否可读。 (3)public boolean createNewFile():当文件不存在时创建文件。 16.import java.io.*; class CopyFile{ public static void main(String[] args){ String file1,file2; int ch = 0; try { file1=args[0]; file2=args[1]; File无效Stream fis = new File无效Stream(file1); FileOutputStream fos=new FileOutputStream(file2); while((ch=fis.read())!=-1) fos.write(ch); fis.close(); fos.close(); } catch(FileNotFoundException e){ System.out.println(“源文件:未找到!”); }catch(ArrayIndexOutOfBoundsException e){ System.out.println(“缺少运行参数!”); System.exit(-1); } catch(IOException e){ System.out.println(e.toString()); } 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........} } 17.答: import java.io.*; public class NewFile{ public static void main(String args[]){ File f=new File(“test”); if(f.exists()&&f.isDirectory()) System.err.println(“目录:”+f.toString()+“已经存在!”); else{ if(f.mkdir()){ System.out.println(“目录”+f.getAbsolutePath()+“创建结束!”); File f2=new File(f,“my.txt”); try{ f2.createNewFile(); f2.setReadOnly(); }catch(IOException e){ System.out.println(e.toString()); } System.out.println(“文件:”+f2.getAbsoluteFile()+“创建结束!”); } else System.out.println(“目录”+f.getAbsoluteFile()+“创建失败!”); } } } 18.答:要实现对文件的随机读取,也就是在文件的任何位置执行读写数据的操作,需要一个指针来指定读写的位置。在创建 RandomAccessFile类对象的同时,系统自动创建了一个指向这个文件开头的指针,当执行读写操作后,指针自动指向被读写数据之后的第一个字节 处。指针初始值是0,每读/写一个字节,指针自动增加1。RandomAccessFile类提供了一些控制指针移动的方法。 public long getFilePointer();获取当前指针指向文件的位置。考试大论坛 pulbic void seek(long pos);将指针移动到参数pos指定的位置。 public int skipBytes(int n);指针从当前位置向后移动n个字节位置,并返回指针实际移动的字节数。 19.答: import java.io.*; public class Count{ public static void main(String[] args) { int x=0,y=0,z=0; int ch; try{ while((ch=System.in.read())!='r'){ 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')x++;else if(ch>='0'&&ch<='9')y++;else z++;} }catch(IOException e){ System.out.println(e.toString());} System.out.println(“英文字母:”+x);System.out.println(“数字字符:”+y);System.out.println(“其它字符:”+z);} } 20.答: import java.io.*;public class InFile{ public static void main(String[] args){ int ch;try{ FileOutputStream out=new FileOutputStream(“a.txt”);while((ch=System.in.read())!='r'){ System.out.write(ch);out.write(ch);} out.close();System.out.write('n');}catch(IOException e){ System.out.println(e.toString());} System.out.println(“输出至文件完毕!”);} } 21.答: import java.io.*;public class Sort{ public static void main(String args[]){ int a[]=new int[10];byte b[]=new byte[10];int t;String str; 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........System.out.println(“请输入10个整数:”); try{ for(int i=0;i<10;i++) {System.out.print(“No.”+(i+1)+“: ”); System.in.read(b); str=new String(b); str=str.trim(); a[i]=Integer.parseInt(str); } }catch(IOException e){ System.out.println(e.toString()); } catch(NumberFormatException e){ System.out.println(e.toString()); } for(int i=0;i<9;i++) for(int j=i+1;j<10;j++) { if(a[i]>a[j]){ t=a[i]; a[i]=a[j]; a[j]=t; } } for(int i=0;i<10;i++) System.out.println(a[i]+“t”); } } 自考Java语言程序设计 (一)第九章JavaApplet概述课后习题 九、Java Applet概述 1.下列方法中,哪一个不是Applet的基本方法() A、init()B、run()C、stop()D、start() 2.在Java中判定Applet的来源的方法有() A、getcodebase()B、get文档base() C、getCodeBase()D、get文档Bade() 3.下面关于Applet的说法正确的是 A、Applet也需要main方法 B、Applet必须继承自javawt.Applet C、Applet能访问本地文件 D、Applet程序不需要编译 4.Applet类的直接父类是() 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........() A.Component类 B.Container类 C.Frame类 D.Panel类 5.判断:一个Applet编译后的类名是Test.class,运行此小程序的命令是Java Test。 6.编写同时具有Applet与Application的特征的程序。具体方法是:作为Application要定义main()方法,并且把 main()方法所在的类定义一个类。为使该程序成为一个Applet,main()方法所在的这个类必须继承Applet类或JApplet类。www.xiexiebang.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........A.FlowLayoutB.BorderLayout C.GridLayoutD.CardLayout 10.编写程序,创建下面的GUI(不必为各组件提供功能)。考试大收集整理 参考答案 1: false 2:true 3:true 4.true 5:版面管理器 6.图形用户界面 7.mouseReleased 8.C 9.B 10.import javawt.*; public class Chp9_3_A extends Frame{ TextField t=new TextField(); String[] op={“7”,“8”,“9”,“/”,“4”,“5”,“6”,“*”,“1”,“2”,“3”,“-”,“0”,“.”,“=”,“+”}; Button[] btn=new Button[16]; Panel p=new Panel(); public Chp9_3_A(){ setLayout(new BorderLayout()); p.setLayout(new GridLayout(4,4)); for(int i=0;i btn[i]=new Button(op[i]); p.add(btn[i]); } add(t,BorderLayout.NORTH); add(p,BorderLayout.CENTER); setSize(400,300); } public static void main(String[] args){ new Chp9_3_A().setVisible(true); } } 自考Java语言程序设计 (一)第十二章课后习题 十二、常用组件之一________命令按钮与标签框 1.判断:标签是是一个容器。() 2.判断:在Swing用户界面的程序设计中,容器可以被添加到其它容器中去。() 3.用户不能修改的文本称为_______。 4.关于awt和swing说法正确的是:来源:考试大 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........A、awt在不同操作系统中显示相同的风格。B、swing在不同的操作系统中显示相同的风格 C、javawt的子类 D、awt和swing都支持事件模型 5.下列_________用户图形界面组件在软件安装程序中是常见的。a.滑块 b.进度条来源:考试大 c.对话框 d.标签 6.包含可单击按钮的类的Java类库是__________。a.AWT b.Swing c.二者都有来源:www.xiexiebang.com d.二者都没有 7.下面的__________用户界面组件不是容器。a.JScrollPane b.JFrame考试大-全国最大教育类网站(www.xiexiebang.com)c.JWindows d.JScrollBar 8.创建下面的GUI,颜色列表框为红色、绿色和蓝色(不必为各组件提供功能)。参考答案 1.false 2.true 3.标签 4.B D 5.B 6.C 7.D 8.参考程序如下: import javawt.*;public class Chp9_3_B extends Frame{ Choice ch;Checkbox bg,fg;Button btnOK,btnCancel;Panel p,p1,p2;public Chp9_3_B(){ p=new Panel();p.setLayout(new GridLayout(2,1));p1=new Panel();p2=new Panel();p1.setLayout(new FlowLayout());p2.setLayout(new FlowLayout());ch=new Choice();ch.add(“红色”); 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........ch.add(“绿色”);ch.add(“蓝色”);bg=new Checkbox(“背景”);fg=new Checkbox(“前景”);p1.add(bg);p1.add(fg);btnOK=new Button(“确定”);btnCancel=new Button(“取消”);p2.add(btnOK);p2.add(btnCancel);p.add(p1);p.add(p2);add(ch,BorderLayout.NORTH);add(p,BorderLayout.CENTER);setSize(400,300);} public static void main(String[] args){ new Chp9_3_B().setVisible(true);} } 自考Java语言程序设计 (一)第十三章课后习题 十三、常用组件之二 _______单行文本框与多行文本框,单选框和复选框 1.判断:列表对象总包含滚动条。() 2.判断:面板的默认管理器是BorderLayout。 3.____________类用于创建一组单选按钮。来源:考试大 4.欲编写如下图的一个界面,用于显示用户指定的图像: 如果在区域A中只能放置一个 AWT组件,从各组件的本来功能角度考虑,最好使用哪种组件: A、TextArea B、Panel C、Applet D、Canvas 5.Java应用程序中的默认外观是_________。 A.Motif B.Windows C.METAl 6.创建下面的GUI,要求在文本框中输入分数,单击“求和”按钮后在结果文本框中显示总分。 7.编写一个将华氏温度转换为摄氏温度的程序。应从键盘输入华氏温度,然后通 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........过文本显示转换后的摄氏温度。使用下面的公式进行温度转换: 摄氏温度=5/9Χ(华氏温度-32) 8.编写一个程序,使用户能够使用鼠标在applet中绘制一个矩形。按住鼠标左键,确定矩形的左上角,然后拖动鼠标,在需要的位置(即矩形右下角)释放鼠标。另外,在状态栏中显示矩形面积。 参考答案 1.false 2.true 3.CheckboxGroup 4.D 5. C 6.参考程序如下: import javawt.*;来源:考试大 import javawt.event.*; public class Chp9_3_C extends Frame implements ActionListener{ TextField textField1,textField2,textField3; Button button1=new Button(“求和”); Panel panel1,panel2; public Chp9_3_C(){ textField1=new TextField(); textField2=new TextField(); textField3=new TextField(); panel1=new Panel(); panel2=new Panel(); panel1.setLayout(new GridLayout(3,2)); panel2.setLayout(new FlowLayout()); panel1.add(new Label(“数学: ”)); panel1.add(textField1); panel1.add(new Label(“英语: ”)); panel1.add(textField2); panel1.add(new Label(“总分: ”)); panel1.add(textField3); panel2.add(button1); add(panel1,BorderLayout.CENTER); add(panel2,BorderLayout.SOUTH); button1.addActionListener(this); setSize(300,200); setVisible(true); } public static void main(String[] args){ new Chp9_3_C(); } public void actionPerformed(ActionEvent e){ int n1,n2,sum; 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........n1=Integer.parseInt(textField1.getText());n2=Integer.parseInt(textField2.getText());sum=n1+n2;textField3.setText(“"+sum);} } 6.参考程序如下: import javawt.*;import javawt.event.*;public class Chp9_3_D extends Frame{ TextField textField1,textField2;Button button1;public Chp9_3_D(){ textField1=new TextField(30);textField2=new TextField(30);button1=new Button(”转换“);setLayout(new FlowLayout());add(new Label(”华氏温度:“));add(textField1);add(new Label(”摄氏温度:“));add(textField2);textField2.setEditable(false);add(button1);setSize(400,300);pack();button1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ button1_actionPerformed(e);} });addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);} });} public static void main(String[] args){ new Chp9_3_D().setVisible(true);} private void button1_actionPerformed(ActionEvent e){ double d=Double.parseDouble(textField1.getText());double h=5.0/9.0*(d-32);textField2.setText(”“+h);} 更多优质自考资料尽在百度贴吧自考乐园俱乐部 (http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........} 7.参考程序如下: import javapplet.Applet; import javawt.*; import javawt.event.*; public class Chp9_3_E MouseListener,MouseMotionListener{ int x1,y1,x2,y2; public void init(){ addMouseListener(this); addMouseMotionListener(this); } public void paint(Graphics g){ g.drawRect(x1,y1,x2,y2); int area=Math.abs(x2-x1)*Math.abs(y2-y1); showStatus(”矩形面积: "+area); } //implementation of MouseListener public void mousePressed(MouseEvent e){ x1=e.getX(); y1=e.getY(); } public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseReleased(MouseEvent e){} //implementation of MouseMotionEvent public void mouseDragged(MouseEvent e){ x2=e.getX(); y2=e.getY(); repaint(); } public void mouseMoved(MouseEvent e){} } extends Applet implements Java语言程序设计课程知识点总结 by wgc 1、构造方法 无返回值,和类名相同 new调用 2、方法的重载 (1同3不同)方法名称相同 参数个数 类型 顺序不同 与返回值类型无关 构造方法重载 普通方法重载 3、变量的作用域 成员变量 局部变量 局部变量隐藏成员变量 this 4、this关键字 得到当前对象的成员变量,代表当前对象 5、对象作为方法的参数 对象 传引用 基本类型 传值 6、包 pakage import 7、访问控制修饰符 类 public 缺省的 属性和方法 private 缺省的 protected public 8、static 类成员变量(静态成员变量) 实例成员变量 类方法(静态方法) 类成员变量在类加载时初始化(分配内存空间) 实例方法可以调用任何成员变量和方法 类方法只能调用类变量和类方法 9、继承 定义 extends 属性和方法的继承 public 不同包能继承 protected 不同包能继承(访问不一样,必须在子类中才能访问)友好的 同一包中能继承 private 不能被继承 总结: (1)、当父子类定义在同一个包中时,父类的所有非私有属性和方法可以被子类 继承 (2)、当父子类定义在不同包中时(父类被public修饰),父类的被public和 protected 修饰的属性和方法可以被子类继承。 10、属性的隐藏 子类与父类成员变量名字相同时,子类成员变量隐藏了父类的成员变量 注意: 在子类中调用从父类继承的方法时,和子类的成员变量没关系。 11、方法的覆盖 子类与父类方法名字相同、参数类型、个数、顺序都相同时,子类方法覆盖 父类的方法。 12、继承关系中的构造方法 子类实例化时,会首先调用父类(或父类的父类)的构造方法,然后在调用自己 的构造方法。 13、super关键字 调用父类构造方法 默认无参super(); 有参 super(a); 注:super关键字必须为子类构造方法的第一条语句。 调用父类被覆盖的普通方法,或被隐藏的成员变量 super.show(); super.a; 14、上转型对象(父、子类对象的使用与转化) 子类实例赋给父类的引用 上转型对象与父类对象唯一的区别为上转型对象调用子类覆盖(重写)的方法。 多态 15、abstract 抽象类与抽象方法 抽象类中可以有抽象方法和普通方法 抽象方法必须定义在抽象类中 抽象方法只有定义,没有实现。 通过继承抽象类的子类对象来调用抽象类中的方法 一个非抽象类继承抽象类,必须覆盖(重写)抽象类中的抽象方法。 16、final 修饰类 修饰成员变量 修饰局部变更 修饰方法 17、接口 interface implements 接口中成员变量都是公共的、静态的常量 public static final int MIN=0; 接口中的方法都是公共的、抽象的public abstract void method(); 接口之间可以多继承 // interface B extends A,Computable 类实现(implemnets)某个接口,必须实现里边所有方法 接口回调 把实现某个接口的类的对象赋给此接口的变量,称为接口回调 用法与对象的上转型对象相同。 18、abstract类与接口的比较 abstract类和接口都可以有abstract方法。 接口中只可以有常量,不能有变量;而abstract类中既可以有常量也可以有变量。abstract类中也可以有非abstract方法,接口不可以。 意义区别: 抽象类表示事物之间纵向的联系。如:车、汽车、公共汽车 接口表示事物之间横向的联系。 如:鸟、飞机、超人(都能飞) 19、内部类第二篇:Java语言程序设计实验报告1
第三篇:《Java语言程序设计》课程设计指导书
第四篇:自考Java语言程序设计(一)课后习题及答案
第五篇:Java语言程序设计课程知识点总结