Java习题库

1-1
一个类可以实现多个接口。 (1分)
T

1-2
一个try语句可以有多个catch语句与之对应。 (1分)
T

1-3
异常也是一个对象。 (1分)
T

1-4
抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。。 (1分)
F

1-5
Object是Java中所有类的共同父类。 (1分)
T

1-6
语句 System.out.println(4+8+“Hello,world!”); 的输出结果是12Hello,world!。 (1分)
T

(0 分)
1-7
JPanel的缺省布局管理器是FlowLayout。 (1分)
T

1-8
Java中数组的元素只能是简单数据类型。 (1分)
T F

1-9
如果Java源文件中包含了多个类,那么用编译器javac编译完源文件后将生成多个扩展名为.class的文件。 (1分)
T

1-10
一个数组可以存放许多不同类型的数值。 (1分)
F

2-1
Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B ) (2分)
A. 安全性
B. 多线性
C. 跨平台
D. 可移植

(2 分)
2-2
编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B)。(2分)
A. .byte
B. .class
C. .html
D. .exe
2-2

2-3
在Java中,负责对字节代码解释执行的是(B )。 (2分)
A. 应用服务器
B. 虚拟机
C. 垃圾回收器
D. 编译器

2-4
下面哪单词是Java语言的关键字(B )。 (2分)
A. Float
B. this
C. string
D. unsigned
2-4
答案正确

(2 分)
2-5(这个题不知对错)
下面哪个类的对象中包含有Internet地址(C ) (2分)
A. Applet
B. Datagram Socket
C. InetAddress
D. AppletContext

2-6
InetAddress类的getLocalHost()方法返回一个( C)对象,它包含了运行改程序的计算机的主机名。 (2分)
A. Applet
B. Datagram Socket
C. InetAddress
D. AppletContext
2-6

2-7
如果在关闭Socket时发生一个I/O错误,会抛出(A )。 (2分)
A. IOException
B. UnknownHostException
C. SocketException
D. MalformedURLException

2-8
有以下程序片段,下列哪个选项不能插入到行1。( D) (2分)
1)
2) public class Interesting{
3) //do sth
4) }
A. import java.awt.*;
B. package mypackage;
C. class OtherClass{ }
D. public class MyClass{ }

2-9
为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A )。(2分)
A. static void method( )
B. public void method( )
C. final void method( )
D. abstract void method( )
2-9
答案错误

(0 分)
2-10
以下代码的输出结果为( C)。 (2分)
public class Pass{
static int j = 20;
public void amethod(int x){
x = x2;
j = j
2;
}
public static void main(String args[]){
int i = 10;
Pass p = new Pass();
p.amethod(i);
System.out.println(i+" and "+j);
}
}
A. 错误:方法参数与变量不匹配
B. 20 and 40
C. 10 and 40
D. 10 and 20

2-11
Swing组件必须添加到Swing顶层容器相关的( B)。(2分)
A. 分隔板上
B. 内容面板上
C. 选项卡上
D. 复选框内

2-12
A派生出子类B,B派生出子类C,对于如下Java源代码正确的说法是(D)。(2分)

  1. A a0 =new A();
  2. A a1 =new B();
  3. A a2 =new C();
    A. 只有第1行能通过编译
    B. 第1、2行能通过编译,但第3行编译出错
    C. 第1、2、3行能通过编译,但第2、3行运行时出错
    D. 第1行、第2行和第3行的声明都是正确的

2-13
下面哪个对类的声明是错误的?A (2分)
A. class MyClass extends MySuperClass1, MySupperClass2 {}
B. public class MyClass{}
C. abstract class MyClass implements YourInterface1, Youriterface2 {}
D. private class MyClass {}
E. class MyClass extends MySuperClass implements YourInterface {}

2-14
下列选项中,用于实现接口的关键字是 (B )。 (2分)
A. interface
B. implements
C. abstract
D. class

