现在的位置: 首页 > 综合 > 正文

《JAVA程序设计》期末考试试题 (四)

2017年11月17日 ⁄ 综合 ⁄ 共 7567字 ⁄ 字号 评论关闭

JAVA程序设计》期末考试试题 (四)

 

一、      单选题

1、下列程序段执行后的结果是(   )。

String s = new String("abcdefg");

for (int i=0; i<s.length(); i+=2){

   System.out.print(s.charAt(i));

A) aceg   B) ACEG   C) abcdefg    D) abcd                                               

2、有整型数组:int[]  x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是(   ).

A) 2   7  8   12   35                       B) 12  35 8    7    2    

C) 35 12  8    7   2                       D) 8  7   12   35   2

3、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是(  )。

File f = new File(填代码处);

file =new FileReader(f);

in=new BufferedReader(file);

A) "./1.txt"    B) "../my/1.txt"    C) "c:\\my\\1.txt"        D) "c:\ my\1.txt"          

4、应用程序的main方法中有以下语句,则输出的结果是 (  )。

           String s1=new String("abc");

       String  s2=new String("abc");

       boolean b1=s1.equals(s2);

       boolean b2=(s1==s2);           

       System.out.print(b1+"  "+b2);           

A)true  false       B) false  true      C) true true    D)false  false                            

5、应用程序的main方法中有以下语句,则输出的结果是 (   )。

              Hashtable hashtable=new Hashtable();

       hashtable.put("x","12345");

       hashtable.put("y","67890");

       hashtable.put("a","abcde");

               System.out.println(hashtable.get("a"));      

 A) a   B) abcde   C) 12345   D) 67890                                                                                   

6、下面语句的功能是(  )。

       RandomAccessFile  raf2 = newRandomAccessFile("1.txt","rw" );

A)打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。               

B)打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。

C)打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。

D) 以上说法都不对。          

7、应用程序的main方法中有以下语句,则输出的结果是 (  )。

              String   s="12345#aaa#bbb#67890";

              int     n=s.indexOf("#");

          int    k=s.indexOf("#",n+1);

              int     m=s.indexOf("#",k+1);

              String  s2=s.substring(m+1);

              System.out.println(s2);     

A) 123456     B) 67890     C) aaa      D) bbb                                                 

8、下面程序段执行后b的值是(   )。

       Integerinteg =new Integer(9);

   boolean b = integ  instanceof  Object;

A) 9    B) true     C)1     D) false

9、应用程序Test.java的源程序如下,在命令行键入:

              java Test  aaa bb  c

回车后输出的结果是 (   )。

public class Test {

    publicstatic void main(String args[]) {

        int  k1=args.length;

        int  k2=args[1].length();        

       System.out.print(k1+"   "+k2);

    } 

}

A) 3  2      B)1  2     C) 1  3    D)3  3                                                

10、应用程序的main方法中有以下语句,则输出的结果是 (  )。

               int b[][]={{1}, {2,2}, {2,2,2}};

       int sum=0;

       for(int i=0;i<b.length;i++) {           

           for(int j=0;j<b[i].length;j++) {

                sum*=b[i][j];

           }           

       }

       System.out.println("sum="+sum);

A) 32     B)11     C) 2     D) 3                                                                                                     

11、应用程序的main方法中有以下语句,则执行后输出的结果是 (  )。

int[] x={125,21,5,168,98};

int  max=x[0];

for(int i=1;i<x.length;i++){

      if(x[i]>max)

             max =x[i];

}

System.out.println(max);

A) 125    B) 5     C) 98        D) 168                                                

12、程序Test.java编译运行后输出的结果是(   )。

public class Test {

    Strings1="java"; 

    publicstatic void main(String args[]) {                 

        intz=2;             

        Testt=new Test();             

       System.out.println(t.s1+z);

    } 

A)java2     B)2     C)没有输出结果        D)java                                   

13、应用程序的main方法中有以下语句,则输出的结果是 (   )。

              Strings1="0.5", s2="12";

      double x=Double.parseDouble(s1);

      int    y=Integer.parseInt(s2);

             System.out.println(x+y);

A) 12.5         B) 120.5        C)12           D) “12.5”                                                   

14、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt 的内容是(  )。

import java.io.*;

public class Test {

      publicstatic void main(String args[]) {

             try{

                    Strings="ABCDE";

                    byteb[]=s.getBytes();

                    FileOutputStreamfile=new FileOutputStream("test.txt",true);

                    file.write(b);           

                    file.close();

             }

             catch(IOExceptione) {

                    System.out.println(e.toString());

             }

      }

}

