1.如果一次从文件中读出一行数据,可使用的方法是( B )。
A.FileReader的readLine()方法
B.BufferedReader的readLine()方法
C.FileReader的read()方法
D.BufferedReader的read()方法
2.设置异或绘图模式的方法是( A )。
A.setXORMode()
B.setPaintMode()
C.XORMode()
D.PaintMode()
解析:
设置绘图模式的方法有:
3.以下代码运行输出是( C )。
public class Person {
private String name = "Person" ;
int age = 0 ;
}
public class Child extends Person{
public String grade ;
public static void main(String[] args) {
Person p = new Child() ;
System.out.println(p.name) ;
}
}
A.输出:Person
B.没有输出
C.编译出错
D.运行出错
4.以下( D )添加到ComputerBook中不会出错。
class Book{
protected int getPrice() {
return 30 ;
}
}
public class ComputerBook extends Book{
}
A.protected float getPrice(){}
B.protected int getPrice(int page){}
C.int getPrice(){}
D.public int getPrice(){return 10;}
5.以下代码,描述正确的有( A )。
interface IDemo{
public static final String name ; 1
void print() ; 2
public void getInfo() ; 3
}
abstract class Person implements IDemo{ 4
public void print() {} ;
}
A.第1行错误,没有给变量赋值
B.第2行错误,方法没有修饰符
C.第4行错误,没有实现接口的全部方法
D.第3行错误,没有方法的实现
6.哪个关键字可以对对象加互斥锁( B )。
A.transient
B.synchronized
C.serialize
D.static
7.以下代码段执行后的输出结果为( A )。
int x = -3 ;
int y = -10 ;
System.out.println( y%x ) ;
A.-1
B.2
C.1
D.3
8.设有下面两个赋值语句:
a = Integer.parseInt("12");
b = Integer.valueOf("12").intValue();
下述说法正确的是( D )。
A.a是整数类型变量,b是整数类对象
B.a是整数类对象,b是整数类型变量
C.a和b都是整数类对象并且值相等
D.a和b都是整数类型变量并且值相等
9.以下有关构造方法的说法,正确的是( A )。
A.一个类的构造方法可以有多个
B.构造方法在类的定义时被调用
C.构造方法只能由对象中的其他方法调用
D.构造方法可以与类同名,也可以和类名不同
10.数组x定义:String x[][] = new String[3][2];x[0][0] = "abc",x[0][1] = "12345";则x.length的值为(),x[0][1].length的值为( D )。
A.2;4
B.2;5
C.3;4
D.3;5
11.有以下方法的定义,请选择该方法的返回类型( D )。
ReturnType method(byte x,double y) {
return (short)x/y*2;
}
A.byte
B.short
C.int
D.double
12.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( B )。
A.ArrayList myList = new Object()
B.List myList = new ArrayList()
C.ArrayList myList = new List()
D.List myList = new List()
13.给定如下Java代码,编译运行的结果是( B )。
import java.util.*;
public class Test{
public String grade ;
public static void main(String[] args) {
LinkedList list = new LinkedList() ;
list.add("A") ;
list.add(2,"B") ;
String s = (String)list.get(0) ;
System.out.println(s) ;
}
}
A.编译时发生错误
B.运行时引发异常
C.正确运行,输出:A
D.正确运行,输出:B
14.关于Map和List,下面说法正确的是( D )。
A.Map继承List
B.List中可以保存Map或List
C.Map和List只能保存从数据库取出的数据
D.Map的value可以是List或Map
15.编译并运行以下程序,以下描述哪个选项是正确的( D )。
public class A {
protected boolean equals() {
return super.equals() ;
}
}
A.编译通过运行无异常
B.编译通过但运行时出错
C.行2出错,不能成功编译
D.不能成功编译,行3出错
16.有语句String s = "hello world";,以下操作哪个是不合法的?( B )
A.int i = s.length() ;
B.s>>>= 3 ;
C.String ts = s.trim() ;
D.String t = s+"!";
17.在使用interface声明一个接口时,只可以使用( D )修饰符修饰接口。
A.private
B.protected
C.private protected
D.public
18.有程序片段如下,以下哪个表示式的结果为true?( B )。
Float s = new Float(0.1f);
Float t = new Float(0.1f);
Double u = new Double(0.1);
A.s==t
B.s.equals(t)
C.u.equals(s)
D.t.equals(u)
19.当编译和运行下面的代码会出现什么情况?( D )
public class Sandys {
private int court ;
public static void main(String args[]) {
Sandys p = new Sandys(99) ;
System.out.println(p.court);
}
Sandys(int balleout){
court = balleout ;
}
}
A.编译错误,变量court被定义为private
B.编译错误,System.out调用的s没有被初始化
C.可以编译和运行,没有输出结果
D.可以编译和运行,输出结果为99
20.构造方法何时被调用( B )。
A.类定义时
B.创建对象时
C.调用对象方法时
D.使用对象的变量时
21.写出以下程序的运行结果()
import java.util.*;
public class Person {
public static void main(String args[]) {
String []s ;
s = new String[2] ;
s[0] = new String("str1") ;
s[1] = new String("str2") ;
Vector v = new Vector() ;
for(int i = 0 ; i < 2 ; i++)
v.addElement(s[i]);
v.insertElementAt(new String("str0"), 0);
Enumeration e = v.elements() ;
while(e.hasMoreElements())
System.out.print(e.nextElement() + "") ;
System.out.println() ;
v.removeElement("str1") ;
for(int i = 0 ; i < v.size() ; i++)
System.out.print(v.elementAt(i) + "");
System.out.println() ;
}
}
22.给出以下代码:
class Test{
private int m ;
public static void fun() {
//some code...
}
}
如何使成员变量m被函数fun( C )直接访问?
A.将private int m 改为 protected int m
B.将private int m 改为 public int m
C.将private int m 改为 static int m
D.将private int m 改为 int m
23.下列哪些语句关于Java内存回收的说明是正确的?( B )
A.程序员必须创建一个线程来释放内存
B.内存回收程序负责释放无用程序
C.内存回收程序允许程序员直接释放内存
D.内存回收程序可以在指定的时间释放内存
24.以下声明合法的是( B )。
A.default String s ;
B.public final static native int w() ;
C.abstract double d ;
D.Abstract final double hyperbolicCosine() ;
25.以下对封装的描述正确的是( D )。
A.只能对一个类中的方法进行封装,不能对属性进行封装
B.如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用
C.封装的意义不大,因此在编码时尽量不要使用
D.封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性
26.以下描述错误的有( C )。
A.abstract可以修饰类、接口、方法
B.abstract修饰的类主要用于被继承
C.abstract可以修饰变量
D.abstract修饰的类,其子类也可以是abstract修饰的
27.以下描述不正确的是( D )。
A.try块不可以省略
B.可以使用多重catch块
C.finally块可以省略
D.catch块和finally块可以同时省略
28.以下程序运行结果是( D )。
public class Test{
public int div(int a,int b) {
try {
return a/b ;
} catch (Exception e) {
System.out.println("Exception") ;
} catch (NullPointerException e) {
System.out.println("ArithmeticException") ;
} catch (ArithmeticExceptione) {
System.out.println("ArithmeticException") ;
} finally {
System.out.println("finally");
}
return 0 ;
}
public static void main(String[] args) {
Test demo = new Child() ;
System.out.println("商是:" + demo.div(9, 0)) ;
}
}
A.Exception finally 商是:0
B.ArithmeticException finally 商是:0
C.finally 商是:0
D.编译错误
29.下列选项中关于Java中super关键字的说法正确的是( A )。
A.super关键字是在子类对象内部指代其父类对象的引用
B.super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
C.子类可以通过super关键字调用父类的方法
D.子类可以通过super关键字调用父类的属性
30.以下程序运行结果是( A )。
public class Father {
private String name = "father" ;
public String getName() {
return name ;
}
}
public class Test extends Father{
private String neme = "test" ;
public static void main(String args[]) {
Test test = new Test() ;
System.out.println(test.getName()) ;
}
}
A.father
B.test
C.编译出错
D.运行出错,无输出