2-15
假设方法unsafe() 将抛出IOException, 可以填入如下代码段第1行的选项是(D )。(2分)
1)
2) { if(unsafe()){//do something…}
3) else if(safe()){//do the other…}
4) }
A. public IOException methodName()
B. public void methodName()
C. public void methodName() throw IOException
D. public void methodName() throws IOException

2-16
要创建一个新目录,可以用下面(D )类实现。 (2分)
A. FileInputStream
B. FileOutputStream
C. RandomAccessFile
D. File

2-17
下面说法正确的是(C ) 。 (2分)
A. JAVA中线程是非抢占式的
B. JAVA中的线程不可以共享数据
C. 每个JAVA程序都至少有一个线程,即主线程
D. JAVA中的线程不可以共享代码
2-17

2-18
JFrame的缺省布局管理器是(C )。 (2分)
A. FlowLayout
B. CardLayout
C. BorderLayout
D. GridLayout

2-19
在类中若要处理ActionEvent事件,则该类需要实现的接口是( B) (2分)
A. Runnable
B. ActionListener
C. Serializable
D. Event

2-20
下列属于容器的组件有:( B) (2分)
A. JButton
B. JPanel
C. Canvas
D. JTextArea

2-21
下面是People和Child类的定义和构造方法,每个构造方法都输出编号。在执行new Child(“mike”)的时候都有哪些构造方法被顺序调用?请选择输出结果 (D ) (2分)
class People {
String name;
public People() {
System.out.print(1);
}
public People(String name) {
System.out.print(2);
this.name = name;
}
}
class Child extends People {
People father;
public Child(String name) {
System.out.print(3);
this.name = name;
father = new People(name + “:F”);
}
public Child(){
System.out.print(4);
}
}
A. 312
B. 32
C. 432
D. 132

2-22
下面程序的运行结果是(C ) (2分)
main() {
int x=30;
int[] numbers=new int[x];
x=60;
System.out.println(numbers.length);
}
A. 60
B. 20
C. 30
D. 50

1-1
break 可用于循环体中,不可用于switch语句中。 (1分)
F

1-2
如果一个类的声明中没有使用extends关键字,这个类被系统默认为是继承Object类。 (1分)
T

1-3
接口中的方法默认是public abstract方法。 (1分)
T

1-4
System.out.println(); 语句的作用是在结尾显示一个换行符。。 (1分)
T
1-5
一个Java源文件中可以有多个类,但只能有一个类是public的。 (1分)
T

1-6
一个try语句可以有多个catch语句与之对应。 (1分)
T

1-7
抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。。 (1分)
F

1-8
语句 System.out.println(4+8+“Hello,world!”); 的输出结果是12Hello,world!。 (1分)
T

1-9
Java中数组的元素只能是简单数据类型。 (1分)
F

)
1-10
如果Java源文件中包含了多个类,那么用编译器javac编译完源文件后将生成多个扩展名为.class的文件。 (1分)
T

