做一些基础练习题检测一下自己的基础是否扎实吧!
一. 选择题(234)
1.下面中哪两个可以在 A 的子类中使用:( )
class A {
protected int method1 (int a, int b) {
return 0;
}
}
A public int method1 (int a, int b) { return 0; }
B private int method1 (int a, int b) { return 0; }
C private int method1 (int a, long b) { return 0; }
D public short method1 (int a, int b) { return 0; }
2.Abstract method cannot be static True or False ?
A True
B False
3.What will be the output when you compile and execute the following program.
class Base{
void test() {
System.out.println("Base.test()");
}
}
public class Child extends Base {
void test() {
System.out.println("Child.test()");
}
static public void main(String[] a) {
Child anObj = new Child();
Base baseObj = (Base)anObj;
baseObj.test();
}
}
Select most appropriate answer.
A Child.test()
Base.test()
B Base.test()
Child.test()
C Base.test()
D Child.test()
4.What will be the output when you compile and execute the following program.
class Base {
static void test() {
System.out.println("Base.test()");
}
}
public class Child extends Base {
void test() {
System.out.println("Child.test()");
Base.test(); // Call the parent method
}
static public void main(String[] a) {
new Child().test();
}
}
Select most appropriate answer.
A Child.test()
Base.test()
B Child.test()
Child.test()
C Compilation error. Cannot override a static method by an instance method
D Runtime error. Cannot override a static method by an instance method
5.What will be the output when you compile and execute the following program.
public class Base {
private void test() {
System.out.println(6 + 6 + "(Result)");
}
static public void main(String[] a) {
new Base().test();
}
}
Select most appropriate answer.
A 66(Result)
B 12(Result)
C Runtime Error.Incompatible type for +. Can’t convert an int to a string.
D Compilation Error.Incompatible type for +. Can’t add a string to an int.
6.What will be the output when you compile and execute the following program. The symbol ‘ ‘ means space.
public class Base {
private void test() {
String aStr = " One ";
String bStr = aStr;
aStr.toUpperCase();
aStr.trim();
System.out.println("[" + aStr + "," + bStr + "]");
}
static public void main(String[] a) {
new Base().test();
}
}
Select most appropriate answer.
A [ONE One ]
B [ One ,One]
C [ONE,One]
D [ONE,ONE]
E [ One , One ]
7.下面关于变量及其范围的陈述哪些是不正确的( ):
A 实例变量是类的成员变量
B 实例变量用关键字 static 声明
C 在方法中定义的局部变量在该方法被执行时创建
D 局部变量在使用前必须被初始化
8.下列关于修饰符混用的说法,错误的是( ):
A abstract 不能与 final 并列修饰同一个类
B abstract 类中可以有 private 的成员
C abstract 方法必须在 abstract 类中
D static 方法中能处理非 static 的属性
9.执行完以下代码
int [ ] x = new int[25];
后,以下哪项说明是正确的( ):
A x[24]为 0
B x[24]未定义
C x[25]为 0
D x[0]为空
10.编译运行以下程序后,关于输出结果的说明正确的是 ( ):
public class Conditional {
public static void main(String args[ ]){
int x=4;
System.out.println("value is "+ ((x>4) ? 99.9 :9));
}
}
A 输出结果为:value is 99.99
B 输出结果为:value is 9
C 输出结果为:value is 9.0
D 编译错误
11.关于以下 application 的说明,正确的是( ):
class StaticStuff {
static int x = 10;
static {
x += 5;
}
public static void main(String args[]) {
System.out.println("x=" + x);
}
static {
x /= 3;
}
}
A 4 行与 9 行不能通过编译,因为缺少方法名和返回类型
B 9 行不能通过编译,因为只能有一个静态初始化器
C 编译通过,执行结果为:x=5
D 编译通过,执行结果为:x=3
12.关于以下程序代码的说明正确的是( ):
class HasStatic {
private static int x = 100;
public static void main(String args[]) {
HasStatic hs1 = new HasStatic();
hs1.x++;
HasStatic hs2 = new HasStatic();
hs2.x++;
hs1 = new HasStatic();
hs1.x++;
HasStatic.x--;
System.out.println("x=" + x);
}
}
A 5 行不能通过编译,因为引用了私有静态变量
B 10 行不能通过编译,因为 x 是私有静态变量
C 程序通过编译,输出结果为:x=103
D 程序通过编译,输出结果为:x=102
13.下列说法正确的有()
A class 中的 constructor 不可省略
B constructor 必须与 class 同名,但方法不能与 class 同名
C constructor 在一个对象被 new 时执行
D 一个 class 只能定义一个 constructor
14.下列哪种说法是正确的()
A 实例方法可直接调用超类的实例方法
B 实例方法可直接调用超类的类方法
C 实例方法可直接调用其他类的实例方法
D 实例方法可直接调用本类的类方法
15.下列哪一种叙述是正确的( )
A abstract 修饰符可修饰字段、方法和类
B 抽象方法的 body 部分必须用一对大括号{ }包住
C 声明抽象方法,大括号可有可无
D 声明抽象方法不可写出大括号
16.下面代码的执行结果是?
import java.util.*;
public class ShortSet {
public static void main(String args[]) {
Set<Short> s = new HashSet<Short>();
for (Short i = 0; i < 100; i++) {
s.add(i);
s.remove(i - 1);
}
System.out.println(s.size());
}
}
A 1
B 100
C Throws Exception
D None of the Above
17.链表具有的特点是:
A 不必事先估计存储空间
B 可随机访问任一元素
C 插入删除不需要移动元素
D 所需空间与线性表长度成正比
18.Java 语言中,String 类的 IndexOf()方法返回的类型是?
A Int16 B Int32 C int D long
19.以下关于面向对象概念的描述中,不正确的一项是()。
A 在现实生活中,对象是指客观世界的实体
B 程序中的对象就是现实生活中的对象
C 在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(class)
D 在程序中,对象是一组变量和相关方法的集合
20.执行下列代码后,哪个结论是正确的
String[] s=new String[10];
A s[9] 为 null;
B s[10] 为 “”;
C s[0] 为 未定义
D s.length 为 10
21.属性的可见性有。(选择 3 项)
A 公有的
B 私有的
C 私有保护的
D 保护的
22.在字符串前面加上 _____ 符号,则字符串中的转义字符将不被处理。
A @
*B *
C #
D %
23.下列代码哪行会出错:
1) public void modify() {
2) int I, j, k;
3) I = 100;
4) while ( I > 0 ) {
5) j = I * 2;
6) System.out.println (" The value of j is " + j );
7) k = k + 1;
8) I--;
9) }
10)}
A 4
B 6
C 7
D 8
24.对记录序列{314,298,508,123,486,145}按从小到大的顺序进行插入排序,经过两趟排序后的结果为:
A {314,298,508,123,145,486}
B {298,314,508,123,486,145}
C {298,123,314,508,486,145}
D {123、298,314,508,486,145}
25.栈是一种。
A 存取受限的线性结构
B 存取不受限的线性结构
C 存取受限的非线性结构
D 存取不受限的非线性结构
26.下列哪些语句关于内存回收的说明是正确的。
A 程序员必须创建一个线程来释放内存
B 内存回收程序负责释放无用内存
C 内存回收程序允许程序员直接释放内存
D 内存回收程序可以在指定的时间释放内存对象
27.Which method must be defined by a class implementing the java.lang.Runnable interface?
A void run()
B public void run()
C public void start()
D void run(int priority)
E public void run(int priority)
F public void start(int priority)
28 Given:
public static void main(String[] args) {
Object obj = new Object() {
public int hashCode() {
return 42;
}
};
System.out.println(obj.hashCode());
}
What is the result?
A 42
B An exception is thrown at runtime.
C Compilation fails because of an error on line 12.
D Compilation fails because of an error on line 16.
E Compilation fails because of an error on line 17.
29 Which two are reserved words in the Java programming language?
A run
B import
C default
D implements
30. Which two statements are true regarding the return values of property written hashCodeand equals methods from two instances of the same class?
A If the hashCode values are different, the objects might be equal.
B If the hashCode values are the same, the object must be equal.
C If the hashCode values are the same, the objects might be equal.
D If the hashCode values are different, the objects must be unequal.
31. What is the numerical range of a char?
A 0 … 32767
B 0 … 65535
C –256 … 255
**D –32768 … 32767
E Range is platform dependent. **
32. Given:
public class Test {
private static float[] f = new float[2];
public static void main(String args[]) {
System.out.println("f[0] = " + f[0]);
}
}
What is the result?
A f[0] = 0
B f[0] = 0.0
C Compilation fails.
D An exception is thrown at runtime.
33. Given:
public class Test {
public static void main(String[] args) {
String str = NULL;
System.out.println(str);
}
}
What is the result?
A NULL
B Compilation fails.
C The code runs with no output.
D An exception is thrown at runtime.
34、Exhibit:
public class X implements Runnable {
private int x;
private int y;
public static void main(String[] args) {
X that = new X();
(new Thread(that)).start();
(new Thread(that)).start();
}
public synchronized void run() {
for (;;) {
x++;
y++;
System.out.println("x = " + x + ", y = " + y);
}
}
}
What is the result?
A An error at line 11 causes compilation to fail.
B Errors at lines 7 and 8 cause compilation to fail.
C The program prints pairs of values for x and y that might not always be the same on the same line (for example, “x=2, y=1”)
D The program prints pairs of values for x and y that are always the same on the same line (for example, “x=1, y=1”. In addition, each value appears twice (for example, “x=1, y=1” followed by “x=1, y=1”)
E The program prints pairs of values for x and y that are always the same on the same line (for example, “x=1, y=1”. In addition, each value appears twice (for example, “x=1, y=1” followed by “x=2, y=2”)
35、Which two CANNOT directly cause a thread to stop executing?
A Existing from a synchronized block.
B Calling the wait method on an object.
C Calling notify method on an object.
D Calling read method on an InputStream object.
E Calling the SetPriority method on a Thread object.
36、 Which two statements are true regarding the creation of a default constructor?
A The default constructor initializes method variables.
B The default constructor invokes the no-parameter constructor of the superclass.
C The default constructor initializes the instance variables declared in the class.
D If a class lacks a no-parameter constructor,, but has other constructors, the compiler creates a default constructor.
E The compiler creates a default constructor only when there are no other constructors for the class.
37、 Given:
public class OuterClass {
private double d1 = 1.0;
// insert code here
}
You need to insert an inner class declaration at line2. Which two inner class declarations are valid?
A static class InnerOne { public double methoda() {return d1;} }
B static class InnerOne { static double methoda() {return d1;} }
C private class InnerOne { public double methoda() {return d1;} }
D protected class InnerOne { static double methoda() {return d1;} }
E public abstract class InnerOne { public abstract double methoda(); }
38、 Which two declarations prevent the overriding of a method?
A final void methoda() {}
B void final methoda() {}
C static void methoda() {}
D static final void methoda() {}
E final abstract void methoda() {}
39、Given:
public class Test {
public static void main(String args[]) {
class Foo {
public int i = 3;
}
Object o = (Object) new Foo();
Foo foo = (Foo) o;
System.out.println(foo.i);
}
}
What is the result?
**A Compilation will fail. **
B Compilation will succeed and the program will print “3”
C Compilation will succeed but the program will throw a ClassCastException at line 6.
D Compilation will succeed but the program will throw a ClassCastException at line 7.
40、 Given:
public class Test {
public static void main(String[] args) {
String foo = "blue";
String bar = foo;
foo = "green";
System.out.println(bar);
}
}
What is the result?
A An exception is thrown.
B The code will not compile.
C The program prints “null”
D The program prints “blue”
E The program prints “green”
41、Which code determines the int value foo closest to a double value bar?
A int foo = (int) Math.max(bar);
B int foo = (int) Math.min(bar);
C int foo = (int) Math.abs(bar);
**D int foo = (int) Math.ceil(bar);
E int foo = (int) Math.floor(bar);
F int foo = (int) Math.round(bar); **
42、 Exhibit:
package foo;
import java.util.Vector;
public class MyNewVector extends MyVector {
public MyNewVector() {
i = 4;
}
public static void main(String args[]) {
MyVector v = new MyNewVector();
}
}
The file MyNewVector.java is shown in the exhibit. What is the result?
A Compilation will succeed.
B Compilation will fail at line 3.
C Compilation will fail at line 6.
D Compilation will fail at line 9.
E Compilation will fail at line 14.
43、Given:
public class Test {
public static void main(String[] args) {
String foo = args[1];
String bar = args[2];
String baz = args[3];
System.out.println("baz = " + baz);
}
}
And the output:
Baz = 2
Which command line invocation will produce the output?
A java Test 2222
B java Test 1 2 3 4
C java Test 4 2 4 2
D java Test 4 3 2 1
44、 Given:
public interface Foo {
int k = 4;
}
Which three are equivalent to line 2?
A final int k = 4;
B Public int k = 4;
C static int k = 4;
D Private int k = 4;
E Abstract int k = 4;
F Volatile int k = 4;
G Transient int k = 4;
H protected int k = 4;
45、 Given:
public class foo {
static String s;
public static void main(String[] args) {
System.out.println("s=" + s);
}
}
What is the result?
A The code compiles and “s=” is printed.
B The code compiles and “s=null” is printed.
C The code does not compile because string s is not initialized.
D The code does not compile because string s cannot be referenced.
E The code compiles, but a NullPointerException is thrown when toString is called.
46、Which two create an instance of an array?
A int[] ia = new int [15];
B float fa = new float [20];
**C char[] ca = “Some String”; **
D Object oa = new float[20];
E Int ia [][] = (4, 5, 6) (1, 2, 3)
47、Given:
public class ExceptionTest {
class TestException extends Exception {
}
public void runTest() throws TestException {
}
public void test() /* Point X */ {
runTest();
}
}
At point X on line 4, which code can be added to make the code compile?
A throws Exception
B Catch (Exception e).
C Throws RuntimeException.
D Catch (TestException e).
E No code is necessary.
48、Exhibit:
public class SwitchTest {
public static void main(String[] args) {
System.out.println("value =" + switchIt(4));
}
public static int switchIt(int x) {
int j = 1;
switch (x) {
case 1:
j++;
case 2:
j++;
case 3:
j++;
case 4:
j++;
case 5:
j++;
default:
j++;
}
return j + x;
}
}
What is the output from line 3?
A Value =3
B Value =4
C Value =5
D Value =6
E Value =7
F Value =8
49、Which four types of objects can be thrown using the throw statement?
A Error
B Event
C Object
D Exception
E Throwable
F RuntimeException
50.在下面程序的第 6 行补充上下列哪个方法,会导致在编译过程中发生错误?
class Super {
public float getNum() {
return 3.0f;
}
}
public class Sub extends Super {
(6)
}
A,public float getNum(){retun 4.0f;}**
B public void getNum(){}
C public void getNum(double d){}
D public double getNum(float d){ retun 4.0f ;}
51.下面关于 import, class 和 package 的声明顺序哪个正确?( )
A package, import, class
B class, import, package
C import, package, class
D package, class, import
52.下面哪个是正确的?( )
A String temp [] = new String {“a” “b” “c”};
B String temp [] = {“a” “b” “c”}
C String temp = {“a”, “b”, “c”}
D String temp [] = {“a”, “b”, “c”}
53.关于 java.lang.String 类,以下描述正确的一项是( )
A String 类是 final 类故不可以继承;
B String 类是 final 类故可以继承;
C String 类不是 final 类故不可以继承;
D String 类不是 final 类故可以继承;
54.关于实例方法和类方法,以下描述正确的是:( )
A 实例方法只能访问实例变量
B 类方法既可以访问类变量,也可以访问实例变量
C 类方法只能通过类名来调用
D 实例方法只能通过对象来调用
55.接口是 Java 面向对象的实现机制之一,以下说法正确的是:( )
A Java 支持多重继承,一个类可以实现多个接口;
B Java 只支持单重继承,一个类可以实现多个接口;
C Java 只支持单重继承,一个类只可以实现一个接口;
D Java 支持多重继承,但一个类只可以实现一个接口。
56.下列关于 interface 的说法正确的是:( )
A interface 中可以有 private 方法
B interface 中可以有 final 方法
C interface 中可以有 function 实现
D interface 可以继承其他 interface
57.已知 A 类被打包在 packageA , B 类被打包在 packageB ,且 B 类被声明为 public ,且有一个成员
变量 x 被声明为, protected 控制方式 。C 类也位于 packageA 包,且继承了 B 类 。则以下说话
正确的是( )
A A 类的实例不能访问到 B 类的实例
B A 类的实例能够访问到 B 类一个实例的 x 成员
C C 类的实例可以访问到 B 类一个实例的 x 成员
D C 类的实例不能访问到 B 类的实例
58.以下程序正确的输出是( )
package test;
public class FatherClass {
public FatherClass() {
System.out.println("FatherClass Create");
}
}
package test;
import test.FatherClass;
public class ChildClass extends FatherClass {
public ChildClass() {
System.out.println("ChildClass Create");
}
public static void main(String[] args) {
FatherClass fc = new FatherClass();
ChildClass cc = new ChildClass();
}
}
A
FatherClass Create
FatherClass Create
ChildClass Create
B
FatherClass Create
ChildClass Create
FatherClass Create
C
ChildClass Create
ChildClass Create
FatherClass Create
D
ChildClass Create
FatherClass Create
FatherClass Create
59.给定如下代码,下面哪个可以作为该类的构造函数 ( )
public class Test {
…
}
A public void Test() {…}
B public Test() {…}
C public static Test() {…}
D public static void Test() {…}
60.题目:
1.public class test (
2. public static void main (String args[]) {
3. int i = 0xFFFFFFF1;
4. int j = ~i;
5.
6. }
7.)
程序运行到第 5 行时,j 的值为多少?( )
A –15
B 0
C 1
D 14
E 在第三行的错误导致编译失败
61.关于 sleep()和 wait(),以下描述错误的一项是( )
A sleep 是线程类(ThreaD 的方法,wait 是 Object 类的方法;
B sleep 不释放对象锁,wait 放弃对象锁;
C sleep 暂停线程、但监控状态仍然保持,结束后会自动恢复;
D wait 后进入等待锁定池,只有针对此对象发出 notify 方法后获得对象锁进入运行状态。
62.下面能让线程停止执行的有(多选)( )
A sleep();
B stop();
C notify();
D synchronized();
E yield();
F wait();
G notifyAll();
63.下面哪个可以改变容器的布局?( )
A setLayout(aLayoutManager);
B addLayout(aLayoutManager);
C layout(aLayoutManager);
D setLayoutManager(aLayoutManager);
64.下面哪个是 applet 传递参数的正确方式?( )
A