黑马程序员技术交流社区

标题: java培优分班考试试题 [打印本页]

作者: Priscilla    时间: 2017-4-5 16:36
标题: java培优分班考试试题
]java培优分班考试试题
1.(单选题)下列各项中用来编译编译java文件的命令是:
A.javac
B.java
C.javap
D.javah
E.javadoc

正确答案:A
解析:
2.
(单选题)下列各项中是java中的关键字的是:
A.System
B.Int
C.String
D.main
E.const

正确答案:E
解析:
3.
(单选题)运算符优先级别由高向低排序正确的是:
A.()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;
B.()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;
C.()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;
D.()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;
E.()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;

正确答案:A
解析:
4.
(单选题)对于下列程序:
public class Test {
   public static void main(String[] a){
      int a = 3, b = 4, c = 5;
      boolean d = a > b && c++ > 4;
      System.out.println(c + “,” + d);
   }  
} 的运行结果是:
A.5,true
B.5,false
C.6,true
D.6,false
E.编译错误

正确答案:E
解析:
5.
(单选题)对于代码:
public class Test {
   public static void main(String[] args){
      int i = 5;
      //        10  (i=6) + 3 * 7   +      
      int j = 2*i++ +3*++i;
      System.out.println(j);  
   }
} 的运行结果是:
A.31
B.32
C.33
D.34
E.35

正确答案:A
解析:
6.
(单选题)对于代码:
public class Test {
   public static void main(String[] args){
   int i = 3;   
   if(i < 3);
   System.out.println(“haha”);
   System.out.println(“hehe”);
   }
} 的输出结果是:
A.haha
B.hehe
C.haha hehe
D.hehe haha
E.编译时报错

正确答案:C
解析:
7.
(单选题)对于代码:
public class Super {
  public static void ma(){
     System.out.println(“Super ma”);
  }
  public void mb(){      
     System.out.println(“Super mb”);
  }
  public static void main(String[] args){
     Super s = new Sub();
     s.ma();
     s.mb();
  }
}
class Sub extends Super {
   public static void ma(){      
      System.out.println(“Sub ma”);
   }
   public void mb(){      
      System.out.println(“Sub mb”);
   }
}  的输出结果是:
A.Super ma Super mb
B.Super ma Sub mb
C.Sub ma Super mb
D.Sub ma Sub mb
E.编译出错

正确答案:B
解析:
8.
(单选题)对于代码:
public class Test {
  public static void main(String [] args){
    MyClass mc = new MyClass();
    change(mc);     
    System.out.println(mc.i);
  }
  public static void change(MyClass mc){
    mc.i = 5;  
    mc = new MyClass();
    mc.i = 8;  
  }  
}
class MyClass{
  int i = 3;
} 的运行结果是:
A.0
B.3
C.5
D.8
E.编译错误

正确答案:C
解析:
9.
(单选题)对于代码:
public class Test {
  public static void main(String[] args){
    int i = 5;
    final int j = 10;
    add(i);     
    plus(j);
  }
  public static void add(final int i){
    System.out.println(2 * i);
    //i = i * 2 ;
    //System.out.println(i);
  }
  public static void plus(int i){
    i *= 2;
    System.out.println(i);
  }
} 的结果是:
A.10 10
B.10 20
C.5 10
D.5 20
E.编译错误

正确答案:B
解析:
10.
(单选题)对于下列代码:
public class Test {
  public static void main(String [] args){
    System.out.println(add(3,5));
  }
  static double add(int i,double j){
    return i + j;
  }
  static double add(double i, int j){
    return i + j;
  }
  static double add(double i ,double j){
    return i + j;
  }
  static double add(float i ,int j){     return i + j;
  }
} 的输出结果是:
A.8
B.8.0
C.‘8’
D.‘8.0’
E.编译错误

正确答案:E
解析:
11.
(单选题)下列关于匿名对象的说法正确的是:
A.匿名对象在栈内存中有该对象的引用
B.匿名对象可以当做参数来进行传递
C.匿名对象在声明之后可以重复调用
D.匿名对象在使用完之后会立即移除栈内存
E.匿名对象不能调用方法

