12下半年Java机考试题 - 图文

更新时间:2024-03-14 22:36:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2012年(下)全国信息技术水平考试

计算机程序设计技术水平证书(JAVA语言)考试试卷

第一大题:单选题 (30 分)

1. (1分) 下列选项中不是合法Java标识符的是( C )。 (A) ab (B) $_3 (C) 3ab (D) ab32

2. (1分) 若有定义int a=2,b=4;boolean x;则执行语句 x=a>b;System.out.println(x);的结果为( D )。 (A) 1 (B) 0 (C) true (D) false

3. (1分) 若有定义int x=3,y;则执行语句y=(++x)+(++x)+(++x);后y的值是( D )。 (A) 12 (B) 18 (C) 9 (D) 15

4. (1分) 若a是int型变量,计算表达式a=25/3%3后,a为( B )。 (A) 1 (B) 2 (C) 3 (D) 4

5. (1分) 关于代码行int []arr={1,2,3}; for(int i=0;i<2;i++) arr[i]=0 ;下列表达式中值为true的是( A )。(A) arr[0]==0 (B) arr[0]==01 (C) arr[1]==1 (D) arr[2]==0

6. (1分) 下列选项中,属于接口中方法默认的访问控制方式的是( B )。 (A) public (B) private (C) protected (D) default

