Java期中测试

1.【单选】

关于进程和线程描述错误的是
  • A. 启动Java程序时,JVM会为该进程构建一个线程用于执行程序入口代码,此线程为主线程
  • B. 一个进程可以在没有线程的帮助下执行程序
  • C. 线程间协作较容易,但存在线程安全问题
  • D. 进程间协作困难,一般通过进程间通信实现
我的答案:B

2.【单选】

下列选项中,关于 GridLayout的说法错误的是( )
  • A. GridLayout布局管理器可以设置组件的大小
  • B. 放置在GridLayout布局管理器中的组件将自动占据网格的整个区域
  • C. GridLayout布局管理器中,组件的相对位置不随区域的缩放而改变,但组件的大小会随之改变,组件始终占据网格的整个区域
  • D. GridLayout布局管理器缺点是总是忽略组件的最佳大小,所有组件的宽高都相同
我的答案:A

3.【单选】

下面关于线程同步描述正确的是
  • A. 线程同步是处理两个或多个线程需要访问共享资源的过程
  • B. 线程同步是处理多个线程同时访问同一共享资源的过程
  • C. 线程同步是一个函数能够同时访问许多不同线程的过程
  • D. 线程同步是关于允许很多线程访问任何需要的信息方法
我的答案:A

4.【单选】

有以下程序代码,当输入“s”时,程序的运行结果是()。

public class J_Test{

 public static void main(String args[]){

   try {

    Scanner in=new Scanner(System.in);

    String num=in.nextInt();

    System.out.println("您输入了"+num);

   }catch(Exception e) {

    System.out.print("出错了");

   }finally {

    System.out.print("程序结束");

   }

  }

 }

  • A. 您输入了s程序结束
  • B. 出错了程序结束
  • C. 您输入了s出错了程序结束
  • D. 程序结束
我的答案:B

5.【单选】

对保存在List中的数据进行查找,方法不正确的是()?

  • A. 对元素进行遍历,依次比较
  • B. 对内容在序的List可以进行二分法查找
  • C. 调用indexOf方法查找
  • D. 无论是否有序都可以用二分法查找,比线性查找快很多
我的答案:D

6.【多选】

下面Object类的哪些方法与线程协作有关
  • A. wait
  • B. notify
  • C. notifyAll
  • D. toString
我的答案:A,B,C

7.【多选】

讯飞语音Java库提供了哪些功能

  • A. 语音合成
  • B. 语音听写
  • C. 语法识别
  • D. 以上都不是
我的答案:C,B,A

8.【单选】

下面哪些java语句会导致无限循环?

I、 while (true) i = 0;

II、 while (false) i = 1;

III、 while (!false) i = 0;

  • A. 仅仅III
  • B. I 和III
  • C. 仅仅I
  • D. I, II 和III
我的答案:B

9.【单选】

下面哪个关键字不是用来控制对类成员的访问的?

  • A. public
  • B. protected
  • C. default
  • D. private
我的答案:C

10.【单选】

设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是?

  • A. 3
  • B. 3.5
  • C. 4
  • D. 5
我的答案:A

11.【多选】

关于ArrayList与LinkList区别正确的是?
  • A. ArrayList底层是基于数组数据结构,而LinkList是基于链表数据结构
  • B. 就随机访问而言,ArrayList访问效率高于LinkList
  • C. 就增删元素效率而言,LinkList效率高于ArrayList
  • D. LinkList以及ArrayList均是线程安全的
我的答案:A,B,C

12.【多选】

下面哪些是Swing的界面组件
  • A. JButton
  • B. JLabel
  • C. JRadioButton
  • D. JComboBox
我的答案:A,B,C,D

13.【单选】

已知:int [] a=new int[100]; 在下列给出的数组元素中,非法的是(   )

  • A. a[0]
  • B. a[10]
  • C. a[100]
  • D. a[20]
我的答案:C

14.【单选】

java有8种基本类型,请问byte、int、long、char、float、double、boolean各占多少个字节( )
  • A. 1 2 8 2 4 8 1
  • B. 1 4 8 2 4 8 1
  • C. 1 4 4 2 4 4 2
  • D. 1 4 4 2 4 8 2
我的答案:B

15.【单选】

判断下面哪个结论是正确的?

public void mb_method(boolean a,boolean b){

   if(a)

     System.out.println("A");

   else if( a && b)

     System.out.println("A&&B");

   else{

      if( !b ) System.out.println("notB");

      else     System.out.println("ELSE");

   }

}

  • A. 语句“mb_method(true,true);”,输出“A&&B”
  • B. 语句“mb_method(true,false);”,输出“notB”
  • C. 语句“mb_method(false,true);”,输出“ELSE”
  • D. 语句“mb_method(false,false);”,输出“ELSE”
我的答案:C

