java应试题2【含答案】

本文提供了一组关于Java多线程、文件操作及程序设计的试题解析,包括线程中断异常、FileOutputStream使用、集合接口与实现、线程状态以及程序设计案例分析。试题涵盖线程中断抛出的InterruptedException、File类的mkdirs方法、文件追加写入、集合接口基础和线程生命周期等知识点。
摘要由CSDN通过智能技术生成

一、单选:

1、当某一线程正处于休眠状态,而另一个线程用 Thread 类中的 interrupt() 方法中断它时,抛出的异常类型是(  )。

A) IOException             B) RuntimeException

C) InterruptedException         D) ClassNotFoundException

2、下面的程序段的功能是( )。

File file1=new File("d:\\xxx\\yyy\\zzz");

file1.mkdirs();

A)在当前目录下生成子目录:\xxx\yyy\zzz     B)生成目录: e:\xxx\yyy\zzz

C)在当前目录下生成文件xxx.yyy.zzz         D)以上说法都不对

3、关于下面的程序Test.java说法正确的是(  )。

public class Test {

    String x="1";       

    int y;

    public static void main(String args[]) {                  

        int z=2;              

        System.out.println(x+y+z);

    }  

}

A)3           B)102        C) 12          D)程序有编译错误

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

import java.io.*;

public class Test {

    public static void main(String args[]) {

        try {

            String s="ABCDE";

            byte b[]=s.getBytes();

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

            file.write(b);            

            file.close();

        }

        catch(IOException e) {

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

        }

    }

}

  1. ABCABC   B) ABCDE     C)Test    D) ABCDE ABCDE ABCDE

【主要考查的是】FileOutputStream的构造方法以及它的write方法   

new FileOutputStream("test.txt", true); 第二个参数表示的是是否创建不存在的文件,它的write方法是向文件中写入数据,在重复写入会覆盖前面的数据

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

A)列表(List)、集合(Set)和映射(Map)都是java.util包中的接口。

B)List接口是可以包含重复元素的有序集合。

C)Set接口是不包含重复元素的集合。

D)Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。

【考查了集合所在的包,以及set与list区别,map中的键不能重复,但同一个键下对应的值可以重复】

二、多选:

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

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

三、程序

1、写出下面的程序编译、运行后的结果(6分)。

public class Test{

     public static void main(String args[]) {

         new Student("Tom", 'm', 90, 88);

         new Student("Jack", 'm', 66, 89);

         new Student("Mary", 'f', 76, 86);

         System.out.println("name\tsex\tchinese\tenglish");

         Student.print();

     }

 }

 class Student {

     protected  String   name;

     protected  char     sex;

     protected  int      chinese;

     protected  int      english;

     protected  Student  next;

     static Student list;

     

     Student (String name, char sex, int chinese, int english)   {

         this.name=name;

         this.sex=sex;

         this.chinese=chinese;

         this.english=english;

         this.next=list;

         list=this;

     }

     static void print() {

         Student friend=list;

         if (friend==null)

             System.out.println("The list is empty.");

         else {

             do{

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

                 friend=friend.next;

             }while(friend!=null);

         }

     }

     public String toString()  {

         return new String(name+"\t"+sex+"\t"+chinese+"\t"+english);

     }

 }

答案:

一、1.C  2.D  3.D  4.B  5D

二、1.ABCD

三、

name    sex     chinese  english

Mary    f       76      86

Jack     m      66      89

Tom     m      90      88

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值