7. (1分) 若要在容器底端放一个按钮,且不管用户如何改变尺寸,则下列布局管理器中最简单的是( D (A) BorderLayout (B) GridLayout (C) FlowLayout (D) GridbagLayout

8. (1分) 要使一个线程放弃处理器,且休眠1.5秒,应调用的方法是( B )。 (A) sleep(1.5) (B) sleep(1500) (C) suspend(1.5) (D) suspend(1500)

9. (1分) 用套接字方法建立两个程序的通信后,如果双方通信完毕,应( C )。 (A) 发送“再见”信息 (B) 直接退出程序

(C) 调用方法close()关闭套接字连接

(D) 重新启动计算机以断开通信连接

10. (1分) 如果一个用户自定义的类以对象为单位进行读写时,该类定义时应实现一个接口( D )。 (A) DataInput (B) DataOutput (C) ObjectOutput (D) Serializable 11. (1分) 关于下列程序段,说法正确的是( A )。 class Test{

static int a[] = new INT [10]; 静态的实例字段 public static void main(String args[]){ System.out.println(a[1]); } }

(A) 编译时将产生错误 (B) 编译时正确,运行时将产生错误 (C) 输出零 (D) 输出空 12. (1分) 下列程序段执行后,其输出的结果是( D )。 public class myprogram{

public static void main (String args[]){ try{

System.out.print(\ finally{

System.out.println(\ } } }

(A) 无法编译,因为没有指定异常

。1

(B) 无法编译,因为没有catch子句 (C) Hello world

(D) Hello world Finally executing

13. (1分) 下列修饰符修饰的变量是所有同一个类生成的对象共享的是( C )。 (A) public (B) private (C) static (D) final

14. (1分) 对一个Java源文件 Test.java,编辑保存后但未编译,在其所在目录下执行java Test,则接着会出现( C )。

(A) error: cannot read:Test.java (B) 无任何显示

(C) Exception in thread \ //没有类定义方向 // ,找不到或无法加载主类 (D) 程序正常执行并显示 15. (1分) 下列表达式返回值为true的是( C )。

(A) StringBuffer x=new StringBuffer(“test”);//不同类型对象的比较 if(x.equals(“test”))

(B) StringBuffer x=new StringBuffer(“test”); StringBuffer y=new StringBuffer(“test”);

if(x==y) //用于对数据的比较,不用于不同类型,可以用于地址值得比较 (C) StringBuffer x=new StringBuffer(“test”); StringBuffer y=new StringBuffer(“test”); if(x.toString().equals(y.toString())); (D) 以上都不对

16. (1分) 下列说法中错误的是( D )。

(A) final关键字声明该方法是最终方法,不能被重写

(B) 所谓方法的覆盖是声明一个方法与其父类中某个方法相同 (C) 所谓方法的重载是多个方法可以共用一个方法名

(D) 所谓构造方法就是类里面的第一个方法 17. (1分) 下列接口在Java中不存在相对应的Adapter类的是( C )。 (A) MouseListener (B) KeyListener (C) ActionListener (D) FocusListener

18. (1分) 在下面指定位置添加下列选项中定义的方法,其中在编译时会产生错误的是( D )。 public class C extends B {

//此处添加选项中的方法 }

class B {

public float getNum() {

return 1.0f; } }

(A) public float getNum() { return 4.0f;}

(B) public double getNum(float D) { return 3.0f;} (C) public void getNum(double D) { }

2

(D) public void getNum() { } 19. (1分) 阅读下列代码 if (Math.random()>=0.5)

System.out.println(”first”); else if (Math.random()>=0.3) System.out.println(“second”);

假设产生的随机数为x,当它的范围为( D )时,输出结果为second。 (A) x>=0.5 (B) x>=0.3 (C) x<0.3 (D) x<0.5&x>=0.3

20. (1分) 当一个程序中含有如下语句,则必须放在程序第一行的语句是( A )。 (A) package aa;

(B) import java.io.*; (C) class Exam

(D) 以上语句可以随意放置,没有一定的顺序

21. (1分) 若定义类A及类中的方法setVar(),则下列选项中可以对该方法重载的是( public class A {

public void setVar(int a,int b,float c) {……} }

(A) protected float setVar(int x,int y,float z) {return z;} (B) protected void setVar(int a,int b,float c) { } (C) protected int setVar(int a,int b,int c) {return a;}

(D) protected int setVar(int a,int b,float c) {return b;} 22. (1分) 下列程序段执行后,其输出结果是( D )。 public class Test implements Runnable{ private int x=4; private int y=5;

public static void main(String args[]){ Test x=new Test();

(new Thread(x)).start(); (new Thread(x)).start(); }

public void run(){ x++; y++;

System.out.println(\ } }

(A) x=4,y=5 x=4,y=5 (B) x=4,y=5 (C) x=4,y=5

x=5,y=6 (D) x=5,y=6

x=6,y=7

C )。 3

不妥:本题除了答案D,也有可能是下面答案:

x=6,y=7 x=6,y=7

23. (1分) 事件处理模式中提供的事件类和事件监听者在下列选项中哪个包下( B )。 (A) java.awt.*; (B) java.awt.event.*; (C) javax.swing.*; (D) 以上都不是 24. (1分) 下列程序段执行后,其输出结果是( B )。 class TestStaticCode{ static{

System.out.println(\ }

TestStaticCode(){

System.out.println(\}

TestStaticCode(int a){

System.out.println(\}

public static void main(String [] args){ new TestStaticCode (); new TestStaticCode (2); } }

(A) TestStaticCode is loading Call Custructor 1

TestStaticCode is loading Call Custructor 2 (B) TestStaticCode is loading Call Custructor 1 Call Custructor 2 (C) TestStaticCode is loading (D) Call Custructor 1

Call Custructor 2

25. (1分) 下列定义方式中错误的是( D )。

(A) short s=28; (B) char c=’1’; (C) double d=2.3 (D) float f=2.3

26. (1分) 在编写访问数据库的Java程序时,Connection对象的作用是 ( A (A) 用来表示与数据库的连接 (B) 存储查询结果

(C) 在指定的连接中处理SQL语句

(D) 建立新数据库连接

27. (1分) 下列参数中适合构造BufferedInputStream的是( B )。

(A) BufferedOutputStream (B) FileInputStream (C) FileOuterStream (D) File

。 4

28. (1分) 当线程A使用某个对象,而此对象又需要线程B修改后才能符合A线程的需要,这时线程A就要等待线程B完成修改工作,这种现象称为( A )。

(A) 线程的同步 (B) 线程的互斥 (C) 线程的调度 (D) 线程的就绪 29. (1分) 在Java程序中有定义:int x[][]=new int[4][5];则x.length和x[3].length的值分别是( D )。 (A) 5和3 (B) 5和4 (C) 4和3 (D) 4和5

30. (1分) 容器Panel缺省使用的布局策略是( B )。

(A) BorderLayout (B) FlowLayout (C) GridLayout (D) CardLayout

第二大题:实践题 (70 分) 1. (20分)

5

2. (25分)

6

7

3. (25分)

8

9

2012年(下)JAVA试卷参考答案

一、单选题(每小题1分,共30分)

1 2 3 4 5 6 7 8 9 10 C D D B A A A B C D 11 12 13 14 15 16 17 18 19 20 A D C C? C D C D D A 21 22 23 24 25 26 27 28 29 30 C D B B D A B A D B

需要讲解的题: 容易出错的题:25 不妥的题:14,22 14题:

以上答案都不妥,应为:错误: 找不到或无法加载主类 Test 22题:(D) x=5,y=6 x=6,y=7

不妥:本题除了答案D,也有可能是下面答案:

x=6,y=7 x=6,y=7

二、实践题(20+25+25 = 70分)

1.(20分)编程:

/*

* 问题描述:求s=a+aa+aaa+aa…a的值,其中a是一个数字。 * 例如a=5,则计算5+55+555+5555+55555(这时共有5个数相加); * 例如a=3,则计算3+33+333(这时共有3个数相加)。 * a的值由键盘输入。 */

import java.util.*; public class Exam1 {

public static void main(String[] args) { try{

Scanner scan=new Scanner(System.in);

System.out.println(\请输入要计算的a值:\); int a=scan.nextInt();

String b=String.valueOf(a); //a对应的字符是b

10

int s=0;

for(int i=1;i<=a;i++){ String str=\;

for(int j=1;j<=i;j++){ str += b; }

s += Integer.parseInt(str); }

System.out.println(\结果:\+s); }

catch(Exception ex){

ex.printStackTrace(); }

}

}

运行结果1:

请输入要计算的a值: 3

结果:369

运行结果2:

请输入要计算的a值: 5

结果:61725

2.(25分)编程:

/**

* 指定字符串在文件哪一行出现 */

import java.io.*; import java.util.*; public class Exam2 {

public static void main(String[] args) { try{

FileInputStream fis=new FileInputStream(\); BufferedReader br=new BufferedReader( new InputStreamReader(fis));

Scanner scan = new Scanner(System.in);

System.out.println(\请输入要查找的文字:\); String text=scan.nextLine(); String linestr; int lineno=0;

while((linestr=br.readLine())!=null){

11

lineno++;

if(linestr.contains(text)){ //或者if(linestr.indexOf(text)>=0){ System.out.println(\行数:\+lineno+\内容:\+linestr); } }

br.close(); fis.close();

}catch(Exception e){ e.printStackTrace(); } } }

运行结果:

请输入要查找的文字: 夏日

行数:4,内容:风掠过夏日午后懒懒的叶子,引得那一抹摇摆的绿色 行数:6,内容:当阳光倾泻,夏日与冬日,瞬时成为了一种幸福。

行数:8,内容:告别了炽烈的夏日气息,留给我们的是久违的清爽和惬意。

3.(25分)编程:

/**

* 编程列出某读者的借书情况 */

//设计图书类Book class Book{

private String name; private String number; private String author;

public Book(String name,String number,String author){ this.name = name; }

public void ShowBook(){

System.out.println(\图书名称:\+name ); } }

//读者类Reader class Reader{

private String name; private String rNumber; private Book[] books; private int top;

public Reader(String name,String rNumber){ this.name = name;

12

this.rNumber = rNumber; books = ; }

public void RentBook(Book book){ books[top] = book; }

public void ShowReader(){

System.out.println(\读者名称:\+name+\,读者证号:\+rNumber); System.out.println(\该读者所借图书:\); for(int i=0; i

//主类

public class Exam3 {

public static void main(String[] args) {

Reader reader = new Reader(\王明\,\);

reader.RentBook(new Book(\编程思想\,\,\李进\)); reader.ShowReader(); } }

运行结果:

读者名称:王明,读者证号:R001 该读者所借图书:

图书名称:Java编程思想,编号:6987-9322-932,作者:李进 图书名称:大学时光,编号:3432-2823-233,作者:徐阳 图书名称:体育杂志,编号:1345-3929-231,作者:周海涛

13

本文来源:https://www.bwwdw.com/article/6q48.html

Top