(
2-1
以下哪个方法用于定义线程的执行体? ( C) (2分)
A. start()
B. init()
C. run()
D. ynchronized()

2-2
以下关于构造函数的描述错误的是(A )。 (2分)
A. 构造函数的返回类型只能是void型。
B. 构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C. 构造函数的主要作用是完成对类的对象的初始化工作。
D. 一般在创建新对象时,系统会自动调用构造函数。

2-3
定义了一维int型数组a[10]后,下面错误的引用是(B ) 。 (2分)
A. a[0]=1
B. a[10]=2
C. a[0]=5*2
D. a[1]=a[2]*a[0]

2-4
下列数组声明,下列表示错误的是( D) (2分)
A. int[ ] a
B. int a[ ]
C. int[ ][ ] a
D. int[ ]a[ ]

2-5
下列属于容器的组件有:( B) (2分)
A. JButton
B. JPanel
C. Canvas
D. JTextArea

2-6
如果你被要求写一段代码读取一个文本文件,那么一般使用哪种Stream?D(2分)
A. DataInputStream
B. ObjectInputStream
C. FileReader
D. FileInputStream

2-7
下面哪个对类的声明是错误的?A (2分)
A. class MyClass extends MySuperClass1, MySupperClass2 {}
B. public class MyClass{}
C. abstract class MyClass implements YourInterface1, Youriterface2 {}
D. private class MyClass {}
E. class MyClass extends MySuperClass implements YourInterface {}

2-8
类中某方法定义如下: double fun(int a,int b){ return a*1.0/b; } 同一类内其它方法调用该方法的正确方式是( A)。(2分)
A. double a = fun(1,2)
B. double a = fun(1.0,2.0)
C. int x = fun(1,2)
D. int x = fun(1.0,2.0)

2-9
欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?( D) (2分)
A. ArrayList myList=new Object();
B. List myList=new ArrayList();
C. ArrayList myList=new List();
D. List myList=new List();

2-10
A派生出子类B,B派生出子类C,对于如下Java源代码正确的说法是(D)。(2分)

  1. A a0 =new A();
  2. A a1 =new B();
  3. A a2 =new C();
    A. 只有第1行能通过编译
    B. 第1、2行能通过编译,但第3行编译出错
    C. 第1、2、3行能通过编译,但第2、3行运行时出错
    D. 第1行、第2行和第3行的声明都是正确的

(2 分)
2-11
getCustomerInfo()方法如下,try中可以捕获三种类型的异常,如果在该方法运行中产生了一个IOException,将会输出什么结果(A )。 (2分)
public void getCustomerInfo() {
try {
// do something that may cause an Exception
} catch (java.io.FileNotFoundException ex){
System.out.print(“FileNotFoundException!”);
} catch (java.io.IOException ex){
System.out.print(“IOException!”);
} catch (java.lang.Exception ex){
System.out.print(“Exception!”);
}
}

A. IOException!
B. IOException!Exception!
C. FileNotFoundException!IOException!
D. FileNotFoundException!IOException!Exception!

2-12
以下代码的输出结果为(C )。 (2分)
public class Pass{
static int j = 20;
public void amethod(int x){
x = x2;
j = j
2;
}
public static void main(String args[]){
int i = 10;
Pass p = new Pass();
p.amethod(i);
System.out.println(i+" and "+j);
}
}
A. 错误:方法参数与变量不匹配
B. 20 and 40
C. 10 and 40
D. 10 and 20

2-13
执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的(A ) (2分)
A. x[9]为0
B. x[9]未定义
C. x[10]为0
D. x[0]为空

2-14
Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?( B) (2分)
A. 安全性
B. 多线性
C. 跨平台
D. 可移植

2-15
在Java中,负责对字节代码解释执行的是(B )。 (2分)
A. 应用服务器
B. 虚拟机
C. 垃圾回收器
D. 编译器

2-16
下面哪单词是Java语言的关键字(B )。 (2分)
A. Float
B. this
C. string
D. unsigned

2-17
InetAddress类的getLocalHost()方法返回一个( C)对象,它包含了运行改程序的计算机的主机名。 (2分)
A. Applet
B. Datagram Socket
C. InetAddress
D. AppletContext

2-18
有以下程序片段,下列哪个选项不能插入到行1。(D ) (2分)
1)
2) public class Interesting{
3) //do sth
4) }
A. import java.awt.*;
B. package mypackage;
C. class OtherClass{ }
D. public class MyClass{ }

2-19
为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A )。(2分)
A. static void method( )
B. public void method( )
C. final void method( )
D. abstract void method( )

下列选项中,用于实现接口的关键字是 ( B)。 (2分)
A. interface
B. implements
C. abstract
D. class

2-21
要创建一个新目录,可以用下面(D )类实现。 (2分)
A. FileInputStream
B. FileOutputStream
C. RandomAccessFile
D. File

2-22
在类中若要处理ActionEvent事件,则该类需要实现的接口是( B) (2分)
A. Runnable
B. ActionListener
C. Serializable
D. Event