正确答案:B
解析:
12.
(单选题)对于代码:
public class Test {
  public static void main(String[] args){
    String s1 = “ab”;
    //
    String s2 = new String(“ab”);

    String s3 = “a” + “b”;
    String s4 = “a”;
    String s5 = “b”;
    String s6 = s4 + s5;
    System.out.println(s1 == s2);
    System.out.println(s1 == s3);
    System.out.println(s2 == s3);
  }
} 的运行结果是:
A.true true true
B.true false true
C.false false false
D.false true false
E.false false true

正确答案:D
解析:
13.
(单选题)
Map<String, Integer> map = new HashMap<String, Integer>(); map.put(“G1”, 50);
map.put(“G2”, 100); map.put(“G3”, 300);
//insert code here
for(Map.Entry<String, Integer> per : set)  
  System.out.println(per.getKey() + “:” + per.getValue());
则在//insert code here处,添加下列哪行代码可以成功编译?
A.Set<Map.Entry<String,Integer>> set = map.entrySet();
B.Set<Map.Entry<String,Integer>> set = map.keySet();
C.Set<String> set = map.entrySet();
D.Set<String> set = map.keySet();
E.以上选项均不正确

正确答案:A
解析:
14.
(单选题)下列关于集合的说法正确的是:
A.集合的顶级接口是Collections
B.List中存储的元素的内存空间一定是连续的
C.Set中的元素是不可重复的
D.可以利用Collections.sort()和Comapable两个工具来对List排序
E.可以利用Iterable对集合进行迭代遍历

正确答案:C
解析:
15.
(单选题)对于代码:
public class Test {
  public static void main(String[] args){
    System.out.print(ma());
  }
  public static int ma() {
    try {
      return 100;
    } finally {
      try {
        return 200;
      } finally {
        return 300;
      }
   //return 400;
   }
  }
} 运行结果是:
A.100
B.200
C.300
D.400
E.编译错误

正确答案:E
解析:
16.
(单选题)Java的核心包中,提供编程应用的基本类的是:
A.java.lang
B.java.util
C.java.io
D.java.awt
E.java.applet

正确答案:A
解析:
17.
(单选题)对于代码:
public class Test {
   public static void main(String[] args){
      System.out.println(m());
   }
   public static int m(){
     int i = 5;
     try {
        return ++i;   1    --- 6
     } catch(Exception e){         
        return ++i;   2
     } finally {
        return ++i;   3   ----7
     }  
   }
} 的运行结果是:
A.5
B.6
C.7
D.8
E.编译错误

正确答案:C
解析:
18.
(单选题)对于代码:
public class ExceptionDemo5 {
   public static void main(String[] args) {              System.out.println(m());
   }
   public static Person m() {
      Person p = new Person();
      try {
        p.setName("Amy");
        p.setAge(15);
        return p;  
     } catch (Exception e) {         
        p.setName("Sam");
        p.setAge(12);
        return p;
     } finally {         
        p.setName("Tom");  
        p.setAge(13);
     }
   }
}
class Person {
    private String name;
    private int age;
    public String getName() {
      return name;
    }
    public void setName(String name) {
      this.name = name;
    }     public int getAge() {
      return age;
    }
   public void setAge(int age) {
      this.age = age;
   }
   @Override
   public String toString() {      
      return name + " " + age ;
   }
} 的运行结果是:
A.Amy 15
B.Sam 12
C.Tom 13
D.编译错误
E.运行错误

正确答案:C
解析:
19.
(单选题)子类A继承了父类B,A a = new A();则①父类B静态代码块②父类B非静态代码块③父类B构造函数④子类A静态代码块⑤子类A非静态代码块⑥子类A的构造函数的执行顺序是:
A.①->②->③->④->⑤->⑥
B.①->④->②->③->⑤->⑥
C.①->②->④->⑤->③->⑥
D.④->⑤->①->②->③->⑥
E.④->⑤->⑥->①->②->③