16.【单选】

重写JPanel类的哪个方法可以进行图形绘制

  • A. equals
  • B. paintComponent
  • C. toString
  • D. hashcode
我的答案:B

17.【多选】

分别已经定义好两个类PrintNum和PrintNumThread:

class PrintNum implements Runnable{

private int lastNum;

public PrintNum(int n) {

lastNum = n;

}

@Override

public void run() {

for(int i = 1; i <= lastNum; i++) {

System.out.println(i);

}

}

}

class PrintNumThread extends Thread{

private int lastNum;

public PrintNumThread(int n) {

lastNum = n;

}

@Override

public void run() {

for(int i = 1; i <= lastNum; i++) {

System.out.println(i);

}

}

}

在main函数中已经定义了下面的两个变量:

public class TaskThreadDemo {

public static void main(String[] args) {

Runnable print1000 = new PrintNum(1000);

PrintNumThread printNumThread = new PrintNumThread(1000);

// 在这里添加选项中的代码

}

}

下面试图补充main函数中余下的代码,使得可以在主线程之外的线程打印从1到1000这1千个整数,哪些选项中的代码可以完成这个任务?

  • A. Thread t = new Thread(print1000); t.start();
  • B. print1000.run();
  • C. printNumThread.start();
  • D. printNumThread.run();
我的答案:A,C

18.【单选】

下面程序的输出结果是什么?

class J_Test{

 public static void main(String args[]){

  int i=99;

  mb_operate(i);

  System.out.println(i+100);

 }

 static void mb_operate(int i) { i+=100; }

}

  • A. 99
  • B. 199
  • C. 299
  • D. 99100
我的答案:B

19.【单选】

下面哪一个函数不是public void aMethod(int a,float b){……}的重载函数?

  • A. public void aMethod(){……}
  • B. public int aMethod(int m,float n){……}
  • C. public int aMethod(int m){……}
  • D. public void aMethod(float m,float n){……}
我的答案:B

20.【多选】

下面哪些类属于Swing的布局管理器
  • A. FlowLayout
  • B. GridLayout
  • C. BorderLayout
  • D. JPane
我的答案:C,B,A

21.【多选】

下列哪些集合是线程安全的?
  • A. Hashmap
  • B. HashTable
  • C. LinkList
  • D. ArrayList
我的答案:B,C

22.【多选】

下列关于布局管理器说法正确的是?
  • A. GridLayout布局中,若组件数量比网格数多,系统会自动添加列数
  • B. FlowLayout布局中,一行能容纳的组件数量随容器的宽度而变化
  • C. BorderLayout布局将整个页面分为East、West、South、North四个区域
  • D. BorderLayout布局若某个区域没有分配组件则其他组件可以占据它的空间
我的答案:A,B,D

23.【多选】

Java运行平台包括三个版本,请选择正确的三项:(    )

  • A. Java EE
  • B. Java ME
  • C. Java SE
  • D. Java EJ
我的答案:A,B,C

24.【单选】

对抽象类的描述正确的是( )
  • A. 抽象类的方法都是抽象方法
  • B. 一个类可以继承多个抽象类
  • C. 抽象类不能有构造方法
  • D. 抽象类不能被实例化
我的答案:D

25.【多选】

以下哪几个是java中的集合类型( )
  • A. Queue
  • B. Set
  • C. String
  • D. List
我的答案:A,B,D

26.【单选】

在Java的异常处理模块中,能单独和finally语句一起使用的块是()

  • A. try
  • B. catch
  • C. throw
  • D. throws
我的答案:A

27.【单选】

只需要接收按钮按下的消息并作出响应,那么以下步骤最合适的是?
  • A. 定义类实现ActionListener接口,创建该类的对象,将该对象注册到按钮中
  • B. 定义类实现MouseListener接口,创建该类的对象,将该对象注册到按钮中
  • C. 定义类实现KeyListener接口,创建该类的对象,将该对象注册到按钮中
  • D. 定义类实现WindowListener接口,创建该类的对象,将该对象注册到按钮中
我的答案:A

28.【单选】

关于代码
class Value{
    public int i=15;
}
public class Test{
    public static void main(String argv[]){
        Test t=new Test( );
        t.first( );
    }
 
public void first( ){
    int i=5;
    Value v=new Value( );
    v.i=25;
    second(v,i);
    System.out.println(v.i);
}
 
public void second(Value v,int i){
    i = 0;
    v.i = 20;
    Value val = new Value( );
    v = val;
    System.out.println(v.i+" "+i);
   }
}的输出结果是( )
  • A. 15 0 20
  • B. 15 0 15
  • C. 20 0 20
  • D. 0 15 20
我的答案:A

29.【单选】

如果需要控件重新绘制,最常规做法是调用该控件对象的哪个方法
  • A. setVisible方法
  • B. paintComponent方法
  • C. repaint方法
  • D. notify方法