A) ABCABC  B) ABCDE     C) Test   D) ABCDE ABCDE ABCDE          

15、下面那些方法不是接口Collection中已声明的方法(  )?

A)添加元素的add(Object obj) 方法

B)删除元素的remove(Object obj)方法

C)得到元素个数的length()方法

D)返回迭代器的iterator()方法,迭代器用于元素遍历

                        

二、多选题

1、下面main()方法的定义哪些是正确的(  )?

A) publicstatic void main(String args[]) {}  B) publicstatic void main(String[]) {}

C) publicstatic void main(String[] args) {}  D)publicstatic void main(String [] x) {}                     

                                          

2、线程对象的生命周期中,通常经历下面哪些状态(     )。

A)新建      B)运行     C)就绪     D)死亡 

                                             

3、下面说法正确的是(   )。

A) final可修饰类、属性(变量)、方法。          

B) abstract可修饰类、方法。

C) 抽象方法只有方法头,没有方法体。           

D) 关键字final和abstract不能同时使用。

 

4、下面关于java中输入/输出流的说法正确的是(  )。

A) FileInputStream与FileOutputStream类用读、写字节流。      

B) Reader与Writer类用来读、写字符流。

C) RandomAccessFile既可以用来读文件,也可以用来写文件。   

D) File类用来处理与文件相关的操作。

 

5、下面说法正确的是(  )。

A)如果某公共接口被声明在一个源文件中,则接口必须与源文件具有相同名字。

B)如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。

C)如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。

D)接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。

                              

6、下面关于Java中异常处理try块的说法正确的是(   )?

A) try块后通常应有一个catch 块,用来处理try块中抛出的异常。  

B) catch 块后必须有finally块。

C)可能抛出异常的方法调用应放在try块中。                     

D)对抛出的异常的处理必须放在try块中

 

7、下面关于进程、线程的说法正确的是(    )。

A)进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。

B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。

C)Java多线程的运行与平台相关。

D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。

 

8、关于BufferedReader类的readLine()方法,以下说法正确的是()。

A)方法readLine()每次读取一行数据。                  

B)方法readLine()每次读取一个字节。

C)该方法可能抛出IOException异常,调用该方法时通常应将它放到try块中,并通过catch块处理异常。

D)如果读到流的末尾,该方法返回的结果为null。

三、程序阅读题

1、阅读下面的程序,回答问题(u问3分,v问3分,共6分)。

        import java.awt.*;

   import javax.swing.*;

   public class T extends JFrame {

       public T ( ) {

           super("GridLayout");

           Container con=this.getContentPane();

           con.setLayout(new GridLayout(2,3));

           con.add(new JButton("a")); 

           con.add(new JButton("b"));

           con.add(new JButton("c")); 

           con.add(new JButton("d"));

           con.add(new JButton("e"));

           con.add(new JButton("f"));

           setSize(200, 80);

           setVisible(true);

       }

       public static void main(String args[]) {

          new T();       

       }

       }

u画图表示程序运行后的图形界面。

v如果程序通过实现某个接口处理按钮的动作事件,则该接口名为何?接口中的方法头声明如何?

答案:

u

v接口名:ActionListener

  接口中的方法:publicvoid actionPerformed(ActionEvent e)

 

2、阅读下面的程序,回答问题(u问3分,v问3分,共6分)。。

import  java.util.*;

public classT   {   

        public static void main(Stringargs[])  {

            Set set = new TreeSet();

            set.add(new Integer(10));       

            set.add(new Integer(5));  

            set.add(new Integer(15));

            set.add(new Integer(5));  

            set.add(new Integer(10));

            System.out.println("size =" + set.size());

            Iterator   it=set.iterator();

            while(it.hasNext()){

               System.out.print(it.next()+"  ");

            }

        }   

}

u程序运行后输出的结果如何?

v说明java中的集合(Set接口)和映射(Map接口)的主要区别。

答案:

u

size = 3

5   10  15

vSet接口是不包含重复元素的集合;Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。

 

3、阅读下面的程序,并回答问题(u问3分,v问3分,共6分)。

import java.io.*;

public class Test {

   public static void main(String args[]) throws IOException {

        BufferedReader buf=new BufferedReader(

                    newInputStreamReader(System.in));       

        while(true) {

            String  str=buf.readLine();

            if(str.equals("quit"))

                break;

            int x=Integer.parseInt(str);

            System.out.println(x*x);

        }

   } 

}

编译运行上面的程序:

u从键盘输入5,回车后输出的结果如何?

v从键盘输入quit,回车后程序执行情况如何?

答案:

u25

v终止应用程序的运行。

抱歉!评论已关闭.