1、Java 语言程序设计(一)自考题-3 及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:10,分数:10.00)1.下列有关 Java 关键字说法中不正确的是( )AJava 关键字均由小写字母组成B每个关键字在程序中出现时,均有特定位置和特定使用方法的要求C在 Java 语言中,每个关键字均已经被赋予特定的意义D可以使用关键字作为类名(分数:1.00)A.B.C.D.2.以下程序代码的输出结果是( )int x=10,y=20,z=30;z*=x+y;System. out. println(z);A320 B30C90 D900(分数:1.00)A.B.C.D
2、.3.在 Java 中,能实现多重继承效果的方式是( )A内部类 B适配器C接口 D同步(分数:1.00)A.B.C.D.4.以下程序代码的输出结果为( )String s1=“abc“,s2=“ab“,s3;s3=s2. concat(“c“);System. out. println(s1=s3);Atrue BfalseC0 D1(分数:1.00)A.B.C.D.5.以下关于 Java 类的声明及成员定义的叙述中,错误的是( )A用关键字 class 引导一个类的声明B在类体中给出类的成员变量定义、方法定义以及独立的执行代码C成员的访问权限有 4 种DJava 中成员变量的名字可以与类的
3、方法的名字相同(分数:1.00)A.B.C.D.6.设有 a=b=c=5,计算表达式+a=5|+b+c,则 a,b,c 的值分别是( )A6 6 6 B5 5 5C6 5 5 D6 6 5(分数:1.00)A.B.C.D.7.在 Java 语言中,以下不会用到关键字 this 的选项是( )A将对象自己作为参数,调用别的方法B当方法的局部变量隐藏成员变量时,利用 this 引用成员变量C使用 super 调用超类的构造方法D构造函数内调用另一构造函数(分数:1.00)A.B.C.D.8.在 Java 语言中,能够提早结束当前轮次循环,进入下一轮次循环的语句是( )Anext BbreakCsw
4、itch Dcontinue(分数:1.00)A.B.C.D.9.Java 中实现输入/输出操作的类库在( )Ajava.io 包中 Bjava. input 包中CJavaoutput 包中 Djavalang. io 包中(分数:1.00)A.B.C.D.10.在编写访问数据库的 Java 程序过程中,用来在指定的连接中处理 SQL 语句的类是( )AResultSet 类 BDriver Manager 类CStatement 类 DConnection 类(分数:1.00)A.B.C.D.二、填空题(总题数:10,分数:20.00)11.Java 源程序命名受严格的限制,Java 源文
5、件的扩展名必须是 1。(分数:2.00)填空项 1:_12.在 switch 语句中,通过 1 语句退出 switch 语句,使程序从整个 switch 语句后面的第一条语句处开始执行。(分数:2.00)填空项 1:_13.如果成员变量 x 在方法内被隐藏,又要在方法中引用这个成员变量,必须使用 1 形式。(分数:2.00)填空项 1:_14.在 Java 语言中,需要定义含有两个子数组的二维整型数组 x,第一个子数组元素为 7,8,第二个子数组元素为 l,2,3,4,5,采用直接赋值创建此二维数组的语句为 1。(分数:2.00)填空项 1:_15. 1 布局使容器的多个组件拥有同一个显示空间
6、,某一时刻只能显示一个组件。(分数:2.00)填空项 1:_16.要使 Java 程序退出 Java 运行环境,可以执行的代码是 1。(分数:2.00)填空项 1:_17.某 Java 程序要使用文件输入输出流,则该程序所需要的 import 语句是 1。(分数:2.00)填空项 1:_18.启动线程,让线程从新建状态到就绪状态的方法是 1。(分数:2.00)填空项 1:_19.采用缓冲式输入时,可以对 BufferedReader 对象使用 1 方法按行读取文件中的内容。(分数:2.00)填空项 1:_20.端口号与 IP 地址的组合称为 1。(分数:2.00)填空项 1:_三、简答题(总题
7、数:6,分数:18.00)21.设有整型变量 x 和 y 的值分别为 5 和 110。请指出执行了下面循环语句后,变量 x 和 y 的值分别是多少?dox=y/x;y=y-x; while(y=1);(分数:3.00)_22.用关键字 final 修饰的类、方法和变量各有什么特点?(分数:3.00)_23.在 GUI 中有哪三种窗口?它们有什么特点?(分数:3.00)_24.JCheckBox 类的常用方法有 isSelected()、itemStateChanged(ItemEvent e)、getItemSelectable()、addItemListener(ItemListener l
8、),简述它们的功能。(分数:3.00)_25.简述 Java 程序实现多线程应用的途径?(分数:3.00)_26.当 Client 程序和 Server 程序需要通信时,可以用 Socket 类建立套接字连接,请写出双方实现通信的两种方式。(分数:3.00)_四、程序填空题(总题数:5,分数:20.00)27.求出所有满足下列条件的两位数:将此两位数的个位数字与十位数字进行交换,可得到一个新的数,要求新数与原数之和小于 100。int i,j,x,y;for(i=10;i100;i+)x=i%10;y=i/10;J=_;if(_)System. out. print(i+“ “);(分数:4.
9、00)填空项 1:_28.程序的功能是在第一个文本框中输入整数,输入结束回车后,在第二个文本框中输出该整数和平方。import java. applet.*;import javax. swing.*;import java. awt. event.*;public class Class04 extends Applet implements ActionListenerJTextField text1,text2;public void init()text1=new JTextField(10);text2=new JTextField(10);setSize(200,100);add(
10、text1);add(text2);text1. _;public void actionPerformed(Action Evnet e)long n;if(e. get Source()=text1)n=Long. parseLong(text1. getText();text2._(String. valueOf(n*n);(分数:4.00)填空项 1:_29.设计一个面板,该面板中有四个运动项目选择框和一个文本区。当某个选择项目被选中时,在文本区中显示该选择项目。import java. applet.*;import java. awt.*;irnport javax. swing.
11、*;import java. awt. event.*;public class C0601 extends Applet implements_JPanel pan=new JPand();String s=“足球“,“排球“,“篮球“,“乒乓球“;JCheckBox box=new JCeckBox4;JTextArea text=new JTextArea(6,20);public void init()setSize(400,150);for(int i=0;i4;i+)boxi=new JCheckBox(si);pan. add(boxi);boxi.addItemListener
12、(this);add(pan);add(text);text. setBackground(Color. cyan);public void itemStateChanged(ItemEvent e)text. setText(“你选择了:“);for(int i=0;i4;i+)if(boxi_)text. setText(text. getText()+“/n“+ boxi. getText();(分数:4.00)填空项 1:_30.小应用程序运行后在窗口中显示一幅图片。import java. applet.*;import java. awt.*;public class Class3
13、005 extends AppletImage myImg;public void start()myImg=_(getCodeBase(),“myImg. jpg“);public void paint(Graphics g)g._(myImg,0,0,this);(分数:4.00)填空项 1:_31.某界面有一个文本区和一个按钮。点击按钮后,将文件中的内容输入,显示在文本区。此按钮的监视器方法如下(文件通过对话框指定)。public void actionPerformed(ActionEvent e)if(e.getSource()=butt)String s=null;tryif(ne
14、w FileDialog().file!=null)String filename=FileDialog. file. getName();RandomAccessFile in=new_(filename,“r“);while (s=in. readLine()!=null)textA. append(s+“/n“);_;catch(FileNotFoundException e1)catch(IOException e2)(分数:4.00)填空项 1:_五、程序分析题(总题数:5,分数:20.00)32.阅读下列程序,请写出该程序的输出结果。public class Cint x=10;s
15、tatic int y=20;public static void main(String args)C obj1=new C();C obj2=new C();obj1.x*=2;obj1.y*=3;obj2.x+=4;obj2.y+=5;System. out. println(obj1.x);System. out. println(obj1.y);System. out. println(obj2.x);System. out. println(obj2.y);(分数:4.00)_33.阅读下列程序,请写出程序的运行结果。public class Cpublic static void
16、 main(String args)String text=“public static void main(String args)“;int theCount=0;int index=-1;String theStr=“i“;index=text. indexOf(theStr);while(index=0)+theCount;index+=theStr. length();index=text. indexOf(theStr,index);System. out. println(“The Text contains“+theCount+“i“);(分数:4.00)_34.已知某程序的界
17、面包含一个文本区 text1、一个文本框 text2 和一个按钮 button。下面是该程序的相关方法。阅读下面方法,写出该方法功能。public void actionPerformed(ActionEvent e)int sum;if(e. getSource()=button)String s=text1. getText();StringTokenizer fenxi=new StringTokenizer(s,“,/t/n“);int n=fenxi. countTokens();double a=new doublen;for(int i=0;in;i+)String temp=f
18、enxi. nextToken();ai=Double. valueof(temp). doubleValue();sum=0;for(int i=0;in;i+)sum+=i;text2. setText(“ “+sum);(分数:4.00)_35.阅读下列程序,请写出程序的运行结果。import java. applet.*;import javax. swing.*;import java. awt. event.*;public class C extends Applet implements ActionListenerint n=0;JButton button;public v
19、oid init()setSize(400,100);button=new JButton(“ “);add(button);button. addActionListener(this);public void actionPerformed(ActionEvent e)n+;button. setText(n+“ “);(分数:4.00)_36.阅读下列程序,请写出程序的运行结果。import java. applet.*;import java.awt.*;public class C extends Applet implements RunnableThread redBall,bl
20、ueBall;Graphics redPen,bluePen;int blueSeta=0,redSeta=0;public void init()setSize(250,200);redBall=new Thread(this);blueBall=new Thread(this);redPen=getGraphics();bluePen=getGraphics();redPen.setColor(Color. red);bluePen.setColor(Color. blue);setBackground(Color. gray);public void start()redBall.sta
21、rt();blueBall.start();public void run()int x,y;while(true)if(Thread.currentThread()=redBall)/以下代码为顺时针画圆x=(int)(80.0*Math.cos(3.1415926/180.0*redSeta);y=(int)(80.0*Math.sin(3.1415926/180.0*redSeta);redPen.setColor(Color.gray);redPen.fillOval(100+x,100+y,10,10);redSeta+=3;if(redSeta=360)redSeta=0;x=(i
22、nt)(80.0*Math.cos(3.1415926/180.0*redSeta);y=(int)(80.0*Math.sin(3.1415926/180.0*redSeta);redPen.setColor(Color.red);redPen.fillOval(100+x,100+y,10,10);try redBall.sleep(20);catch(InterruptedException e)else if(Thread.currentThread()=blueBall)/以下代码为顺时针画圆x=(int)(80.0*Math.cos(3.1415926/180.0*blueSeta
23、);y=(int)(80.0*Math.sin(3.1415926/180.0*blueSeta);bluePen.setColor(Color.gray);bluePen.fillOval(150+x,100+y,10,10);blueSeta-=3;if(blueSeta=-360) blueSeta=0;x=(int)(80.0*Math.cos(3.1415926/180.0*blueSeta);y=(int)(80.0*Math.sin(3.1415926/180.0*blueSeta);bluePen.setColor(Color.blue);bluePen.fillOval(15
24、0+x,100+y,10;10);try blueBall.sleepp(40);catch(InterruptedException e)(分数:4.00)_六、程序设计题(总题数:2,分数:12.00)37.请编写方法 int countChar(String s),该方法的功能是统计已知字符串 s 中字母的个数。例如:countChar(“A1Bd56D“)的返回值为 4。(分数:6.00)_38.一个小应用程序,界面如图所示,有一个标签、一个文本框、一个文本区和两个按钮。当在一个文本区输入若干数后,点击求和按钮,在文本框显示输入数的和,标签显示“输入数的和”;点击求平均值按钮,在文本框
25、显示输入数的平均值,标签显示“输入数的平均值”。以下是程序的大部分,请编写其中的监视器方法。(分数:6.00)_Java 语言程序设计(一)自考题-3 答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:10,分数:10.00)1.下列有关 Java 关键字说法中不正确的是( )AJava 关键字均由小写字母组成B每个关键字在程序中出现时,均有特定位置和特定使用方法的要求C在 Java 语言中,每个关键字均已经被赋予特定的意义D可以使用关键字作为类名(分数:1.00)A.B.C.D. 解析:解析 主要考查的知识点为 Java 关键字。要点透析 不能使用关键字作为标识符命
26、名程序对象。2.以下程序代码的输出结果是( )int x=10,y=20,z=30;z*=x+y;System. out. println(z);A320 B30C90 D900(分数:1.00)A.B.C.D. 解析:解析 主要考查的知识点为 Java 运算符优先级。要点透析 “+”号优先级高于“*=”号 z*=x+y 等价于 z=z*(x+y)。3.在 Java 中,能实现多重继承效果的方式是( )A内部类 B适配器C接口 D同步(分数:1.00)A.B.C. D.解析:解析 主要考查的知识点为继承和接口。要点透析 Java 程序中的类只能继承一个类,这种继承称为单继承。Java 语言虽不
27、允许一个类继承多个类,但允许一个类实现多个接口。这样,对有继承并实现接口的类来说,实际上有了多个超类,实现有控制的多重继承。接口比多重继承更强、更容易控制。接口有与类相似的基本形式。接口有常量定义和方法定义,但没有方法的实现代码,即没有方法的方法体。4.以下程序代码的输出结果为( )String s1=“abc“,s2=“ab“,s3;s3=s2. concat(“c“);System. out. println(s1=s3);Atrue BfalseC0 D1(分数:1.00)A.B. C.D.解析:解析 主要考查的知识点是字符串比较。要点透析 =在字符串中使用,比较的是两个对象是否相同,而
28、不是对象的内容。要比较内容应用使用s1. equals(s3)这种方法,它的值为 true。本题 s1 和 s3 是不同的对象,s1 是在编译时就已产生的字符串“abc”的引用,而 s3 是在运行后才生成的字符串“abc”的引用,很明显,s1 和 s3 是两个不同对象的引用。5.以下关于 Java 类的声明及成员定义的叙述中,错误的是( )A用关键字 class 引导一个类的声明B在类体中给出类的成员变量定义、方法定义以及独立的执行代码C成员的访问权限有 4 种DJava 中成员变量的名字可以与类的方法的名字相同(分数:1.00)A.B. C.D.解析:解析 本题主要考查的知识点为 Java
29、语言中类的声明及成员定义。要点透析 类体给出类的成员变量定义和方法定义,类体中不能有独立的执行代码,所有的执行代码只能出现在方法中。6.设有 a=b=c=5,计算表达式+a=5|+b+c,则 a,b,c 的值分别是( )A6 6 6 B5 5 5C6 5 5 D6 6 5(分数:1.00)A.B.C. D.解析:解析 本题主要考查的知识点为 Java 语言的逻辑与和逻辑或运算符性质。要点透析 从左到右顺序计算逻辑或表达式,先计算子表达式+a=5,变量 a 的值变为 6,+a=5 为true,整个逻辑表达式的值已经为 true,不再计算右边的子表达式+b+c。因而,变量 b 和变量 c 的值不变
30、,仍为 5。7.在 Java 语言中,以下不会用到关键字 this 的选项是( )A将对象自己作为参数,调用别的方法B当方法的局部变量隐藏成员变量时,利用 this 引用成员变量C使用 super 调用超类的构造方法D构造函数内调用另一构造函数(分数:1.00)A.B.C. D.解析:解析 本题主要考查的知识点为 Java 的 this 的关键字。要点透析 关键字 this 用来指对象自己。this 的作用有很多种,例如将对象自己作为参数,调用别的方法,当方法的局部变量隐藏成员变量时,利用 this 引用成员变量;构造函数内调用另一构造函数。使用 super 调用超类的构造方法不会用到关键字
31、this。8.在 Java 语言中,能够提早结束当前轮次循环,进入下一轮次循环的语句是( )Anext BbreakCswitch Dcontinue(分数:1.00)A.B.C.D. 解析:解析 本题主要考查的知识点为 Java 语言的语句。要点透析 break 语句的执行强制结束它所在的控制结构,让程序从这个控制结构的后继语句继续执行;continue 语句提早结束当前轮次循环,进入下一轮次循环;switch 语句用来描述多路按值选择结构。9.Java 中实现输入/输出操作的类库在( )Ajava.io 包中 Bjava. input 包中CJavaoutput 包中 Djavalang.
32、 io 包中(分数:1.00)A. B.C.D.解析:解析 主要考查的知识点为 Java.io 包。要点透析 其中 io 是 input(输入)和 output(输出)首字母的缩写。10.在编写访问数据库的 Java 程序过程中,用来在指定的连接中处理 SQL 语句的类是( )AResultSet 类 BDriver Manager 类CStatement 类 DConnection 类(分数:1.00)A.B.C. D.解析:二、填空题(总题数:10,分数:20.00)11.Java 源程序命名受严格的限制,Java 源文件的扩展名必须是 1。(分数:2.00)填空项 1:_ (正确答案:.
33、Java)解析:12.在 switch 语句中,通过 1 语句退出 switch 语句,使程序从整个 switch 语句后面的第一条语句处开始执行。(分数:2.00)填空项 1:_ (正确答案:break)解析:13.如果成员变量 x 在方法内被隐藏,又要在方法中引用这个成员变量,必须使用 1 形式。(分数:2.00)填空项 1:_ (正确答案:this.x)解析:14.在 Java 语言中,需要定义含有两个子数组的二维整型数组 x,第一个子数组元素为 7,8,第二个子数组元素为 l,2,3,4,5,采用直接赋值创建此二维数组的语句为 1。(分数:2.00)填空项 1:_ (正确答案:intx
34、=7,8,1,2,3,4,5;)解析:15. 1 布局使容器的多个组件拥有同一个显示空间,某一时刻只能显示一个组件。(分数:2.00)填空项 1:_ (正确答案:CardLayout)解析:16.要使 Java 程序退出 Java 运行环境,可以执行的代码是 1。(分数:2.00)填空项 1:_ (正确答案:Systemexit(0);)解析:17.某 Java 程序要使用文件输入输出流,则该程序所需要的 import 语句是 1。(分数:2.00)填空项 1:_ (正确答案:import java.io*:)解析:18.启动线程,让线程从新建状态到就绪状态的方法是 1。(分数:2.00)填空
35、项 1:_ (正确答案:start-|_|-)解析:19.采用缓冲式输入时,可以对 BufferedReader 对象使用 1 方法按行读取文件中的内容。(分数:2.00)填空项 1:_ (正确答案:readLine-|_|-)解析:20.端口号与 IP 地址的组合称为 1。(分数:2.00)填空项 1:_ (正确答案:网络套接字(socket))解析:三、简答题(总题数:6,分数:18.00)21.设有整型变量 x 和 y 的值分别为 5 和 110。请指出执行了下面循环语句后,变量 x 和 y 的值分别是多少?dox=y/x;y=y-x; while(y=1);(分数:3.00)_正确答案
36、:(x=18 y=0)解析:22.用关键字 final 修饰的类、方法和变量各有什么特点?(分数:3.00)_正确答案:(在类声明之前用 final 修饰,声明类是 final 类,final 类是不能被再继承的类,即它不能再有子类。(2)用 final 修饰方法,声明该方法不能被子类的方法覆盖。或是为了给方法“上锁”,防止任何子类改变它的本来含义,或是为了提高执行效率,编译器可以将这个方法的所有调用都能用“嵌入代码”实现,即用方法体代码的副本来替换方法调用。(3)用 final 修饰变量,声明该变量的值不能被改变。不能被改变的变量相当于一个常量。final 变量主要用于以下两个方面:或是一个
37、编译期的常数,它永远不会改变,或在初始化后,不希望它现改变。final 局部变量在定义时可以暂不设定初值,但是了经初始化,以后就不能再改变。(4)常用 final 声明常量,常量名习惯全部用大写字母命名。)解析:23.在 GUI 中有哪三种窗口?它们有什么特点?(分数:3.00)_正确答案:(1)Applet 窗口,Applet 类管理这个窗口,当小应用程序启动时,由系统创建和处理。(2)框架窗口(JFrame)这是通常意义上的窗口,它支持窗口,它支持窗口周边的框架、标题栏,以及最小化、最大化和关闭按钮。用 Swing 中的 JFrame 类或它的子类创建的对象就是 JFrame 窗口。(3)
38、-种无边框窗口(JWindow),没有标题栏,没有框架,只是一个空的矩形。)解析:24.JCheckBox 类的常用方法有 isSelected()、itemStateChanged(ItemEvent e)、getItemSelectable()、addItemListener(ItemListener l),简述它们的功能。(分数:3.00)_正确答案:(isSelected(),获取选择框是否被选中的状态。(2)itemStateChanged(ItemEvent e),处理选择框事件的接口方法。(3)getItemSelectable(),获取事件源。(4)addItemListene
39、r(ItemListemer l),为选择框设定监视器。)解析:25.简述 Java 程序实现多线程应用的途径?(分数:3.00)_正确答案:(一是继承 Thread 类声明 Thread 子类,用 Thread 子类创建线程对象。二是在类中实现Runnable 接口,在类中提供 Runnable 接口的 run()方法。无论用哪种方法,都需要 Java 基础类库中的Thread 类及其方法的支持。)解析:26.当 Client 程序和 Server 程序需要通信时,可以用 Socket 类建立套接字连接,请写出双方实现通信的两种方式。(分数:3.00)_正确答案:(流式 socket 和数据
40、报式 socket)解析:四、程序填空题(总题数:5,分数:20.00)27.求出所有满足下列条件的两位数:将此两位数的个位数字与十位数字进行交换,可得到一个新的数,要求新数与原数之和小于 100。int i,j,x,y;for(i=10;i100;i+)x=i%10;y=i/10;J=_;if(_)System. out. print(i+“ “);(分数:4.00)填空项 1:_ (正确答案:10*x+yi+j100)解析:28.程序的功能是在第一个文本框中输入整数,输入结束回车后,在第二个文本框中输出该整数和平方。import java. applet.*;import javax. s
41、wing.*;import java. awt. event.*;public class Class04 extends Applet implements ActionListenerJTextField text1,text2;public void init()text1=new JTextField(10);text2=new JTextField(10);setSize(200,100);add(text1);add(text2);text1. _;public void actionPerformed(Action Evnet e)long n;if(e. get Source()=text1)n=Long. parseLong(text1. getText();text2._(String. valueOf(n*n);(分数:4.00)填空项 1:_ (正确答案:addActionListener(this)setText)解析:29.设计一个面板,该面板中有四个运动项目选择框和一个文本区。当某个选择项目被选中时,在文本区中显示该选择项目。import java. applet.*;