我的答案:C

30.【单选】

下面哪个库在Java标准库之外提供了音频和视频等多媒体处理功能

  • A. JMF
  • B. Spring
  • C. Struts
  • D. MyBatis
我的答案:A

31.【单选】

下面哪一项在java中是非法的标识符?

  • A. $user
  • B. point
  • C. You&me
  • D. _deadline
我的答案:C

32.【多选】

下列Thread的成员函数中哪些具有让线程让出当前cpu时间的效果
  • A. join
  • B. sleep
  • C. yield
  • D. interrupt
我的答案:B,C

33.【单选】

针对下面的代码块,哪个equal为true( )
String s1 = "AIIT" ;
String s2 = "AIIT" ;
String s3 =new String (s1);
  • A. s1==s2
  • B. s1=s2
  • C. s2==s3
  • D. 以上都不正确
我的答案:A

34.【单选】

下列关于计算机系统和Java编程语言的说法,正确的是( )
  • A. 计算机是由硬件、操作系统和软件组成,操作系统是缺一不可的组成部分
  • B. Java语言编写的程序源代码可以不需要编译直接在硬件上运行
  • C. 程序中书写注释不会影响程序的执行,可以在必要的地方多写一些注释
  • D. Java集成开发环境(IDE),如eclipse是开发Java语言必须的软件工具
我的答案:C

35.【单选】

JMenuBar、JMenu、JMenuItem的包含关系是
  • A. JMenuBar包含JMenuItem,JMenuItem包含JMenu
  • B. JMenuBar包含JMenu,JMenu包含JMenuItem
  • C. JMenu包含JMenuBar,JMenuBar包含JMenuItem
  • D. JMenu包含JMenuItem,JMenuItem包含JMenuBar
我的答案:B

36.【多选】

可以通过Swing的Graphics对象绘制下面哪些?
  • A. 矩形
  • B. 椭圆
  • C. 直线
  • D. 字符串
我的答案:A,B,C,D

37.【单选】

下列整型数据类型中,需要内存空间最少的是?

  • A. short
  • B. long
  • C. int
  • D. byte
我的答案:D

38.【单选】

下面哪个类可以作为窗口程序的主窗口类
  • A. JFrame
  • B. JPane
  • C. BorderLayout
  • D. JTextField
我的答案:A

39.【单选】

