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