1-1
java语言中不用区分字母的大写小写。 (1分)
F

1-2
接口中的方法默认是public abstract方法。 (1分)
T

1-3
一个Java类可以有多个父类。 (1分)
F

1-4
异常也是一个对象。 (1分)
T

1-5
使用方法length( )可以获得字符串或数组的长度。 (1分)
F

1-6
程序运行中可以改变数组的大小。 (1分)
F

1-7
Object是Java中所有类的共同父类。 (1分)
T
1-8
字节码文件是与平台无关的二进制码,执行时由解释器解释成本地机器码。 (1分)
T
1-9
final类不能派生子类,final方法不能被覆盖。 (1分)
T
1-10
声明构造方法时,可以使用private访问修饰符。 (1分)
F

2-1
在Java中,"456"属于(B )类的对象。 (2分)
A. int
B. String
C. Integer
D. Number

2-2
欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?( D) (2分)
A. ArrayList myList=new Object();
B. List myList=new ArrayList();
C. ArrayList myList=new List();
D. List myList=new List();

2-3
下面说法不正确的是( C) (2分)
A. 一个子类的对象可以接收父类对象能接收的消息;
B. 当子类对象和父类对象能接收同样的消息时,它们针对消息产生的行为可能不同;
C. 父类比它的子类的方法更多;
D. 子类在构造函数中可以使用super( )来调用父类的构造函数;

2-4
下面哪个对类的声明是错误的?A (2分)
A. class MyClass extends MySuperClass1, MySupperClass2 {}
B. public class MyClass{}
C. abstract class MyClass implements YourInterface1, Youriterface2 {}
D. private class MyClass {}
E. class MyClass extends MySuperClass implements YourInterface {}

2-5
下面哪个Set是根据内容排序的? C(2分)
A. LinkedHashSet
B. HashSet
C. TreeSet
D. AbstractSet

2-6
类中某方法定义如下: double fun(int a,int b){ return a*1.0/b; } 同一类内其它方法调用该方法的正确方式是( A)。(2分)
A. double a = fun(1,2)
B. double a = fun(1.0,2.0)
C. int x = fun(1,2)
D. int x = fun(1.0,2.0)

2-7
下列选项中,用于定义接口的关键字是( A)。 (2分)
A. interface
B. implements
C. abstract
D. class

2-8
有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是( A). (2分)
A. a1.java
B. a1.class
C. a1
D. 都对

2-9
有一个类A,以下为其构造方法的声明,其中正确的是(B)。 (2分)
A. void A(int x){…}
B. A(int x){…}
C. a(int x){…}
D. void a(int x){…}

2-10
答案错误
2-11
Java中( C) 。 (2分)
A. 一个子类可以有多个父类,一个父类也可以有多个子类
B. 一个子类可以有多个父类,但一个父类只可以有一个子类
C. 一个子类可以有一个父类,但一个父类可以有多个子类
D. 上述说法都不对

2-12
以下程序段输出结果的是( C) (2分)
public class Test {
public static void main(String args[]){
String str=“ABCDE”;
str.substring(3);
str.concat(“XYZ”);
System.out.print(str);
}
}
A. DE
B. DEXYZ
C. ABCDE
D. CDEXYZ

2-13
以下关于继承的叙述正确的是(A )。 (2分)
A. 在Java中类只允许单一继承
B. 在Java中一个类只能实现一个接口
C. 在Java中一个类不能同时继承一个类和实现一个接口
D. 在Java中接口只允许单一继承

2-14
下列说法中错误的一项是( A)。 (2分)
A. 线程就是程序
B. 线程是一个程序的单个执行流
C. 多线程是指一个程序的多个执行流
D. 多线程用于实现并发

2-15
下列SQL语句中,能检索出姓张的同学的信息的一项是。D (2分)
A. select * from student where name = ‘张’
B. select * from student where name <> ‘张’
C. select * from student where name like ‘%张%’
D. select * from student where name like ‘张%’
2-15

你可能感兴趣的:(java)