1、计算机二级 JAVA-45及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:100.00)1.下列程序的运行结果是_。public class Testpublic static void main(String args) int percent=10;tripleValue(percent);System.out.println(percent);public static void tripleValue(int x) x=3*x; A.40 B.30 C.20 D.10(分数:2.00)A.B.C.D.2.下列整数的定义中,错误的是_。 A.i
2、nt f=3.14; B.int a=012; C.int i=189; D.int d=0x123;(分数:2.00)A.B.C.D.3.下列适配器类中不属于事件适配器类的是_。 A.MouseAdapter B.KeyAdapter C.ComponentAdapter D.FrameAdapter(分数:2.00)A.B.C.D.4.请阅读下面程序public class OperatorsAndExpressionsvoid residual()int i=100, j=30;float m=563.5f, n=4.0f;System.out.println(i%j);System.o
3、ut.println(m%n);public static void main(String args)OperatorsAndExpressions OperAndExp=new OperatorsAndExpressions();/取模运算符在整数和浮点数中的应用OperAndExp.residual();程序运行结果是_。 A.103.5 B.202.5 C.104.5 D.203.5(分数:2.00)A.B.C.D.5.下列关于构造方法的叙述中,错误的是_。 A.Java语言规定构造方法名与类名必须相同 B.Java语言规定构造方法没有返回值,但不用 void声明 C.Java语言规定
4、构造方法不可以重载 D.Java语言规定构造方法只能通过 new自动调用(分数:2.00)A.B.C.D.6.下列程序的运行结果是_。class Shapepublic Shape()System.out.print(“Shape“);class Circle extends Shape(public Circle()System.out.print(“Circle“);public class Testpublic static void main(String args)Shape d=new Circle(); A.Shape B.Circle C.ShapeCircle D.程序有错误
5、(分数:2.00)A.B.C.D.7.在下列代码的下划线处应填入的内容是_。public class FirstSamplepublic static void main (_args) System.out.println(“你好!“); A.staff B.double C.int D.String(分数:2.00)A.B.C.D.8.下列运算符中不能进行位运算的是_。 A. B. C. D.(分数:2.00)A.B.C.D.9.请阅读下面程序public class ForLoopStatementpublic static void main(string args) int i, j
6、;for(i=1; i5; i+) /i 循环for(j=1; j=i; j+) /j 循环System.out.print(i+“+j+“=“+i*j+“ “);System.out.println();程序完成后,i 循环和 j循环执行的次数分别是_。 A.4,10 B.8,9 C.9,8 D.10,10(分数:2.00)A.B.C.D.10.阅读下面程序public class Incrementpublic static void main( String args ) int c;c=5;System.out.println(c);System.out.println(c+);Sys
7、tem.out.println(c);程序运行结果是_。 A.566 B.556 C.677 D.666(分数:2.00)A.B.C.D.11.Java中用来定义包的关键字是_。 A.package B.import C.com D.class(分数:2.00)A.B.C.D.12.Object类中的方法 public int hashCode(),在其子类覆盖该方法时,其方法修饰符可以是_。 A.protected B.public C.private D.缺省(分数:2.00)A.B.C.D.13.阅读下面程序public class Test2public static void mai
8、n(String args) int a=10, b=4, c=20, d=6;System.out.println(a+*b+c*-d);程序运行的结果是_。 A.144 B.160 C.140 D.164(分数:2.00)A.B.C.D.14.下列叙述中,错误的是_。 A.Java中,方法的重载是指多个方法可以共享同一个名字 B.Java中,用 abstract修饰的类称为抽象类,它不能实例化 C.Java中,接口是不包含成员变量和方法实现的抽象类 D.Java中,构造方法可以有返回值(分数:2.00)A.B.C.D.15.下列叙述中,错误的是_。 A.Java Application与
9、Applet所用编译命令相同 B.通常情况下 Java Application只能有一个 main()方法 C.Java Applet必须有 HTML文件才能运行 D.Java Applet程序的.class 文件可用 java命令运行(分数:2.00)A.B.C.D.16.继承是面向对象的一个重要特性,它可以_。 A.优化程序的存储空间 B.使代码重用,降低程序复杂性 C.保证类和接口的安全 D.更容易地实例化类的对象(分数:2.00)A.B.C.D.17.在堆栈类 SharedStack的定义中,为了保证堆栈在并发操作中数据的正确性,应在下划线处填入的修饰符是_。(两个下划线的填写内容相同
10、)public class SharedStack _ int idx=0;_ char data= new char10;public synchronized void push(char c) public synchronized char pop(). A.public B.不使用修饰符 C.private D.protected(分数:2.00)A.B.C.D.18.阅读下面程序public class Test3public static void main(String args) int x=3, y=4, z=5;String s=“xyz“;System.out.prin
11、tln(s+x+y+z);程序运行的结果是_。 A.xyz12 B.xyz345 C.xyzxyz D.12xyz(分数:2.00)A.B.C.D.19.下列叙述中,正确的是_。 A.线程与进程在概念上是不相关的 B.一个线程可包含多个进程 C.一个进程可包含多个线程 D.Java中的线程没有优先级(分数:2.00)A.B.C.D.20.下列关于 Java语言中线程的叙述中,正确的是_。 A.线程是由代码、数据、内核状态和一组寄存器组成 B.线程间的数据是不共享的 C.用户只能通过创建 Thread类的实例或定义、创建 Thread子类的实例建立和控制自己的线程 D.因多线程并发执行而引起的执
12、行顺序的不确定性可能造成执行结果的不确定(分数:2.00)A.B.C.D.21.下列关于程序运行结果的描述中,错误的是_。import javax.swing.*;import java.awt.*;public class Testpublic static void main(String args)JFrame f=new JFrame();JPanel p=new JPanel();f.setLayout(new BorderLayout();f.getContentPane().add(p, “Center“);p.setBackground(Color.blue);f.setVis
13、ible(true);f.setSize(200, 200); A.程序不能运行 B.显示一个窗口 C.窗口大小是 200200 D.窗口背景为蓝色(分数:2.00)A.B.C.D.22.下列代码编译或执行结果的描述中,正确的是_。class Testpublic static void main(String args)TestThread pm1=new TestThread(“One“);pm1.start();TestThread pm2=new TestThread(“Two“);pm2.start();class TestThread extends Threadprivate S
14、tring sTname=“;TestThread(String s)sTname=s;public void run()for(int i=0; i2; i+)trysleep(1000);catch (InterruptedException e) System.out.println(sTname+“ “); A.不能通过编译,TestThread 类中不能定义变量和构造方法 B.输出 One Two One Two C.输出 Two One One Two D.选项 B或 C都有可能出现(分数:2.00)A.B.C.D.23.下列类中属于字节输入抽象类的是_。 A.FileInputS
15、tream B.ObjectInputStream C.FiterInputStream D.InputStream(分数:2.00)A.B.C.D.24.请阅读下面程序public class ThreadTestpublic static void main(String args)Thread t1=new Thread(new Helio();Thread t2=new Thread(new Helio();t1.start();t2.start();class Hello implements Runnableint i;public void run()while(true)(Sy
16、stem.out.println(“Hello“+i+);if(i=5) break;该程序创建线程使用的方法是_。 A.继承 Thread类 B.实现 Runnable接口 C.t1.start() D.t2.start()(分数:2.00)A.B.C.D.25.阅读下面程序import javax.swing.JOptionPane;public class BreakLabelTestpublic static void main(String args)String output=“;stop: for(int row=1; row=10; row+)for(int column=1;
17、 column=5; column+)if(row=5)break stop;output+=“* “;output+=“/n“;output+=“/nLoops terminated normally“;JOptionPane.showMessageDialog(null, output, “用一个标志测试 break语句“,JOptionPane.INFORMATION_MESSAGE);System.exit(0);程序运行结果是_。 A.窗口中有 5行* B.窗口中有 5行* C.窗口中有 4行* D.窗口中有 6行*(分数:2.00)A.B.C.D.26.下列代码的下划线处应填入相同
18、的类,该类是_。import javax.swing.*;public class Testpublic static void main(String args)JFrame f=new JFrame();f.setTitle(“Menus“);f.setVisible(true);f.setSize(500,400);_ mb=new _();f.setJMenuBar(mb);JMenu m=new JMenu(“文件“);mb.add(m);JMenuItem mi=new JMenuItem(“打开“);m.add(mi); A.JMenuItem B.JMenu C.JFrame
19、D.JMenuBar(分数:2.00)A.B.C.D.27.下列关于 Applet的叙述中,正确的是_。 A.为了使 Applet在浏览器中运行,需要在 HTML文件中嵌入相应的 Applet类 B.Applet不能使用从外部接收参数 C.Applet不能使用 javac命令进行编译 D.java Application与 Applet都必须包含 main()方法(分数:2.00)A.B.C.D.28.能向内存直接写入数据的流是_。 A.FileOutputStream B.FileInputStream C.ByteArrayOutputStream D.ByteArrayInputStre
20、am(分数:2.00)A.B.C.D.29.Java对 I/O访问所提供的同步处理机制是_。 A.字节流 B.过滤流 C.字符流 D.压缩文件流(分数:2.00)A.B.C.D.30.处理对象传输的接口是_。 A.Serializable B.Cloneable C.ItemListener D.ActionListener(分数:2.00)A.B.C.D.31.下列实现了动态数组的是_。 A.Vector和 ArrayList B.Map和 Set C.Vector和 Map D.ArrayList和 Set(分数:2.00)A.B.C.D.32.下列代码的下划线处应填入的方法名是_。imp
21、ort java.applet.*;import java.awt.*;public class Hello extends Appletpublic void _ (Graphics g)g.drawString(“How are you!“, 10, 10); A.repaint B.println C.paint D.show(分数:2.00)A.B.C.D.33.下面程序中需要对 Employee的对象进行存储,请在下划线处填入正确选项。class Employee implements _ A.Comparable B.Serializable C.Cloneable D.DataI
22、nput(分数:2.00)A.B.C.D.34.Java对文件类提供了许多操作方法,能获得文件对象父路径名的方法是_。 A.getAbsolutePath() B.getParentFile() C.getAbsoluteFile() D.getName()(分数:2.00)A.B.C.D.35.可以使当前同级线程重新获得运行机会的方法是_。 A.sleep() B.join() C.yield() D.interrupt()(分数:2.00)A.B.C.D.36.运行下列程序时,若没有 test.dat文件,则_。import java.io.*;public class Testpubli
23、c static void main(String args)tryRandomAccessFile raf=new RandomAccessFile(“test.dat“, “r“);System.out.println(“test.dat“);catch(IOException ex)System.out.println(“exception“); A.输出 exception B.输出 test.dat C.输出 IOException D.无显示(分数:2.00)A.B.C.D.37.下列变量的定义中,错误的是_。 A.int x=3; B.float f; d; C.String s
24、=“Hello!“; D.boolean b=true;(分数:2.00)A.B.C.D.38.阅读下面程序public class Test4public static void main(String args)int i=10, j=3;float m=213.5f, n=4.0f;System.out.println(i%j);System.out.println(m%n);程序运行的结果是_。 A.1.0和 1.5 B.1和 1.5 C.1.0和 2.5 D.1和 2.5(分数:2.00)A.B.C.D.39.下列叙述中,错误的是_。 A.Java中没有检测和避免死锁的专门机制 B.
25、程序中多个线程互相等待对方持有的锁,可能形成死锁 C.为避免死锁,Java 程序中可先定义获得锁的顺序,解锁是按加锁的反序释放 D.为避免死锁,Java 程序中可先定义获得锁的顺序,解锁是按加锁的正序释放(分数:2.00)A.B.C.D.40.阅读下面程序public class Try extends Threadpublic static void main(String args)Try t=new Try();t.start();public void run(int j)int i=0;while(i5)System.out.println(“祝你成功!“);i+;该程序要求打印 5
26、行“祝你成功!”,必须改正程序中的某行代码,程序才能完成。选择正确的修改是_。 A.将第 1行的 extends Thread改为 implements Runnable B.将第 3行的 new Try()改为 new Thread() C.将第 4行 t.start()改为 start(t) D.将第 7行的 public void run(int j)改为 public void run()(分数:2.00)A.B.C.D.41.下列程序的运行结果是_。public class Test extends Threadpublic static void main(String args)
27、Thread t=new Thread();t.start();public void run()System.out.println(“Hello“); A.程序不能通过编译,因为没有 import语句将 Thread类引入 B.程序不能通过编译,因为 Test类没有实现 Runnable接口 C.程序通过编译,且运行正常,没有任何输出 D.程序通过编译,且运行正常,打印出一个“Hello”(分数:2.00)A.B.C.D.42.下列代码的执行结果是_。int length=“Hello“.length();System.out.println(length); A.5 B.2 C.10 D
28、.6(分数:2.00)A.B.C.D.43.如果用户定义的 Applet类中没有 init()方法,则该程序_。 A.必须定义一个 main()方法 B.无法通过编译 C.可以通过编译,但运行时将出错 D.可以通过编译,并且能够正常运行(分数:2.00)A.B.C.D.44.下列叙述中,错误的是_。 A.Applet的默认布局管理器是 FlowLayout B.JApplet中增加构件是加到 JApplet的内容面板上,不是直接加到 JApplet中 C.JApplet的内容面板的默认布局管理器是 BorderLayout D.JApplet的内容面板的默认布局管理器是 FlowLayout(
29、分数:2.00)A.B.C.D.45.每个 Java小应用程序必须定义为_。 A.Applet类或 JApplet类的子类 B.JFrame类的子类 C.Frame的子类 D.Window的子类(分数:2.00)A.B.C.D.46.Java多线程并发控制中,用于在代码中标识临界区的关键字是_。 A.start B.wait C.synchronized D.lock(分数:2.00)A.B.C.D.47.鼠标在窗口中移动时,产生的事件是_。 A.ActionEvent B.PrintEvent C.KeyEvent D.MouseEvent(分数:2.00)A.B.C.D.48.如果要在 A
30、pplet中显示特定的文字、图形等信息,可以在用户定义的 Applet类中重写的方法是_。 A.paint() B.update() C.drawString() D.drawLine()(分数:2.00)A.B.C.D.49.J2SDK基本命令中能生成 C语言头文件的命令是_。 A.javah B.javap C.jar D.java(分数:2.00)A.B.C.D.50.提供 showDocument()方法,使 Applet能够请求浏览器访问特定 URL的类是_。 A.Applet B.AppletContext C.JApplet D.URL(分数:2.00)A.B.C.D.计算机二级
31、 JAVA-45答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:100.00)1.下列程序的运行结果是_。public class Testpublic static void main(String args) int percent=10;tripleValue(percent);System.out.println(percent);public static void tripleValue(int x) x=3*x; A.40 B.30 C.20 D.10(分数:2.00)A.B.C.D. 解析:2.下列整数的定义中,错误的是_。 A.int
32、 f=3.14; B.int a=012; C.int i=189; D.int d=0x123;(分数:2.00)A. B.C.D.解析:3.下列适配器类中不属于事件适配器类的是_。 A.MouseAdapter B.KeyAdapter C.ComponentAdapter D.FrameAdapter(分数:2.00)A.B.C.D. 解析:4.请阅读下面程序public class OperatorsAndExpressionsvoid residual()int i=100, j=30;float m=563.5f, n=4.0f;System.out.println(i%j);Sy
33、stem.out.println(m%n);public static void main(String args)OperatorsAndExpressions OperAndExp=new OperatorsAndExpressions();/取模运算符在整数和浮点数中的应用OperAndExp.residual();程序运行结果是_。 A.103.5 B.202.5 C.104.5 D.203.5(分数:2.00)A. B.C.D.解析:5.下列关于构造方法的叙述中,错误的是_。 A.Java语言规定构造方法名与类名必须相同 B.Java语言规定构造方法没有返回值,但不用 void声明
34、C.Java语言规定构造方法不可以重载 D.Java语言规定构造方法只能通过 new自动调用(分数:2.00)A.B.C. D.解析:6.下列程序的运行结果是_。class Shapepublic Shape()System.out.print(“Shape“);class Circle extends Shape(public Circle()System.out.print(“Circle“);public class Testpublic static void main(String args)Shape d=new Circle(); A.Shape B.Circle C.Shape
35、Circle D.程序有错误(分数:2.00)A.B.C. D.解析:7.在下列代码的下划线处应填入的内容是_。public class FirstSamplepublic static void main (_args) System.out.println(“你好!“); A.staff B.double C.int D.String(分数:2.00)A.B.C.D. 解析:8.下列运算符中不能进行位运算的是_。 A. B. C. D.(分数:2.00)A.B.C.D. 解析:9.请阅读下面程序public class ForLoopStatementpublic static void
36、main(string args) int i, j;for(i=1; i5; i+) /i 循环for(j=1; j=i; j+) /j 循环System.out.print(i+“+j+“=“+i*j+“ “);System.out.println();程序完成后,i 循环和 j循环执行的次数分别是_。 A.4,10 B.8,9 C.9,8 D.10,10(分数:2.00)A. B.C.D.解析:10.阅读下面程序public class Incrementpublic static void main( String args ) int c;c=5;System.out.println
37、(c);System.out.println(c+);System.out.println(c);程序运行结果是_。 A.566 B.556 C.677 D.666(分数:2.00)A.B. C.D.解析:11.Java中用来定义包的关键字是_。 A.package B.import C.com D.class(分数:2.00)A. B.C.D.解析:12.Object类中的方法 public int hashCode(),在其子类覆盖该方法时,其方法修饰符可以是_。 A.protected B.public C.private D.缺省(分数:2.00)A.B. C.D.解析:13.阅读下面
38、程序public class Test2public static void main(String args) int a=10, b=4, c=20, d=6;System.out.println(a+*b+c*-d);程序运行的结果是_。 A.144 B.160 C.140 D.164(分数:2.00)A.B.C. D.解析:14.下列叙述中,错误的是_。 A.Java中,方法的重载是指多个方法可以共享同一个名字 B.Java中,用 abstract修饰的类称为抽象类,它不能实例化 C.Java中,接口是不包含成员变量和方法实现的抽象类 D.Java中,构造方法可以有返回值(分数:2.0
39、0)A.B.C.D. 解析:15.下列叙述中,错误的是_。 A.Java Application与 Applet所用编译命令相同 B.通常情况下 Java Application只能有一个 main()方法 C.Java Applet必须有 HTML文件才能运行 D.Java Applet程序的.class 文件可用 java命令运行(分数:2.00)A.B.C.D. 解析:16.继承是面向对象的一个重要特性,它可以_。 A.优化程序的存储空间 B.使代码重用,降低程序复杂性 C.保证类和接口的安全 D.更容易地实例化类的对象(分数:2.00)A.B. C.D.解析:17.在堆栈类 Share
40、dStack的定义中,为了保证堆栈在并发操作中数据的正确性,应在下划线处填入的修饰符是_。(两个下划线的填写内容相同)public class SharedStack _ int idx=0;_ char data= new char10;public synchronized void push(char c) public synchronized char pop(). A.public B.不使用修饰符 C.private D.protected(分数:2.00)A.B.C. D.解析:18.阅读下面程序public class Test3public static void main
41、(String args) int x=3, y=4, z=5;String s=“xyz“;System.out.println(s+x+y+z);程序运行的结果是_。 A.xyz12 B.xyz345 C.xyzxyz D.12xyz(分数:2.00)A.B. C.D.解析:19.下列叙述中,正确的是_。 A.线程与进程在概念上是不相关的 B.一个线程可包含多个进程 C.一个进程可包含多个线程 D.Java中的线程没有优先级(分数:2.00)A.B.C. D.解析:20.下列关于 Java语言中线程的叙述中,正确的是_。 A.线程是由代码、数据、内核状态和一组寄存器组成 B.线程间的数据是
42、不共享的 C.用户只能通过创建 Thread类的实例或定义、创建 Thread子类的实例建立和控制自己的线程 D.因多线程并发执行而引起的执行顺序的不确定性可能造成执行结果的不确定(分数:2.00)A.B.C.D. 解析:21.下列关于程序运行结果的描述中,错误的是_。import javax.swing.*;import java.awt.*;public class Testpublic static void main(String args)JFrame f=new JFrame();JPanel p=new JPanel();f.setLayout(new BorderLayout(
43、);f.getContentPane().add(p, “Center“);p.setBackground(Color.blue);f.setVisible(true);f.setSize(200, 200); A.程序不能运行 B.显示一个窗口 C.窗口大小是 200200 D.窗口背景为蓝色(分数:2.00)A. B.C.D.解析:22.下列代码编译或执行结果的描述中,正确的是_。class Testpublic static void main(String args)TestThread pm1=new TestThread(“One“);pm1.start();TestThread
44、pm2=new TestThread(“Two“);pm2.start();class TestThread extends Threadprivate String sTname=“;TestThread(String s)sTname=s;public void run()for(int i=0; i2; i+)trysleep(1000);catch (InterruptedException e) System.out.println(sTname+“ “); A.不能通过编译,TestThread 类中不能定义变量和构造方法 B.输出 One Two One Two C.输出 Two
45、 One One Two D.选项 B或 C都有可能出现(分数:2.00)A.B.C.D. 解析:23.下列类中属于字节输入抽象类的是_。 A.FileInputStream B.ObjectInputStream C.FiterInputStream D.InputStream(分数:2.00)A.B.C.D. 解析:24.请阅读下面程序public class ThreadTestpublic static void main(String args)Thread t1=new Thread(new Helio();Thread t2=new Thread(new Helio();t1.start();t2.start();class Hello implements Runnableint i;public void run()while(true)(System.out.println(“Hello“+i+)