程序读入用户输入的一个值,要求创建一个自定义的异常,如果输入值大于10,使用throw语句显式地引发异常,异常输出信息为"something's wrong",语句为()

  • A. if(i>10) throw new Exception("something's wrong");
  • B. if(i>10) throw Exception e("something's wrong");
  • C. if(i>10) throw new Exception e("something's wrong"
  • D. if(i>10) throw Exception("something's wrong");
我的答案:A

40.【多选】

下列说法正确的是
  • A. 可以从JFrame派生一个类
  • B. 可以给JPane添加一个JFrame
  • C. 可以给JFrame添加一个JPane
  • D. JFrame需要设置可见才会显示
我的答案:A,C,D

41.【单选】

关于集合框架,说法不正确的是()

  • A. 与数组不同,集合框架是容量可变的容器
  • B. 集合框架不能保存基本类型,但是可以将它们转换为包装类后保存
  • C. 集合框架中的List、Set、Map接口都是Collection接口的子接口
  • D. 集合类除了提供可变容量的存储外,还提供了对数据的算法
我的答案:C

42.【单选】

Java语言是1995年由Sun公司第一次正式公布的,(  )被誉为Java之父。

  • A. Bill Joe
  • B. Bruce Eckel
  • C. Anders Hejlsberg
  • D. James Gosling
我的答案:D

43.【多选】

可以使用JOptionPane类的哪些方法显示对话框
  • A. showConfirmDialog方法显示确认对话框
  • B. showMessageDialog方法显示消息对话框
  • C. showInputDialog方法显示输入对话框
  • D. showOptionDialog方法显示选项对话框
我的答案:A,C,D,B

44.【单选】

为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为?

  • A. static void method( )
  • B. public void method( )
  • C. final void method( )
  • D. abstract void method( )
我的答案:A

45.【单选】

以下对自定义异常描述正确的是()

  • A. 自定义异常必须继承Exception
  • B. 自定义异常可以继承自Error
  • C. 自定义异常过程较复杂,避免使用
  • D. 程序中已经提供了丰富的异常类,使用自定义异常没有意义
我的答案:A

46.【单选】

下列关于变量的叙述哪个是错的?

  • A. 实例变量是类的成员变量
  • B. 在方法中定义的局部变量在该方法被执行时创建
  • C. 实例变量用关键字static声明
  • D. 局部变量在使用前必须被初始化
我的答案:C

47.【单选】

Java 语言中创建一个对象使用的关键字是( )

  • A. class
  • B. interface
  • C. new
  • D. create
我的答案:C

48.【单选】

作为Java应用程序入口的main方法,其声明格式可以是( )。

  • A. public static void main(String args[])
  • B. public static int main(String args[])
  • C. public void main(String args[])
  • D. public int main(String args[])
我的答案:A

49.【多选】

如下哪些是 java 中有效的关键字( )
  • A. native
  • B. NULL
  • C. false
  • D. this
我的答案:A,D

50.【单选】

Swing图形界面中,每个组件有自己的相对坐标系,原点(0, 0)在组件的左上角,x坐标和y坐标的方向分别是
  • A. x坐标向右增加;y坐标向上增加
  • B. x坐标向右增加;y坐标向下增加
  • C. x坐标向左增加;y坐标向上增加
  • D. x坐标向左增加;y坐标向下增加
我的答案:B

51.【单选】

下列关于构造方法叙述错误的是?
  • A. 构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样
  • B. 构造方法不要写返回值类型,连void都不写
  • C. 构造方法是唯一确定的,不能进行重载操作
  • D. 构造方法不能被static、final等关键字修饰,且不能有return返回语句
我的答案:C

52.【单选】

Thread类中的start()方法与run()方法叙述正确的是( )
  • A. 调用start方法方可启动线程,而run方法只是thread的一个普通方法调用,还是在主线程里执行
  • B. 调用start()后,线程会被放到等待队列,等待CPU调度,此时处于阻塞状态
  • C. 直接run()方法可以使程序不按顺序执行
  • D. run方法的访问权限可以不是public
我的答案:A

53.【多选】

小华创建一个按钮
JButton btn1=new JButton("我觉得Java很简单");
但是点击后没有反应,可能是以下哪几种原因造成( )
  • A. 没有设置监听器Actionlistener
  • B. 定义的Button没有加入控制面板中
  • C. Jbutton中定义中添加了“我觉得Java很简单”字符串
  • D. btn1调用了setEnabled(false)
我的答案:A,B,D

54.【单选】

有一个名为myList的ArrayList实例,取得其最后一个元素的方法是()

  • A. myList.get();
  • B. myList.get(myList.last());
  • C. myList.get(myList.size());
  • D. myList.get(myList.size()-1);
我的答案:D

55.【单选】

编译一个定义了两个类和三个方法的Java源码文件,总共会产生(  )个字节码文件,这些字节码文件的扩展名是什么?

  • A. 5个字节码文件,以“.java”为扩展名
  • B. 2个字节码文件,以“.java”为扩展名
  • C. 5个字节码文件,以“.class”为扩展名
  • D. 2个字节码文件,以“.class”为扩展名
我的答案:D

56.【单选】

JPanel的默认布局管理器是
  • A. BorderLayout
  • B. GridLayout
  • C. FlowLayout
  • D. null
我的答案:C

57.【单选】

针对下面的程序,哪些结论是正确的?

public class J_Test{

 public static void main(String args[]){

  byte b=1;

  while(++b>0)

    ;

  System.out.println("Loop?";);

 }

}

  • A. 运行程序将会进入死循环,从而导致什么都无法输出
  • B. 每运行一次程序,则输出一次“Loop?”并退出
  • C. 每运行一次程序,会输出多次“Loop?”
  • D. 程序中含有编译错误
我的答案:D

58.【单选】

下列哪个类常用来作为组件的“容器”,即将若干个元素以某种布局来放置到窗口中
  • A. JPane
  • B. JFrame
  • C. JButton
  • D. Color
我的答案:A

59.【单选】

关于下面的程序,哪些结论是正确的?

class J_Super{

 public int m_dataSuper;

 public J_Super(int d){ m_dataSuper=d; }

}

public class J_Test extends J_Super{

 public int m_data;

 public J_Test(int ds,int d){

 m_data=d;

 super(ds);

 }

 public static void main(String args[]){

 J_Test s=new J_Test(2,3);

 System.out.println(s.m_data+s.m_dataSuper);

 }

}

  • A. 程序可以通过编译并正常运行,结果输出“5”
  • B. 程序可以通过编译并正常运行,结果输出“23”
  • C. 程序无法通过编译,没有输出
  • D. 程序可以通过编译,但无法正常运行
我的答案:C

60.【单选】

下面程序的输出是什么?

class J_Test{

 int m_i=2;

 String m_s=null;

 J_Test(){ m_i=3; m_s="constructor"; }

 public static void main(String args[]){

   J_Test app=new J_Test();

   System.out.println(app.m_i+app.m_s);

 }

}

  • A. 3null
  • B. 3constructor
  • C. 2constructor
  • D. 2null
我的答案:B
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangkay88

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值