正确答案:B
解析:
20.
(单选题)对于代码:
try {
   String[] s = null;
   s[0] = “test”;
   System.out.println(s[0]);
} catch(Exception e){
   System.out.println(“Exception”);
} catch(NullPointerException npe){
   System.out.println(“NullPointerException ”);
} catch(ArrayIndexOutOfBoundsException aioobe){    System.out.println(“ArrayIndexOutOfBoundsException ”);
} 编译运行的结果为:
A.test
B.Exception
C.NullPointerException
D.ArrayIndexOutOfBoundsException
E.编译失败

正确答案:E
解析:
21.
(多选题)下列各项中可以作为标识符的是:
A.%T%
B.$T$
C.___
D.system
E.cn.tedu.bigdata

正确答案:BCD
解析:
22.
(多选题)下列说法中正确的是:
A.java中的注释格式一共有两种:单行注释、多行注释
B.单行注释之间可以嵌套
C.多行注释之间不能嵌套
D.文档注释可以嵌套多行注释
E.文档注释中的注释文字可以利用javadoc命令提取成文档

正确答案:BCE
解析:
23.
(多选题)下列各项可以正确赋值的是:
A.int i = ‘a’;
B.float f = -2;
C.byte b = 128;
D.double d = 100d;
E.char c = 97;

正确答案:ABDE
解析:
24.
(多选题)对于下列各项能够正确编译的是:
A.byte b = 5; b = b + 1;
B.byte a = 3,b = 5; byte c = a + b;
C.byte b = 127; b ++;
D.byte b = 127; b += 3;
E.byte b = 5; b += ‘a’;

正确答案:CDE
解析:
25.
(多选题)下列各项可能会出现空指针异常的是:
A.s != null & !s.equals(“”);
B.s != null && !s.equals(“”);
C.s != null | !s.equals(“”);
D.s != null || !s.equals(“”);
E.s == null || s.equals(“”);

正确答案:ACD
解析:
26.
(多选题)下列关于面向对象的特征说法正确的是:
A.封装提高了代码的复用性
B.继承提高了代码的复用性
C.封装提高了代码的安全性
D.继承提高了代码的安全性
E.多态提高了代码的灵活性

正确答案:ABCDE
解析:
27.
(多选题)下列关于static的说法正确的是:
A.static可以修饰方法中的变量
B.静态变量可以通过对象来调用
C.静态方法中可以定义静态变量
D.静态方法可以重写,也可以重载
E.父子类中可以存在同名的静态方法

正确答案:BE
解析:
28.
(多选题)对于代码:
public class Test {
    public int m(int i, int j){
    return i + j;
   }
} 下列各项中是m()的重载的是:
A.public int m(int j, int i){ return i + j; }
B.public int m(int i, int j){ return i + j + 3; }
C.public void m(double i, double j){ return i + j; }
D.public double m(double i ,int j){ return i + j; }
E.public int m(int i){ return 2 * i; }

正确答案:DE
解析:
29.
(多选题)下列关于this的说法正确的是:
A.this代表当前对象的引用
B.可以通过this语句来实现构造函数的调用
C.可以通过this调用私有方法或者私有属性
D.可以在主函数中使用this来调用其他的方法
E.可以使用this关键字来调用静态属性

正确答案:ABCE
解析:
30.
(多选题)在下列代码的//insert code here 处,加上下列哪行代码运行时会抛出java.lang.ClassCastException?
interface foo{}
class Alpha implements foo{}
class Beta extends Alpha{}
pulic class Delta extends Beta{
   public static void main(String[] args){
    Beta x = new Beta();
    //insert code here  
   }
}
A.Alpha a = x;
B.foo f = (Delta) x;
C.foo f = (Alpha) x ;
D.Beta b = (Beta)(Alpha)x;
E.Delta d = (Delta)(Alpha)x

正确答案:BE
解析:
31.
(多选题)对于正则表达式 “^[^abc](.)*”的字符串是:
A.ABC
B.string
C.hdfs
D.alabela
E.beta

正确答案:ABC
解析:
32.
(多选题)对于字符串String s = “2016-11-11 00:11:11”,下列能够将其正确转化为日期对象2016年11月11日0时11分11秒的选项是:
A.Date d = new Date(s);
B.Date date = new SimpleDateFormat(“yyyy/mm/dd hh:MM:ss”).parse();
C.Date date = new SimpleDateFormat(“yyyy-mm-dd hh:MM:ss”).parse();
D.Date date = new SimpleDateFormat(“YYYY-mm-dd hh:MM:ss”).parse();
E.Date date = new SimpleDateFormat(“yyyy-mm-dd HH:MM:ss”).parse();

正确答案:CE
解析:
33.
(多选题)下列方法声明正确的是:
A.final public void m()
B.protected static void m()
C.final abstract void m()
D.private abstract void m()
E.public static abstract void m()

正确答案:AB
解析:
34.
(多选题)下列各项中说法正确的是:
A.ArrayList是线程不安全的
B.LinkedList是线程不安全的
C.Vector是线程不安全的
D.对于语句Vector<int> v = new Vector();是正确的声明方法
E.对于语句List list = new ArrayList<String>();是正确的声明方法

正确答案:ABE
解析:
35.
(多选题)下列各项挣够正确编译运行的是:
A.Integer i = new Integer(“3”);
B.Float f = 3.5;
C.Integet i = new Integer(“0x45”);
D.Boolean b = new Boolean(null);
E.Boolean b = new Boolean(“aaa”);

正确答案:ADE
解析:
36.
(多选题) 下列关于Map的说法正确的是:
A.HashMap中允许键为null
B.Hashtable中允许值为null
C.可以通过entrySet方法获取Map中键值对组成的集合
D.一个Map对象是由多个Map.Entry对象组成
E.HashMap是线程安全的

正确答案:ACD
解析:
37.
(多选题)下列关于Java中文件输入输出的说法错误的是:
A.在Java中,可以通过流来实现文件的读写操作
B.要向文件中写入数据,可以用一个输入流对象
C.字符流在汉字的处理方面比字节流更加的高效
D.可以通过Reader reader = new Reader(“C:\\a.txt”);来创建一个流对象
E.字符流底层也是通过字节流来实现的,因此通过字符流来操作的一定可以通过字节流来操作

正确答案:BD
解析:
38.
(多选题)在下列代码的//insert code here 处,下列哪些选型能够使类Two成功编译? class One { void foo() { /*more code here*/ } } public class Two extends class One { //insert code here }
A.int foo() {}
B.void foo() {}
C.public void foo() {}
D.protected void foo() {}
E.private void foo() {}

正确答案:BCD
解析:
39.
(多选题)下列关于抽象类的说法中,正确的是:
A.抽象类可以被实例化
B.抽象类可以有构造方法
C.抽象类可以有非抽象方法
D.子类继承了抽象类必须实现其全部的抽象方法
E.抽象类可以继承非抽象的类

正确答案:BCDE
解析:
40.
(多选题)下列各项说法错误的是:
A.PrintWriter中的print(Object o)和ObjectOutputStream中的writeObject(Object o)的作用是一样的
B.static修饰的变量可以被序列化
C.反序列化的方法是用的parse()
D.需要用Serializable接口来标识一个类可以被序列化
E.版本号默认是private static final int类型的

正确答案:ABCE
解析:


作者: Priscilla    时间: 2017-4-5 16:38
大家看看这一套题目难度如何?非常考察基础的经典试题!
作者: javaeeheima    时间: 2017-4-6 04:50
牛逼了,我的哥

作者: Priscilla    时间: 2017-4-6 17:49
请问你也是想报javaee吗?
作者: Priscilla    时间: 2017-4-6 17:51
你现在进展到哪了?上面这套题目感觉怎么样?
作者: Steven1314    时间: 2017-4-7 07:47
确实考验基本功
作者: 我要技术分了    时间: 2017-4-9 21:50
全是选择题啊

作者: 0110152575    时间: 2017-4-18 15:05
这个培优分班是什么意思啊?是就业班开学第一天的考试题????
作者: 剑桥子卿卿    时间: 2017-4-18 23:09
这些都是一些很基础的题

作者: zeng1002    时间: 2017-4-20 00:57
看看学习一下





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2