Java笔试题库之选择题汇总

1.下面中哪两个可以在A的子类中使用:( )

class A {

protected int method1 (int a, int b) {

return 0;

}

}

A. public int method 1 (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; }

解答:AC

主要考查子类重写父类的方法的原则

B,子类重写父类的方法,访问权限不能降低

C,属于重载

D,子类重写父类的方法 返回值类型要相同或是父类方法返回值类型的子类

2.Abstract method cannot be static. True or False ?

A True

B False

解答:A

抽象方法可以在子类中被重写,但是静态方法不能在子类中被重写,静态方法和静态属性与对象是无关的,只与类有关,这与abstract是矛盾的,所以abstract是不能被修饰为static,否则就失去了abstract的意义了

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()

解答:D

测试代码相当于:Base baseObj = new Child();父类的引用指向子类的实例,子类又重写了父类

的test方法,因此调用子类的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

解答:C

静态方法不能在子类中被重写

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.

解答:B

字符串与基本数据类型链接的问题,如果第一个是字符串那么后续就都按字符串处理,比如上边例子要是System.out.println(“(Result)”+6 + 6 );那么结果就是(Result)66,如果第一个和第二个。。。第n个都是基本数据第n+1是字符串类型,那么前n个都按加法计算出结果在与字符串连接

6..What will be the output when you compile and execute the following program. The symbol ’ ?’ means space.

1:public class Base{

2:

3: private void test() {

4:

5: String aStr = “?One?”;

6: String bStr = aStr;

7: aStr.toUpperCase();

8: aStr.trim();

9: System.out.println(“[" + aStr + "," + bStr + "]“);

7: }

8:

9: static public void main(String[] a) {

10: new Base().test();

11: }

12: }

Select most appropriate answer.

A [ONE,?One?]

B [?One?,One]

C [ONE,One]

D [ONE,ONE]

E [?One?,?One?]

解答:E

通过String bStr = aStr;这句代码使bStr和aStr指向同一个地址空间,所以最后aStr和bStr的结果应该是一样,String类是定长字符串,调用一个字符串的方法以后会形成一个新的字符串。

7.下面关于变量及其范围的陈述哪些是不正确的( ):

A.实例变量是类的成员变量

B.实例变量用关键字static声明

C.在方法中定义的局部变量在该方法被执行时创建

D.局部变量在使用前必须被初始化

解答:BC

由static修饰的变量称为类变量或是静态变量

方法加载的时候创建局部变量

8.下列关于修饰符混用的说法,错误的是( ):

A.abstract不能与final并列修饰同一个类

B.abstract类中可以有private的成员

C.abstract方法必须在abstract类中

D.static方法中能处理非static的属性

解答 D

:静态方法中不能引用非静态的成员

9.执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的( ):

A、 x[24]为0

B、 x[24]未定义

C、 x[25]为0

D、 x[0]为空

解答:A

x属于引用类型,该引用类型的每一个成员是int类型,默认值为: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、 编译错误

解答:C

三目运算符中:第二个表达式和第三个表达式中如果都为基本数据类型,整个表达式的运算结果

由容量高的决定。99.9是double类型 而9是int类型,double容量高。

11.关于以下application的说明,正确的是( ):

1. class StaticStuff

2. {

3. static int x=10;

4. static { x+=5;}

5. public static void main(String args[ ])

6. {

7. System.out.println(“x=” + x);

8. }

9. static { x/=3;}

10. }

A、 4行与9行不能通过编译,因为缺少方法名和返回类型

B、 9行不能通过编译,因为只能有一个静态初始化器

C、 编译通过,执行结果为:x=5

D、编译通过,执行结果为:x=3

解答:C

自由块是类加载的时候就会被执行到的,自由块的执行顺序是按照在类中出现的先后顺序执行。

12.关于以下程序代码的说明正确的是( ):

1.class HasStatic{

2. private static int x=100;

3. public static void main(String args[ ]){

4. HasStatic hs1=new HasStatic( );

5. hs1.x++;

6. HasStatic hs2=new HasStatic( );

7. hs2.x++;

8. hs1=new HasStatic( );

9. hs1.x++;

10. HasStatic.x–;

11. System.out.println(“x=”+x);

12. }

13.}

A、5行不能通过编译,因为引用了私有静态变量

B、10行不能通过编译,因为x是私有静态变量

C、程序通过编译,输出结果为:x=103

D、程序通过编译,输出结果为:x=102

解答:D

静态变量是所有对象所共享的,所以上述代码中的几个对象操作是同一静态变量x, 静态变量可以通过类名调用。

13.下列说法正确的有()

A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名

C. constructor在一个对象被new时执行

D.一个class只能定义一个constructor

解答:C

构造方法的作用是在实例化对象的时候给数据成员进行初始化

A.类中如果没有显示的给出构造方法,系统会提供一个无参构造方法

B.构造方法与类同名,类中可以有和类名相同的方法

D.构造方法可以重载

14.下列哪种说法是正确的()

A.实例方法可直接调用超类的实例方法

B.实例方法可直接调用超类的类方法

C.实例方法可直接调用其他类的实例方法

D.实例方法可直接调用本类的类方法

解答:D

A. 实例方法不可直接调用超类的私有实例方法

B. 实例方法不可直接调用超类的私有的类方法

C.要看访问权限

15.下列哪一种叙述是正确的( )

A. abstract修饰符可修饰字段、方法和类

B. 抽象方法的body部分必须用一对大括号{ }包住

C. 声明抽象方法,大括号可有可无

D. 声明抽象方法不可写出大括号

解答:D

abstract可以修饰方法和类,不能修饰属性。抽象方法没有方法体,即没有大括号{}

16.下面代码的执行结果是?

import Java.util.*;

public class ShortSet{

public static void main(String args[])

{

Set s=new HashSet();

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

解答:B

i是Short类型 i-1是int类型,其包装类为Integer,所以s.remove(i-1);不能移除Set集合中Short类型对象。

17.链表具有的特点是:(选择3项)

A、不必事先估计存储空间

B、可随机访问任一元素

C、插入删除不需要移动元素

D、所需空间与线性表长度成正比

解答:ACD

A.采用动态存储分配,不会造成内存浪费和溢出。

B. 不能随机访问,查找时要从头指针开始遍历

C. 插入、删除时,只要找到对应前驱结点,修改指针即可,无需移动元素

D. 需要用额外空间存储线性表的关系,存储密度小

18.Java语言中,String类的IndexOf()方法返回的类型是?

A、Int16 B、Int32 C、int D、long

解答:C

indexOf方法的声明为:public int indexOf(int ch)

在此对象表示的字符序列中第一次出现该字符的索引;如果未出现该字符,则返回 -1。

19.以下关于面向对象概念的描述中,不正确的一项是()。(选择1项)

A.在现实生活中,对象是指客观世界的实体

B.程序中的对象就是现实生活中的对象

C.在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(class)

D.在程序中,对象是一组变量和相关方法的集合

解答:B

20..执行下列代码后,哪个结论是正确的 String[] s=new String[10];

A. s[9] 为 null;

B. s[10] 为 “”;

C. s[0] 为 未定义

D. s.length 为10

解答:AD

s是引用类型,s中的每一个成员都是引用类型,即String类型,String类型默认的值为null

s数组的长度为10。

21.属性的可见性有。(选择3项)

A.公有的

B.私有的

C.私有保护的

D.保护的

解答:ABD

属性的可见性有四种:公有的(public) 保护的(protected) 默认的 私有的(private)

22..在字符串前面加上_____符号,则字符串中的转义字符将不被处理。(选择1项)

A @

B \

C #

D %

解答:B

23.下列代码哪行会出错: (选择1项)

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

解答:C

k没有初始化就使用了

24.对记录序列{314,298,508,123,486,145}按从小到大的顺序进行插入排序,经过两趟排序后的结果为:(选择1项)

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}

解答:B

插入排序算法:

public static void injectionSort(int[] number) {

// 第一个元素作为一部分,对后面的部分进行循环

for (int j = 1; j < number.length; j++) {

int tmp = number[j];

int i = j – 1;

while (tmp < number[i]) {

number[i + 1] = number[i];

i–;

if (i == -1)

break;

}

number[i + 1] = tmp;

}

}

25.栈是一种。(选择1项)

A 存取受限的线性结构

B 存取不受限的线性结构

C 存取受限的非线性结构

D 存取不受限的非线性结构

解答:A

栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。

26.下列哪些语句关于内存回收的说明是正确的。(选择1项)

A程序员必须创建一个线程来释放内存

B内存回收程序负责释放无用内存

C内存回收程序允许程序员直接释放内存

D内存回收程序可以在指定的时间释放内存对象

解答:B

垃圾收集器在一个Java程序中的执行是自动的,不能强制执行,即使程序员能明确地判断出有一块内存已经无用了,是应该回收的,程序员也不能强制垃圾收集器回收该内存块。程序员唯一能做的就是通过调用System. gc 方法来”建议”执行垃圾收集器,但其是否可以执行,什么时候执行却都是不可知的。

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)

解答:B

实现Runnable接口,接口中有一个抽象方法run,实现类中实现该方法。

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.

解答:A

匿名内部类覆盖hashCode方法。

29 Which two are reserved words in the Java programming language? (Choose two)

A. run

B. import

C. default

D. implements

解答:BD

import导入包的保留字,implements实现接口的保留字。

30. Which two statements are true regarding the return values of property written hashCodeand equals methods from two instances of the same class? (Choose two)

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.

解答:CD

先通过 hashcode来判断某个对象是否存放某个桶里,但这个桶里可能有很多对象,那么我们就需要再通过 equals 来在这个桶里找到我们要的对象。

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.

解答:B

在Java中,char是一个无符号16位类型,取值范围为0到65535。

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.

解答:B

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.

解答:B

null应该小写

34、Exhibit:

1.public class X implements Runnable {

2. private int x;

3. private int y;

4. public static void main(String [] args) {

5. X that = new X();

6. (new Thread(that)).start();

7. (new Thread(that)).start();

8. }

9. public synchronized void run( ){

10. for (;;) {

11. x++;

12. y++;

13. System.out.println(“x = “ + x + “, y = “ + y);

14. }

15. }

16.}

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”)

解答:E

多线程共享相同的数据,使用synchronized实现数据同步。

35、Which two CANNOT directly cause a thread to stop executing? (Choose Two)

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.

解答:AD

stop方法.这个方法将终止所有未结束的方法,包括run方法。当一个线程停止时候,他会立即释

放 所有他锁住对象上的锁。这会导致对象处于不一致的状态。 当线程想终止另一个线程的时

候,它无法知道何时调用stop是安全的,何时会导致对象被破坏。所以这个方法被弃用了。你应

该中断一个线程而不是停止他。被中断的线程会在安全的时候停止。

36、 Which two statements are true regarding the creation of a default constructor? (Choose Two)

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.

解答:CE

构造方法的作用是实例化对象的时候给数据成员初始化,如果类中没有显示的提供构造方法,系统会提供默认的无参构造方法,如果有了其它构造方法,默认的构造方法不再提供。

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? (Choose Two)

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(); }

解答:CE

AB.内部类可以声明为static的,但此时就不能再使用外层封装类的非static的成员变量;

D.非static的内部类中的成员不能声明为static的,只有在顶层类或static的内部类中

才可声明static成员

38、 Which two declarations prevent the overriding of a method? (Choose Two)

A. final void methoda() {}

B. void final methoda() {}

C. static void methoda() {}

D. static final void methoda() {}

E. final abstract void methoda() {}

解答:AD

final修饰方法,在子类中不能被重写。

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.

解答:B

局部内部类的使用

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”

解答:D

采用String foo = “blue”定义方式定义的字符串放在字符串池中,通过String bar = foo;

他们指向了同一地址空间,就是同一个池子,当执行foo = “green”; foo指向新的地址空间。

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);

解答:DEF

A B两个选项方法是用错误,都是两个参数。

abs方法是取bar的绝对值,

ceil方法返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。

floor方法返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。

round方法 返回最接近参数的 long。

42、 Exhibit:

1.package foo;

2.import java.util.Vector;

3.private class MyVector extends Vector {

4.int i = 1;

5.public MyVector() {

6.i = 2;

7. }

8.}

9.public class MyNewVector extends MyVector {

10.public MyNewVector () {

11. i = 4;

12.}

13.public static void main (String args []) {

14.MyVector v = new MyNewVector();

15. }

16.}

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.

解答:B

类MyVector不能是私有的

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

解答:C

数组下标从0开始

44、 Given:

1. public interface Foo{

2.int k = 4;

3. }

Which three are equivalent to line 2? (Choose Three)

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;

解答:BDE

static:修饰的静态变量

final 修饰的是常量

abstract不能修饰变量

Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。

而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,

两个不同的线程总是看到某个成员变量的同一个值。

Transient:对不需序列化的类的域使用transient关键字,以减少序列化的数据量。

int k=4相当于public static final int k=4; 在接口中可以不写static final

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.

解答:B

String为禁用数据类型,引用类型数据成员的默认值为null

46、Which two create an instance of an array? (Choose Two)

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)

解答:AD

任何类的父类都是Object,数组也数据引用类型,Object oa = new float[20];这种写法相当于父类的用指向之类的实例。

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.

解答:A

方法上使用throws抛出异常,Exception是异常类的超类。

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

解答:F

由于case块没有break语句,那么从case 4:向下的代码都会执行。

49、Which four types of objects can be thrown using the throw statement? (Choose Four)

A. Error

B. Event

C. Object

D. Exception

E. Throwable

F. RuntimeException

解答:ADEF

能够抛出的对象类型要是Throwable 或是Throwable的子类

50.在下面程序的第6行补充上下列哪个方法,会导致在编译过程中发生错误?

1) class Super{

2) public float getNum(){

3) return 3.0f;

4) }

}

5) pubhc class Sub extends Super{

6)

7) }

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 ;} 解答:B

方法重写的问题。子类中有和父类的方法名相同,但是参数不同,不会出编译错误,认为是子类

的特有的方法,但是如果子类中方法和父类的方法名,参数,访问权限,异常都相同,只有返回值

类型不同会编译不通过。

51.下面关于import, class和package的声明顺序哪个正确?( )

A. package, import, class

B. class, import, package

C. import, package, class

D. package, class, import

解答:A

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”}

解答:D

53.关于java.lang.String类,以下描述正确的一项是( )

A. String类是final类故不可以继承;

B. String类是final类故可以继承;

C. String类不是final类故不可以继承;

D. String类不是final类故可以继承; 解答:A

String类是final的,在java中final修饰类的不能被继承

54.关于实例方法和类方法,以下描述正确的是:( )

A. 实例方法只能访问实例变量

B. 类方法既可以访问类变量,也可以访问实例变量

C. 类方法只能通过类名来调用

D. 实例方法只能通过对象来调用

解答:D

A 实例方法可以访问类变量

B类方法只能访问类变量

C类方法可以通过对象调用

55.接口是Java面向对象的实现机制之一,以下说法正确的是:( )

A. Java支持多重继承,一个类可以实现多个接口;

B. Java只支持单重继承,一个类可以实现多个接口;

C. Java只支持单重继承,一个类只可以实现一个接口;

D. Java支持多重继承,但一个类只可以实现一个接口。

解答:B

Java支持单重继承,一个类只能继承自另外的一个类,但是一个类可以实现多个接口。

56.下列关于interface的说法正确的是:( )

A. interface中可以有private方法

B. interface中可以有final方法

C. interface中可以有function实现

D. interface可以继承其他interface

解答:D

A.接口中不可以有private的方法

B.接口中不可以有final的方法 接口中的方法默认是 public abstract的

C.接口中的方法不可以有实现

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类的实例

解答:C

不同包子类的关系, 可以访问到父类B的protected成员

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

解答:A

在子类构造方法的开始默认情况下有一句super();来调用父类的构造方法

59.给定如下代码,下面哪个可以作为该类的构造函数 ( )

public class Test {

}

A. public void Test() {?}

B. public Test() {?}

C. public static Test() {?}

D. public static void Test() {?}

解答:B

构造方法:与类同名没有放回类型

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. 在第三行的错误导致编译失败

解答:D

int i = 0xFFFFFFF1;相当于 int i=-15 然后对i进行取反即取绝对值再减一


61.关于sleep()和wait(),以下描述错误的一项是( )

A. sleep是线程类(Thread)的方法,wait是Object类的方法;

B. sleep不释放对象锁,wait放弃对象锁;

C. sleep暂停线程、但监控状态仍然保持,结束后会自动恢复;

D. wait后进入等待锁定池,只有针对此对象发出notify方法后获得对象锁进入运行状态。

解答:D

sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。

wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

62.下面能让线程停止执行的有(多选)( )

A. sleep();

B. stop();

C. notify();

D. synchronized();

E. yield();

F. wait();

G. notifyAll();

解答:ABDEF

sleep:导致此线程暂停执行指定时间

stop: 这个方法将终止所有未结束的方法,包括run方法。

synchronized():对象锁

yield:当前正在被服务的线程可能觉得cpu的服务质量不够好,于是提前退出,这就是yield。

wait:当前正在被服务的线程需要睡一会,醒来后继续被服务

63.下面哪个可以改变容器的布局?( )

A. setLayout(aLayoutManager);

B. addLayout(aLayoutManager);

C. layout(aLayoutManager);

D. setLayoutManager(aLayoutManager);

解答:A

Java设置布局管理器setLayout()

64.下面哪个是applet传递参数的正确方式?( )

A.

B.

C.

D.

解答:B

65.提供Java存取数据库能力的包是()

A.java.sql

B.java.awt

C.java.lang

D.java.swing

解答:A

java.sql是JDBC的编程接口

java.awt和java.swing是做图像界面的类库

java.lang: Java 编程语言进行程序设计的基础类

66.不能用来修饰interface的有()

A.private

B.public

C.protected

D.static

解答:ACD

修饰接口可以是public和默认

67.下列说法错误的有()

A. 在类方法中可用this来调用本类的类方法

B. 在类方法中调用本类的类方法时可直接调用

C. 在类方法中只能调用本类中的类方法

D. 在类方法中绝对不能调用实例方法

解答:ACD

A.在类方法中不能使用this关键字

C.在类方法中可以调用其它类中的类方法

D.在类方法中可以通过实例化对象调用实例方法

68.从下面四段(A,B,C,D)代码中选择出正确的代码段()

A.abstract class Name {

private String name;

public abstract boolean isStupidName(String name) {}

}

B.public class Something {

void doSomething () {

private String s = ̶”;

int l = s.length();

}

}

C.public class Something {

public static void main(String[] args) {

Other o = new Other();

new Something().addOne(o);

}

public void addOne(final Other o) {

o.i++;

}

}

class Other {

public int i;

}

D.public class Something {

public int addOne(final int x) {

return ++x; }

}

解答:C

A..抽象方法不能有方法体

B.方法中定义的是局部变量,不能用类成员变量修饰符private

D.final修饰为常量,常量的值不能被改变

69.选择下面代码的运行结果:()。

public class Test{

public void method()

{

for(int i = ; i < 3; i++)

{

System.out.print(i);

}

System.out.print(i);

}

}

A.122

B.123

C.编译错误

D.没有任何输出

解答:C

i变量的作用范围是整个for循环

7.请看如下代码 class Person { private int a; public int change(int m){return m;} } public class Teacher extends Person{ public int b; public static void main(String arg[]){ Person p = new Person(); Teacher t = new Teacher(); int i; // point x } }

下面哪些放在// point x?行是正确的? A, i = m; B, i = b; C, i = p.a; D, i = p.change(3); E, i = t.b;

解答:DE

A.不同的作用域

B.静态方法中不能直接使用非静态成员变量

C.类外不能访问其它类私有的成员

D,E.在类方法中可以通过实例化对象调用类中的实例成员。 71下面那几个函数是public void method(){̷}的重载函数?()

A.public void method( int m){̷}

B.public int method(){̷}

C.public void method2(){̷}

D.public int method(int m,float f ){̷}

解答:A

重载:方法名相同,参数列表不同

72.给出如下声明:

String s = “Example”;

合法的代码由哪些?

A)s>>>=3 B)s[3]= “X” C)int i = s.iength() D)s = s +1

解答:D

A. 移位运算,要是整数类型。

B.s不是数组

C.String类取长度的方法为:length()

D. 字符串相加

73.如下哪些不是java的关键字?( )

A.const

B.NULL

C.false

D.this

E.native

解答:BC

虽然null false 还有true不是java的关键字,但是都有特殊用途,不建议作为标识符。

74.已知表达式 int m [ ] = {,1,2,3,4,5,6};

下面哪个表达式的值与数组下标量总数相等?( )

A .m.length()

B.m.length

C.m.length()+1

D.m.length+1

解答:B

解答:数组下标是从零开始的,但是数据下标的总量和数据长度相同。

75.方法resume()负责恢复哪些线程的执行( )

A通过调用stop()方法而停止的线程。

B通过调用sleep()方法而停止的线程。

C通过调用wait()方法而停止的线程。

D通过调用suspend()方法而停止的线程。

解答:D

Suspend可以挂起一个线程,就是把这个线程暂停了,它占着资源,但不运行,用Resume是恢复挂起的线程,

让这个线程继续执行下去。

76.有关线程的哪些叙述是对的( )

A一旦一个线程被创建,它就立即开始运行。

B使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。

C当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。

D一个线程可能因为不同的原因停止并进入就绪状态。

解答: BCD

在抢占式线程模型中,操作系统可以在任何时候打断线程。通常会在它运行了一段时间(就是所谓的一个

时间片)后才打断它。这样的结果自然是没有线程能够不公平地长时间霸占处理器。

77.已知如下代码:( )

public class Test

{

public static void main(String arg[] )

{

int i = 5;

do{

System.out.print(i);

}while(–i>5)

System.out.print(“finished”);

}

}

执行后的输出是什么?

A 5

B 4

C 6

D finished

解答:AD

输出5finished,do„while循环中循环体一定会执行一次

78.下面的哪些声明是合法的?( )

A.long 1 = 499

B.int i = 4L

C.float f =1.1

D.double d = 34.4

解答:AD

B.4L应该是long类型的写法,

C.1.1是double类型 ,float f=1.1f是正确写法

79.给出如下代码:( )

class Test{

private int m;

public static void fun() {

//some code„

}

}

如何使成员变量m被函数fun()直接访问?()

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

解答:C

静态的方法中可以直接调用静态数据成员

8.以下哪个方法用于定义线程的执行体?()

A.start()

B.init()

C.run()

D.main()

E.synchronized()

解答:run方法是线程的执行体

81.给出下面的代码段:( )

public class Base{

int w, x, y, z;

public Base(int a, int b)

{x=a; y=b;

}

public Base(int a, int b, int c, int d)

{

//assignment x=a, y=b

w=d;z=c;

}}

在代码说明//assignment x=a, y=b处写下如下哪几个代码是正确的?()

A.Base(a, b);

B.x=a, y=b;

C.x=a; y=b;

D.this(a,b);

解答:CD

C是直接给x,y赋值

D是使用this调用本类中其它的构造方法

82.关于运算符>>和>>>描述正确的是

A.>>执行移动

B.>>执行翻转

C.>>执行有符号左移,>>>执行无符号左移

D.>>执行无符号左移,>>>执行有符号左移

解答:C

83. 选择Java语言中的基本数据类型(多选)

A.byte

B.Integer

C.String

D.char

E.long

答案:ADE

基本数据类型总共有8个:byte,short,int,long,char,boolean,float,double

84.从下列选项中选择正确的Java表达式

A.int k=new String(“aa”)

B.String str=String(“bb”)

C.char c=74;

D.long j=8888;

解答:BCD

85. Java I/O程序设计中,下列描述正确的是

A. OutputStream用于写操作

B. InputStream用于写操作

C. I/O库不支持对文件可读可写API

解答:A

B.InputStream用于读操作

C.I/O支持对文件的读写

86.下述代码的执行结果是

class Super { public int getLength() {return 4;}

}

public class Sub extends Super { public long getLength() {return 5;}

public static void main (String[]args) {

Super sooper = new Super (); Super sub = new Sub(); System.out.printIn(sooper.getLength()+ “,” + sub.getLength() };

}

} A. 4, 4 B. 4, 5 C. 5, 4 D. 5, 5 E. 代码不能被编译

解答:E

方法重写返回值类型与父类的一致

87、Which two demonstrate a ̶has a” relationship(Choose two)?

A. public interface Person { }

public class Employee extends Person{ }

B. public interface Shape { }

public interface Rectandle extends Shape { }

C. public interface Colorable { }

public class Shape implements Colorable

{ }

D. public class Species{ }

public class Animal{private Species species;}

E. interface Component{ }

class Container implements Component{

private Component[] children;

}

解答:D

“has a”是关联关系,关联分双向关联和单向关联,双向关联是A,B类分别持有对方的引用(有是对方的属性).

单向关联是一方持另一方的引用.

88. Given the folowing classes which of the following will compile without error?

interface IFace{}

class CFace implements IFace{}

class Base{}

public class ObRef extends Base{

public static void main(String argv[]){

ObRef ob = new ObRef();

Base b = new Base();

Object o1 = new Object();

IFace o2 = new CFace();

}

}

A. o1=o2;

B. b=ob;

C. ob=b;

D. o1=b;

解答:B

b和ob对应的类之间没有任何关系,要想b=ob成立要么是父子关系,要么是接口实现类的关系

89. 关于Java语言,下列描述正确的是(多选)

A. switch 不能够作用在String类型上

B. List, Set, Map都继承自Collection接口

C. Java语言支持goto语句

D. GC是垃圾收集器,程序员不用担心内存管理

解答:AD

B. Map没有继承Collection接口

C.java不支持goto语句

9. 指出下列程序运行的结果 public class Example{ String str=new String(̶good”); char[]ch={‘a’,'b’,'c’};

public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+” and ̶); System.out.print(ex.ch); } public void change(String str,char ch[]){ str=”test ok”; ch[]=’g'; } }

A good and abc

B good and gbc

C test ok and abc

D test ok and gbc

解答:B

数组和字符串都是引用类型。

91. 下列描述中,哪些符合Java语言的特征

A. 支持跨平台(Windows,Linux,Unix等)

B. GC(自动垃圾回收),提高了代码安全性

C. 支持类C的指针运算操作

D. 不支持与其它语言书写的程序进行通讯

解答:AB

92、关于异常(Exception),下列描述正确的是

A. 异常的基类为Exception,所有异常都必须直接或者间接继承它

B. 异常可以用try{ . . .}catch(Exception e){ . . .}来捕获并进行处理

C. 如果某异常继承RuntimeException,则该异常可以不被声明

D. 异常可以随便处理,而不是抛给外层的程序进行处理 解答:ABC

93. 下面的代码实现了设计模式中的什么模式

public class A { private A instance; private A() { } public static A getInstance { if ( A == null ) instance = new A(); return instance; } } A. Factory

B. Abstract Factory

C. Singleton

D. Builder

解答:Singleton单例模式:该设计模式确保某一个类只有一个实例,而且自行实例化并向整个系统提

供这个实例

94. MAX_LENGTH 是int 型public 成员变量,变量值保持为常量1,用简短语句定义这个变量。

A .public int MAX_LENGTH=1;

B. final int MAX_LENGTH=1;

C. final public int MAX_LENGTH=1;

D. public final int MAX_LENGTH=1.

解答:D 通过题的描述就是定义常量,在java中常量命名规范是所有字母都大写用下划线分割每个单词

95. String s=new String(“hello”);

String t =new String(“hello”);

char c [ ] ={‘h’,’e’,’l’,’l’,’o’};

下列哪些表达式返回true ?

A.s.equals(t);

B.t.equals(c);

C.s= =t ;

D.t.equals (new String(“hello”));

E.t= = c;

解答:AD String类的equals方法已经覆盖了Object类的equals方法,比较的是两个字符串的内容是否

相等,双等号比较的是两个对象的内存地址是否相等

96. 类 Teacher 和 Student 是类 Person 的子类;

Teacher t;

Student s;

// t and s are all non-null.

if (t instanceof Person ){ s=(Student)t; }

最后一条语句的结果是:

A.将构造一个Student 对象;

B.表达式是合法的;

C.表达式是错误的;

D.编译时正确, 但运行时错误。

解答:D

instanceof是Java的一个二元操作符,它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。

Teahcer和Student之间没有继承关系不能做强制类型转换。

97. 关于线程设计,下列描述正确的是

A. 线程对象必须实现Runnable接口

B. 启动一个线程直接调用线程对象的run()方法

C. Java提供对多线程同步提供语言级的支持

D. 一个线程可以包含多个进程

解答:C

98. 欲构造ArrayList类得一个实例,此类继承了List接口,下列哪个方法是正确的:

A ArrayList myList = new Object();

B List myList = new ArrayList();

C ArraylList myList = new List();

D List myList = new List();

解答:B

99.关于线程设计,下列描述正确的是

A. 线程对象必须实现Runnable接口

B. 启动一个线程直接调用线程对象的run()方法

C. Java提供对多线程同步提供语言级的支持

D. 一个线程可以包含多个进程

解答:C

1.以下各DOS命令能够显示出本机DNS服务器地址的是:( )

A.ping -a

B.ipconfig -all

C.netstat

D.telnet

解答:DOS命令的使用

ping命令:利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障

ifconfig all :显示或设置网络设备

netstat: 用于查看当前基于 NETBIOS 的 TCP/IP 连接状态,通过该工具你可以 获得远程或本地

的组名和机器名。

telnet: 使用telnet命令访问远程计算机

11.下列IP地址中,属于C类IP地址的是( )

A. 21.222.1.65

B. 1.2.1.1

C. 127.63.2.99

D.255.255.255.255

解答:

A类地址(1...-126.255.255.255)用于最大型的网络,该网络的节点数可达16,777,216个。

B类地址(128...-191.255.255.255)用于中型网络,节点数可达65,536个。

C类地址(192...-223.255.255.255)用于256个节点以下的小型网络的单点网络通信。

D类地址(224...-239.255.255.255。)并不反映网络的大小,只是用于组播,用来指定所分配的接收组播的节点组,这个节点组由组播订阅成员组成。

E类(24...-255.255.255.254)地址用于试验。

12.在使用匿名登录ftp时,用户名为( )? (选择1项)

A、login users

B、anonymous

C、root

D、guest

解答:B

13.管理计算机通信的规则称为

A.协议

B.介质

C.服务

D.网络操作系统

解答:A

14.TCP通信建立在连接的基础上,TCP连接的建立要使用几次握手的过程。

A.2

B.3

C.4

D.5

解答:B

15.路由器工作在ISO/OSI参考模型的

A. 数据链路层

B.网络层

C. 传输层

解答:B

网络层属于OSI中的较高层次了,从它的名字可以看出,它解决的是网络与网络之间,即网际的通信问题,而不是同一网段内部的事。网络层的主要功能即是提供路由,即选择到达目标主机的最佳路径,并沿该路径传送数据包。除此之外,网络层还要能够消除网络拥挤,具有流量控制和拥挤控制的能力。网络边界中的路由器就工作在这个层次上,现在较高档的交换机也可直接工作在这个层次上,因此它

们也提供了路由功能,俗称“第三层交换机”.

16.OSI体系结构定义了一个几层模型。

A.6

B.7

C.8

解答:B

OSI-RM ISO/OSI Reference Model

该模型是国际标准化组织(ISO)为网络通信制定的协议,根据网络通信的功能要求,它把通信过程分为七层,分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,每层都规定了完成的功能及相应的协议。

17.以下哪个命令用于测试网络连通。

A.telnet

B. netstat

C. ping

D. ftp

解答:C

18.在一个办公室内,将6台计算机用交换机连接成网络,该网络的屋里拓扑结构为

A 星型

B 总线型

C 树型

D 环型

解答:C

选项A:星型拓扑结构 是一种以中央节点为中心,把若干外围节点连接起来的辐射式互联结构。这种结构适用于局域网,特别是近年来连接的局域网大都采用这种连接方式。这种连接方式以双绞线或同轴电缆作连接线路。

优点:结构简单、容易实现、便于管理,通常以集线器(Hub)作为中央节点,便于维护和管理。缺点:中心结点是全网络的可靠瓶颈,中心结点出现故障会导致网络的瘫痪。

选项B:总线拓扑结构 是将网络中的所有设备通过相应的硬件接口直接连接到公共总线上,结点之间按广播方式通信,一个结点发出的信息,总线上的其它结点均可“收听”到。

优点:结构简单、布线容易、可靠性较高,易于扩充,节点的故障不会殃及系统,是局域网常采用的

拓扑结构。

缺点:所有的数据都需经过总线传送,总线成为整个网络的瓶颈;出现故障诊断较为困难。另外,由于信道共享,连接的节点不宜过多,总线自身的故障可以导致系统的崩溃。最著名的总线拓扑结构是以太网(Ethernet)。

选项C :树型拓扑结构 是一种层次结构,结点按层次连结,信息交换主要在上下结点之间进行,相邻结点或同层结点之间一般不进行数据交换。

优点:连结简单,维护方便,适用于汇集信息的应用要求。

缺点:资源共享能力较低,可靠性不高,任何一个工作站或链路的故障都会影响整个网络的运行。

选项D: 环形拓扑结构 各结点通过通信线路组成闭合回路,环中数据只能单向传输,信息在每台设备上的延时时间是固定的。特别适合实时控制的局域网系统。

优点:结构简单,适合使用光纤,传输距离远,传输延迟确定。

缺点:环网中的每个结点均成为网络可靠性的瓶颈,任意结点出现故障都会造成网络瘫痪,另外故障诊断也较困难。最著名的环形拓扑结构网络是令牌环网(Token Ring)

19.下列既可用作输入设备又可用作输出设备的是。

A.鼠标器

B.磁盘

C.键盘

D.显示器

解答:B

11.计算机的电源切断之后,存储内容全部消失的存储器是。

A.软磁盘

B.只读存储器

C.硬盘

D.随机存储器

解答:D

111.中央处理单元(CPU)的两个主要组成部分是运算器和什么。

A.寄存器

B.主存储器

C.控制器

D.辅助存储器

解答:C

控制器:由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。

运算器:arithmetic unit,计算机中执行各种算术和逻辑运算操作的部件。运算器由:算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存器组等组成。主要功能:执行所有的算术运算;执行所有的逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。

112.网上“黑客”是指什么样的用户。

A.匿名上网;

B.总在晚上上网;

C.在网上私闯他人计算机系统;

D.不花钱上网;

解答:C

113.防火墙系统的主要作用是。

A. 防止系统崩溃

B.防病毒

C.保护内部网络安全

D.预防火灾

解答:C

114.下列说法中哪项是错误的是。

A. 不同CPU的计算机有不同的机器语言和汇编语言;

B. 回收站是硬盘中的一块区域,而剪贴板是内存中的一块区域;

C. 在Dos中可以用的文件名在windows 98中一定可用;

D. 计算机病毒不可能会驻留在BIOS中。

解答:D

BIOS是英文”Basic Input Output System”的缩略语,直译过来后中文名称就是”基本输入输出系统”。其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

115.用于电子邮件的协议是。

A.IP

B.TCP

C. SNMP

D.SMTP

解答:D

116.Java网络程序设计中,下列正确的描述是

A. Java网络编程API建立在Socket基础之上

B. Java网络接口只支持TCP以及其上层协议

C. Java网络接口只支持UDP以及其上层协议

D. Java网络接口支持IP以上的所有高层协议

解答:AD

117.序列图描述对象是如何交互的并且将重点放在消息序列上。

A、正确 B、不正确

解答:B

序列图主要用于按照交互发生的一系列顺序,显示对象之间的这些交互

118.一个XML必须有DTD或Schemas。

A、正确 B、不正确

解答:B

DTD和Schemas都可以定义XML文档中出现的元素,这些元素出现的次序,它们如何相互 嵌套以及 XML 文档结构的其它详细信息。但不是必须的

119.下列哪些是J2EE的体系。

A、JSP

B、JAVA

C、Servlet

D、WebService

解答:ACD

120.J2EE现在更多使用的名字是java EE JSP是JavaEE设计模式MVC中的显示部分,Servlet是控制部分,WebService是JavaEE的服务器。

12.在Struts中实现页面跳转主要通过什么方法来实现?

A、server.transfer

B、response.redirect

C、mapping.findForward

D、response.sendRedirect

解答:C

121.EJB的优点有哪些?(选择2项)

A、技术领先 B、价格低廉 C、性能优越 D、强大的容器支持

解答:CD

122.以下哪些接口能够实现对Web访问者的身份认证?(选择1项)

A、Http Servlet Request

B、Http Servlet Response

C、Http Session

D、Http Servlet

123.无状态会话Bean、有状态会话Bean、CMP与BMP中,哪一种Bean不需要自己书写连接数据库的代码?

A、无状态会话Bean

B、有状态会话Bean

C、CMP

D、BMP

解答:C

BMP是在Bean中完成对数据库JDBC的各种调用

CMP是由EJB容器自动完成对数据库的操作

会话Bean主要处理业务逻辑

124.假设web应用的文档根目录为MyApp,那么可以从哪里找到database.jar文件。

A. MyApp目录下

B. MyApp\images目录下

C. MyApp\WEB-INF目录下

D. MyApp\WEB-INF\lib目录下

解答:D

Web工程的lib是放置.jar文件的地方。

125.从以下哪一个选项中可以获得Servlet的初始化参数。

A.Servlet

B.ServletContext

C.ServletConfig

D.GenericServlet

解答:C

servlet的生命周期的方法中有一个init方法,其中一个重载的init方法的参数为ServletConfig可以获取初始化参数。

126.哪一个对象可以用于获得浏览器发送的请求。

A.HttpServletRequest

B.HttpServletResponse

C.HttpServlet

D.Http

解答:A

HttpServletRequest中有一些方法可以获取浏览器发送的请求信息。

127.运行jsp需要安装_______Web服务器。

A.Apache

B.tomcat

C.WebLogic

D.IIS

解答:BC

Apache是PHP程序运行的服务器,IIS是.net程序运行的服务器。

128.如何取得数据源。

A.通过Http

B.通过ftp

C.JNDI

D.通过Connection对象

解答:C

在服务器上配置好数据以后,通过JNDI技术获取到数据源。

JNDI:Java Naming and Directory Interface一种标准的Java命名系统接口

129.下列哪一个接口定义了用于查找、创建和删除EJB实例

A.Home

B.Remote

C.Local

D.Message

解答:A

remote接口定义了业务方法,用于EJB客户端调用业务方法。 home接口是EJB工厂用于创建和移除查找EJB实例

130.在服务器的网络编程中,解决会话跟踪的方法有:

A. 使用Cookie。

B. 使用URL重写。

C. 使用隐藏的表单域。

D. 以上方法都不能单独使用。

解答:ABC

URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程

隐藏域是在页面级保存信息。与其他用户标准控件的区别是,隐藏域不被呈现在页面中。当页面提交的时候,隐藏域中的值将被一同发送给服务端。

Cookie是以文本存储于计算机中,使用name-value匹配。一般用户存储标识用户信息

131.与HttpSessionListener接口有关的方法是。

A.sessionInitialized()

B.sessionCreated()

C.sessionFinialized()

D.sessionDestroyed()

解答:BD

132.关于JSP生命周期的叙述,下列哪些为真?

A.JSP会先解释成Servlet源文件,然后编译成Servlet类文件

B.每当用户端运行JSP时,jspInit()方法都会运行一次

C.每当用户端运行JSP时,_jspService()方法都会运行一次

D.每当用户端运行JSP时,jspDestroy()方法都会运行一次

解答:AC

133.以下声明正确的是。

A.

B.

C.

D.<%xml-stylesheet type=”txt/css” href=”abc.css”%>

解答BC

单引号,双引号都可以使用在属性上。

134.下列哪个为JSP的隐含对象。

A.env

B.page

C.jspinfo

D.context

解答:B

JSP有九个隐士对象

request对象:保存了很多客户端请求的信息。

response对象:生成服务器端响应,然后将响应结果发送到客户端

out对象:表示输出流,此输出流将作为请求发送到客户端

session对象:我们写个对象放在这个session对象中,这个对象就在我们的会话中都存在。

application对象:我们写个对象放在这个application对象中,这个对象就在整个应用程序中都存在

pageContext对象相当于当前页面的容器,可以访问当前页面的所有对象。

paget对象:一般我们使用Page指令来替代使用这个对象

exception对象:用来处理异常的

config对象:一样的我们在页面中是使用很少的,一般会在Servlet中使用这个

135.下面的那一个不属于MVC模式中的对象?

A. Model

B. View

C. Collection

D. Controller

解答:C

MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,

它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

136.要创建一个EJB,必须要至少编写哪些Java类和接口?

A. 定义远程(或业务)接口

B. 定义本地接口

C. 定义Bean接口

D. 编写Bean的实现

解答:ABC

137.XML 是一种元语言, 可以用它来描述其他语言。

A.正确

B.错误

解答:B

XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。

138.类图用来表示系统中类和类与类之间的关系,它是对系统动态结构的描述。(选择1项)

A.正确

B.不正确

解答:B

类图是对系统静态结构的描述。

139.哪一个不是EL定义的隐式对象?(选择1项)

A cookie

B.pageContext

C.attributes

D initParam

解答:C

1)pageContext:JSP 页的上下文。它可以用于访问 JSP 隐式对象。

2)Param:将请求参数名称映射到单个字符串参数值(通过调用 ServletRequest.getParameter

(String name) 获得)。getParameter (String) 方法返回带有特定名称的参数。表达式 $(param.name) 相当于 request.getParameter (name)。

3)paramValues:将请求参数名称映射到一个数值数组(通过调用 ServletRequest.getParameter (String name) 获得)。它与 param 隐式对象非常类似,但它检索一个字符串数组而不是单个值。表达式 ${paramvalues.name) 相当于 request.getParamterValues(name)。

4)header将请求头名称映射到单个字符串头值(通过调用 ServletRequest.getHeader(String name) 获得)。表达式 ${header.name} 相当于 request.getHeader(name)。

5)headerValues将请求头名称映射到一个数值数组(通过调用 ServletRequest.getHeaders(String) 获得)。它与头隐式对象非常类似。表达式 ${headerValues.name} 相当于 request.getHeaderValues(name)。

6)cookie将 cookie 名称映射到单个 cookie 对象。向服务器发出的客户端请求可以获得一个或多个 cookie。表达式 ${cookie.name.value} 返回带有特定名称的第一个 cookie 值。如果请求包含多个同名的 cookie,则应该使用 ${headerValues.name} 表达式。

7)initParam将上下文初始化参数名称映射到单个值(通过调用 ServletContext.getInitparameter(String name) 获得)。

8)pageScope将页面范围的变量名称映射到其值。例如,EL 表达式可以使用 ${pageScope.objectName} 访问一个 JSP 中页面范围的对象,还可以使用 ${pageScope.objectName.attributeName} 访问对象的属性。

9)requestScope将请求范围的变量名称映射到其值。该对象允许访问请求对象的属性。例如,EL 表达式可以使用 ${requestScope.objectName} 访问一个 JSP 请求范围的对象,还可以使用 ${requestScope.objectName.attributeName} 访问对象的属性。

10)sessionScope将会话范围的变量名称映射到其值。该对象允许访问会话对象的属性。例

11)applicationScope将应用程序范围的变量名称映射到其值。该隐式对象允许访问应用程序范围的对象。

140.下面哪些属于JSTL中的表达式操作标签。(选择1项)

A.

B.

C.

D.

解答:A

141.Struts框架可以支持以下哪种程序开发语言?(选择1项)

A.C

B.C++

C.Java

D.C#

解答:C

142.在Servlet处理请求的方式为。(选择1项)

A、以进程的方式

B、以程序的方式

C、以线程的方式

D、以响应的方式

解答:C

Servlet采用多线程来处理多个请求同时访问,Servlet容器维护了一个线程池来服务请求。

143.javax.Servlet的包中,属于类的是。(选择1项)

A、Servlet

B、GenericServlet

C、ServletRequest

D、ServletContext

解答:B

ServletContext和ServletRequest是该包下的接口。

144.以下说法正确的是。(选择2项)

A.#CDATA标记表示该元素包含的数据将被解析器解释

B.#PCDATA 标记表示该元素包含的数据将不被解析器解释

C.#PCDATA 标记表示该元素包含的数据将被解析器解释

D.#CDATA 标记表示该元素包含的数据将不被解析器解释

解答:AC

在DTD中,指定某个标签中的内容是字符数据时,使用(#PCDATA)。而指定标签中某个属性的类型为字符型时,使用CDATA,都将被解析器解释。

145.Http缺省的请求方法是。(选择1项)

A.PUT

B.GET

C.POST

D.TRACE

解答:B

146.在XML中用于注释的符号是。(选择1项)

A.

B.

C.<% %>

D.

解答:A

147.DTD与XML Schema都是XML文档。(选择1项)

A.正确

B.不正确

解答:DTD不是XML文件, schema是XML文档

148.JDBC中,用于表示数据库连接的对象是。(选择1项)

A.Statement

B.Connection

C. DriverManager

D.PreparedStatement

解答:B

Statement和PreparedStatement都是用来发送和执行SQL语句的

DriverManager管理一组驱动程序

149.用于调用存储过程的对象是。(选择1项)

A.ResultSet

B.DriverManager

C.CallableStatemet

D.PreparedStatement

解答:C

ResultSet是结果集对象

DriverManager管理一组驱动程序

PreparedStatement预编译的,用来发送和执行SQL语句的

150.如果没有指定Cookie的时效,那么默认的时效是。(选择1项)

A.一天

B. 永不过期

C.会话级别

D.一分钟

解答:C

这是API的原文:By default, -1 indicating the cookie will persist until browser shutdown.

151.

关于上述DTD定义的描述正确的是。(选择1项)

A.Customer元素能包含子元素,并且能为空

B.Customer元素能包含文本,并且能为空

C.Customer元素不能包含文本,也不能包含子元素

D.Customer元素的所有实例的“称呼”属性必须有值,不能为空

解答:C

EMPTY表示元素不能包含文本,也不能包含子元素

#IMPLIED属性可以没有值

#REQUIRED属性必须有值

152.实现现下列哪一种接口的对象,并不需要在web.xml文件内进行额外的设定,Servlet容器就能够回应该对象加入HTTP会话所发生的事件?(选择1项)

A.ServletContextListener

B.HttpSessionListener

C.HttpSessionAttributeListener

D.HttpSessionBindingListener

解答:D

HttpSessionListener只需要设置到web.xml中就可以监听整个应用中的所有session。HttpSessionBindingListener必须实例化后放入某一个session中,才可以进行监听

153.下列哪个为JSP的小脚本的标签?(选择1项)

A.<% %>

B.<@ %>

C.<%! %>

D.<%– %>

解答:A

154.以下不属于JSP的标准指令的是。(选择1项)

A.Taglib

B.Include

C.Import

D.Page

解答:C

import是page指令的一个属性。

155.对于每一个网站访问用户都要访问的变量,应该将它设为________变量。(选择1项)

A. Session

B. Reques

C. Response

D. Application

解答:D

Application应用程序级变量

156.EJB类库存在于Java的哪个版本中?(选择1项)。

A. J2SE

B. J2EE

C. J2ME

D. J2NE

解答:B

Java分为三个体系

JavaSE(Java2 Platform Standard Edition,java平台标准版),

JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),

JavaME(Java 2 Platform Micro Edition,java平台微型版)。

EJB属于JavaEE版本

157.察看下列JSP内容

<% for (int i=0;i<3;i++){ %>

out.print(i*2);

<% } %>

当这个JSP被运行时,其结果是什么?(选择1项)

A.此JSP因为语法错误,无法运行

B.显示出0,2,4

C.显示出0,2,4,6

D.显示出out.print(i*2) out.print(i*2) out.print(i*2)

解答:D

158假设A.jsp内设定一个元素:

下列哪一个为真?(选择1项)

A.bean1的存取范围(scope)默认为application

B.在HTTP会话内可以存取bean1

C.只有在A.jsp内可以存取bean1

D.在A.jsp所属的Web应用程序内均可存取bean1

解答:C

bean1的存取范围(scope)默认为page

(题有一点问题 javabean的规则是要放在一个包中)

159在MVC设计模式中,JavaBean的作用是。(选择1项)

A、Controller

B、Model

C、业务数据的封装

D、View

解答:B

同137题

160在J2EE中属于Web层的组件有(选择1项)

A. HTML

B. EJB

C. Applet

D. JSP

解答:D

161单元测试是在软件开发过程中的哪个阶段完成的? (选择1项)

A. 可行性研究和计划

B. 概要设计

C. 实现

D. 使用和维护

解答:C

162在J2EE的Web应用中,编译后的class文件存放的目录为(选择1项)

A. classes目录

B. images目录

C. jar目录

D. 任意位置

解答:A

163 HttpServlet中,用来处理POST请求的方法是(选择1项)

A. doHead

B. doGet

C. doPost

D. doPut

解答:C

164.DOM中XMLDOMnodelist的length属性的表示是:(选择1项)

A. 该对象中文本字符的长度

B. 该对象中元素节点的数量

C. 该对象中节点的数量

D. 该对象中文档对象的数量

解答:A

length 属性返回注释节点中的文本长度,以字符数计。

165.如何创建Cookie? (选择1项)

A. 使用new Cookie语句

B. 调用response.addCookie方法

C. 使用Cookie的setMaxAge方法

D. setCookie方法

解答:B

166. 关于Web应用程序,下列说法错误的是( )。

A.WEB-INF目录存在于web应用的根目录下

B. WEB-INF目录与classes 目录平行

C. web.xml在WEB-INF目录下

D. Web应用程序可以打包为war文件

解答:B

167有关Servlet的生命周期说法正确的有( )。

A.Servlet的生命周期由Servlet实例控制

B.init()方法在创建完Servlet实例后对其进行初始化,传递的参数为实现ServletContext接口的对象

C.service()方法响应客户端发出的请求

D.destroy()方法释放Servlet实例

解答:C

Servlet 生命周期就是指创建 Servlet 实例后响应客户请求直至销毁的全过程.

Serlvet 生命周期的三个方法:init()–>service()–>destroy(),

Servlet生命周期的各个阶段: 实例化:Servlet 容器创建

Servlet 类的实例对象

初始化:Servlet 容器调用 Servlet 的 init()方法

服务:如果请求 Servlet,则容器调用 service()方法

销毁:销毁实例之前调用 destroy()方法

168.以下web.xml片断( )正确地声明servlet 上下文参数。

A

MAX

100

B

C

D

MAX

100

解答:A

169.以下( )可用于检索session属性userid的值。

A.session. getAttribute (“userid”);

B.session. setAttribute (“userid”);

C.request. getParameter (“userid”);

D.request. getAttribute (“userid”);

解答:A

170.下列JSP代码:

<%

for(int i = 0; i < 10; i++) {

//1

}

%>

以下( )可放置在//1处,不会发生编译错误。

A <%= i %>

B i

C %><%= i %><%

D不写任何内容

解答:CD

171.考虑下面两个JSP文件代码片断: test1.jsp:

<% pageContext.setAttribute(”ten”,new Integer(10));%>

//1

test2.jsp:

数字为:<%= pageContext.getAttribute(”ten”)%>

以下( )放置在test1.jsp中的//1处,当请求test1.jsp时正确输出test2.jsp中的内容。

A.

B.

C.<%@ include file=”test2.jsp” %>

D.由于pageContext对象的scope属性为page,所以test2.jsp不能访问test1.jsp定义的属性

解答:C

pageContext setAttribute(”ten”,new Integer(10));能取到的范围是page,也就是当前页面。

<%@includefile=””%>:编译时包含,静态的,JSP引擎将对所包含的文件进行语法分析.

:运行时包含,静态和动态的都可以,JSP引擎不对所包含的文件进行语法分析,只获得处理的结果

172.有关JSP隐式对象,以下( )描述正确。

A.隐式对象是WEB容器加载的一组类的实例,可以直接在JSP页面使用

B.不能通过config对象获取ServletContext对象

C.response对象通过sendRedirect方法实现重定向

D.只有在出错处理页面才有exception对象

解答:ACD

可以通过config对象获取ServletContext对象

173. 考虑下面JSP文件代码片断:

以下( )代码片断放置在test2.jsp中不会导致错误。

A.

B.

C.<%=request.getParameter(“username”)%>

D.<%=request.getAttribute(“username”)%>

解答:C

174.以下是login.jsp文件的代码片断:

<%@ page isELIgnored=”false”%>

用户名为: ${param.name}

以下( )描述正确。

A.发生运行错误

B.页面会出现一文本框,并且文本框中内容为${param['name']}

C.当用户输入名字并单击“提交”按钮时,在同一页面中的“用户名为:”字样后面会显示用户输入的内容

D.当用户输入名字并单击“提交”按钮时,在同一页面中的“用户名为:”字样后面会显示${param.name}

解答:C

在每个JSP中也可以指定是否该JSP使用EL。在page directive中的isELIgnored属性用来指定是否忽略。格式为:

<%@ page isELIgnored=”true|false”%>

如果设定为真,那么JSP中的表达式被当成字符串处理。

175.doAfterBody()方法是在( )接口中定义的。

A.Tag

B.IterationTag

C.BodyTag

D.TagSupport

解答:B

176.下面代码片断在浏览器中输出结果为( )。

2+3

A.0

B.5

C.2+3

D.无输出

解答:C

标签主要用来将变量保存到JSP 的会话中或JavaBean 的属性中。的语法格式为: 上述的表达式实现的功能是将 value 的值储存至范围为scope 的 varName 变量之中,还可以将 value 的值储存至 target 对象的属性中.如果题中2+3改成${2+3}那么结果就是5.

177.编写一个Filter,除继承HttpServlet类外还需要( )。

A.继承Filter 类

B.实现Filter 接口

C.继承HttpFilter 类

D.实现HttpFilter接口

解答;B

178.以下哪个Hibernate主键生成策略是实现主键按数值顺序递增的?

A、increment

B、identity

C、sequence

D、native

解答:A

increment生成策略:当Hibernate准备在数据库表中插入一条新记录时,首先从数据库表中获取当前主键字段的最大值,然后在最大值基础上加1,作为当前持久化对象的标识符属性值。这种策略即increment生成策略,用其生成的标识符属性的类型可以是long、short、int及其封装类的类型

identity生成策略:在MS SQL Server、MySQL和DB2等数据库中可以设置表中某一个字段的数值自动增长,identity生成策略通过这种方式为当前记录获取主键值的同时为持久化对象赋予标识符属性值。

sequence生成策略:在Oracle、DB2和PostgreSQL等数据库中创建一个序列(sequence),然后Hibernate通过该序列为当前记录获取主键值,进而为持久化对象赋予标识符属性值。

native生成策略:由Hibernate根据所使用的数据库支持能力从identity、sequence或者等生成策略中选择一种

179.在jsp中,page指令的()属性用来引入需要的包或类。

A、extends

B、import

C、language

D、contentType

解答:B

page指令属性简要介绍:

language=”java”

声明脚本语言的种类,暂时只能用”java”

extends=”package.class”

标明JSP编译时需要加入的Java Class的全名,但是得慎重的使用它,它会限制JSP的编译能力.

import=”{package.class | package.* }, …”

需要导入的Java包的列表,这些包就作用于程序段,表达式,以及声明。

下面的包在JSP编译时已经导入了,所以你就不需要再指明了:

java.lang.*

javax.servlet.*

javax.servlet.jsp.*

javax.servlet.http.*

session=”true | false”

设定客户是否需要HTTP Session.如果它为true,那么Session是有用的。

如果它有false,那么你就不能使用session对象,以及定义了scope=session的元素。这样的使用会导致错误. 缺省值是true.

buffer=”none | 8kb | sizekb”

buffer的大小被out对象用于处理执行后的JSP对客户浏览器的输出。

缺省值是8kb

autoFlush=”true | false”

设置如果buffer溢出,是否需要强制输出,如果其值被定义为true(缺省值),输出正常,如果它被设置为false,如果这个buffer溢出,就会导致一个意外错误的发生.如果你把buffer设置为none,那么你就不能把autoFlush设置为false.

isThreadSafe=”true | false”

设置Jsp文件是否能多线程使用。缺省值是true,也就是说,JSP能够同时处理多个用户的请求,如果设置为false,一个jsp只能一次处理一个请求

info=”text”

一个文本在执行JSP将会被逐字加入JSP中,你能够使用

Servlet.getServletInfo方法取回。

errorPage=”relativeURL”

设置处理异常事件的JSP文件。

isErrorPage=”true | false”

设置此页是否为出错页,如果被设置为true,你就能使用exception对象.

contentType=”mimeType [ ;charset=characterSet ]” | “text/html;charset=ISO-8859-1″

设置MIME类型 。缺省MIME 类型是: text/html, 缺省字符集为 ISO-8859-1.

180.正则表达式”\d+\.?\d*”在匹配下列字符串时结果是失败的是?

A 12.5

B 1.25

C 以上都成功

D 以上都失败

解答:B

\d+ 表示可以出现1次或是n次数字

\. .? 表示可以“.”可以出现一次,也可以不出现

\d* 表示可以出现0次或是n次数字


181.下列没有直接采用XML技术的是( )

A. UDDI

B. SOAP

C. AJAX

D.DCOM

解答:D

DCOM(分布式组件对象模型,分布式组件对象模式)是一系列微软的概念和程序接口,利用这个接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象。DCOM基于组件对象模型(COM),COM提供了一套允许同一台计算机上的客户端和服务器之间进行通信的接口(运行在Windows95或者其后的版本上)。

182.下列可以用来解析XML的是( )

A.CSS

B.DTD

C.SAX

D.XSL

解答:C

Java解析xml文件四种方式:SAX DOM JDOM DOM4J

183.下面关于XML叙述不正确的是( )

A.XML标记必须关闭

B.XML是大小写敏感的

C.XML文件只能跟DTD文件一块使用

D.XML和XSL结合可以在浏览器上显示

解答:C

184.在不指定特殊属性的情况下,哪几种HTML标签可以手动输入文本:()

A.

B.

C.

D.

解答:AB

185.关于IFrame表述正确的有:()

A. 通过IFrame,网页可以嵌入其他网页内容,并可以动态更改

B. 在相同域名下,内嵌的IFrame可以获取外层网页的对象

C. 在相同域名下,外层网页脚本可以获取IFrame网页内的对象

D. 可以通过脚本调整IFrame的大小

解答:CD

IFRAME 元素也就是文档中的文档,或者好像浮动的框架(FRAME)。

通过 iframe 对象所在页面的对象模型,你可以访问 iframe 对象的属性,但不能访问其内容。

186.关于表格表述正确的有:()

A. 表格中可以包含TBODY元素

B. 表格中可以包含CAPTION元素

C. 表格中可以包含多个TBODY元素

D. 表格中可以包含COLGROUP元素

E. 表格中可以包含COL元素

解答

186.关于表格表述正确的有:()

A. 表格中可以包含TBODY元素

B. 表格中可以包含CAPTION元素

C. 表格中可以包含多个TBODY元素

D. 表格中可以包含COLGROUP元素

E. 表格中可以包含COL元素

解答:ACDE

caption标签用于定义一个表格标题。标签只能出现在table标签中,且必须紧随table标签之后。每个表格只能定义一个标题。

使用 标签,可以将表格分为一个单独的部分。 标签可将表格中的一行或几行合成一组。

利用标签可以把表格按列划分为若干组,每组可包含一列或几列,然后可以对各组分别设置格式。

通常一个列组的各列格式是相同的,如果列与列有差异,可通过在组内加入标签进行设置。标签只能在

标签和标签中使用。

187.在DHTML中把整个文档的各个元素作为对象处理的技术是:()

A.HTML

B.CSS

C.DOM

D.Script(脚本语言)

解答:C

DOM:文档对象模型

188.下面属于JavaScript对象的有:( )

A. Window

B. Document

C. Form

D. String

E. Navigator

解答:ACE

189.Servlet程序的入口点是?( )

A.init()

B、main()

C、service()

D、doGet()

解答:C

19.不能在不同用户之间共享数据的方法是?( )

A、通过cookie

B、利用文件系统

C、利用数据库

D、通过ServletContext对象

解答:A

191. 模块内聚度越高,说明模块内各成分彼此结合的程度越 A 松散 B 紧密 C 无法判断 D 相同

解答:B

内聚度是指模块内部各成分之间的联结强度.内聚度越高,越容易理解、修改和维护.但内聚度本身是主观的、非形式化的概念,程序设计人员很难客观地评估一个模块的内聚度.为此,人们开发出许多度量准则用于量化模块的内聚度[1~3],为程序设计人员开发出高内聚度的模块提供指南. 192 (单选)软件需求分析阶段的输出主要是 A. 需求说明书 B. 开发计划 C. 可行性报告 D. 设计说明书

解答:A 193. (单选) 以下选项中不是项目经理的职责的是? A. 需求分析 B. 计划 C. 计划跟踪 D. 质量管理 解答:D

质量管理是SQA(软件质量保证)人员的职责 194. (多选)配置管理能起到以下哪些作用? A. 版本管理

B. 变更管理 C. 需求管理 D. 测试管理

解答:AB

195.下面的哪个方法在servlet的response的输出流在URL中保存Session ID。( )

A.The encodeURL method of the HttpServletRequest interface.

B. The encodeURL method of the HttpServletResponse interface.

C.The rewriteURL method of the HttpServletRequest interface.

D. The rewriteURL method of the HttpServletResponse interface.

解答:B

196.看下面这个类

public class IfAttributsChanged implements ServletContextAttributeListener{

public void attributeAdded(ServletContextAttributeEvent scab){

System.out.println(“加入一个属性”);

}

public void attributeRemoved(ServletContextAttributeEvent scab){

System.out.println(“删除一个属性”);

}

}

关于IfAttributsChanged类的叙述,下列哪一个为真?(选择1项)

A.此类可以成功编译

B.此类无法成功编译,原因是缺少attributeChanged()方法。

C.此类无法成功编译,原因是缺少attributeReplaced()方法。

D.此类无法成功编译,原因是缺少attributeUpdated()方法。

解答:C

197.Oracle数据库表空间与用户的关系是 ( )?

A.一对一

B.一对多

C.多对一

D.多对多

解答: D

一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用。

198.oracle数据库表空间与数据文件的关系描述正确的是( )

A.一个表空间只能对应一个数据文件

B.一个表空间可以对应多个数据文件

C.一个数据文件可以对应多个表空间

D.表空间与数据文件没任何对应关系

解答:B

表空间和数据文件发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,

而一个数据文件只能隶属一个表空间

199.判断这PL/SQL 代码块:(选择1项)

BEGIN

FOR i IN 1..6 LOOP

IF i = 2 OR i = 3 THEN null;

ELSE

INSERT INTO example(one) VALUES (i);

END IF;

ROLLBACK;

END LOOP;

COMMIT;

END;

有多少行被插入到表 EXAMPLE ?

A、

B、1

C、2

D、3

解答:A

在循环结束前执行了ROLLBACK 语句,数据被回滚。

2.你判断下面语句,有什么作用?(单选)

GRANT update ON inventory TO joe WITH GRANT OPTION;

A、一个系统权限被授予用户JOE

B、一个对象权限被授予用户JOE

C、用户JOE被授予在这个对象上的所有权限

D、一个系统权限和一个对象权限被授予用户JOE

解答:B

with admin option 只能在赋予 system privilege 的时使用 with grant option 只能在赋予 object privilege 的时使用

21.表 CLASSES 和 表 SCHEDULE 结构如下:

CLASSES:

ID NUMBER(9)

CLASS_NAME VARCHAR2(2)

TEACHER_ID NUMBER(9)

SCHEDULE:

CLASS_TIME DATE

CLASS_ID NUMBER(9)

你建一个视图显示每一课的课名、课时,并按教师ID排序,判断下面语句将返回何种结果? (选择1项)

CREATE VIEW class_schedule AS

SELECT C.class_name, s.class_time FROM classes c, schedule s WHERE C.id = s.class_id;

A .语句创建视图 CLASS_SCHEDULE 且可产生预期结果.

B .语句创建视图 CLASS_SCHEDULE 但不能产生预期结果.

C .语法错误,因为视图不可基于连接查询.

D .语法错,因为语句未包含 ORDER BY 子句.

解答:B

上述试图显示每一课的课名、课时,但是没有按教师ID排序

22.Oracle数据库中,在SQL语句中连接字符串的方法是哪个?(选择1项)

A、cat

B、concat

C、join

D、+

解答:B

23.表 TEACHER 包含如下字段:

列名

可为空否?

数据类型

TEACHER_ID

NOT NULL

NUMBER(9)

NAME

VARCHAR2(25)

SALARY

NUMBER(7,2)

SUBJECT_ID

NOT NULL

NUMBER(3)

SUBJECT_DESCRIPTION

VARCHAR2(2)

你需要将理科教师的工资上浮8%,理科教师的SUBJECT_ID是11,你需用哪一句实现? (选择1项)

A.UPDATE teacher SET salary = salary * 1.8 WHERE subject_description LIKE

‘SCIENCE’

B.UPDATE teacher SET salary = salary * .8 WHERE subject_description LIKE ‘SCIENCE’ AND subject_id = 11

C.UPDATE teacher SET salary = salary * 1.8 WHERE subject_id = 11;

D.UPDATE teacher SET salary = salary + (salary * .8) WHERE subject_description LIKE ‘SCIENCE’ OR subject_id = 11

解答:C

24.定义游标如下:

DECLARE

CURSOR query_cursor(v_salary) IS

SELECT last_name, salary, dept_no

FROM employee

WHERE salary>v_salary;

这条语句为什么会错误?(选择1项)

A. 在游标定义中不允许出现where子句

B. select语句中缺少into子句

C. 参数未指定为变量数据类型

D. 定义cursor的语法写错了

解答:C

25.在 PL/SQL 块的哪部分可以对初始变量赋予新值? (选择1项)

A.结尾部分

B.开头部分

C.执行部分

D.声明部分

解答:C

26.哪句可以实现显示 id 和 description ,条件满足订单时间在 January 1, 1997 以前的,且单价小于 1. 或者大于 5. 的, 结果用订单时间降序排列。(选择1项)

A.SELECT id_number, description FROM inventory

WHERE price IN (1., 5.) OR order_date < ’1-JAN-97′

ORDER BY order_date DESC;

B.SELECT id_number, description FROM inventory

WHERE price BETWEEN 1. AND 5. OR order_date < ’1-JAN-1997′

ORDER BY order_date;

C.SELECT id_number, description FROM inventory

WHERE price < 1. OR price > 5. AND order_date < ’1 -Jan-97′

ORDER BY order_date ASC;

D.SELECT id_number, description FROM inventory

WHERE (price <1. OR price > 5.) AND order_date < ’1-JAN-1997′

ORDER BY order_date DESC;

解答:D

27.判断下面句子,将返回什么值? (选择1项)

SELECT id_number, description, price FROM inventory

WHERE manufacturer_id IN (SELECT manufacturer_id FROM inventory WHERE price > 8. OR quantity > 1);

A返回单价大于8.且数量大于1的存货的 货号、种类、单价信息

B返回单价大于8.或者数量大于1的存货的 货号、种类、单价信息.

C返回单价大于8.或者数量大于1且有制造商号的存货的 货号、种类、单价信息.

D返回单价大于8.或者数量大于1的制造商的所有存货的 货号、种类、单价信息.

解答:C

28.考虑下列声明,那些是不合法的:(选择3项)

A. DECLARE v_name, v_dept VARCHAR2(14);

B. DECLARE v_test NUMBER(5);

C. DECLARE V_MAXSALARY NUMBER(7, 2) = 5;

D. DECLARE V_JOINDATE BOOLEAN := SYSDATE;

解答:ACD

A.v_name没有数据类型

C.:=是赋值

D.V_JOINDATE是boolean类型,sysdate是Date类型

29.关于 PL/SQL 块的执行部分下列说法正确的是?(选择1项)

A.PL/SQL 表达式可以包含分组函数.

B. PL/SQL表达式不可以包含SQL函数.

C. 在SQL 语句中部分分组函数可用.

D. 以上都不对

解答A

21.表(TEACHER)包含以下列:

ID NUMBER(7) PK

SALARY NUMBER(7,2)

SUBJECT_ID NUMBER(7)

判断以下两个SQL语句:

(1)SELECT ROUND(SUM(salary),-2) FROM teacher ;

(2)SELECT subject_id, ROUND(SUM(salary),-2) FROM teacher GROUP BY subject_id ;

有什么不同结果? (选择1项)

A. 语句1将返回每个老师一个结果

B. 语句2将返回多个结果

C. 结果相同,显示不同

D. 将有一个句子产生错误

解答:B

语句1会返回一个结果,就是所有老师的工资和,使用了四舍五入函数

语句2 是按照subject_id进行分组,那么分几组就会有几个结果

211.游标的哪一种属性指示fetch语句是否从活动集中返回行,如未能返回行,则此属性的值为

true ?(选择1项)

A. %FOUND

B. %NOTFOUND

C. %ROWCOUNT

D. %ISOPEN

解答:B

%FOUND 布尔型属性,当最近一次读记录时成功返回,则值为TRUE;

%NOTFOUND 布尔型属性,与%FOUND相反;

%ISOPEN 布尔型属性,当游标已打开时返回 TRUE;

%ROWCOUNT 数字型属性,返回已从游标中读取的记录数

212.哪一子句可实现 SELECT 语句查询员工平均工资小于5的部门信息 ? (选择1项)

A.GROUP BY dept_id WHERE AVG(sal) < 5

B.GROUP BY AVG(sal) HAVING AVG(sal) < 5

C.GROUP BY dept_id HAVING AVG(sal) < 5

D.GROUP BY AVG(sal) < 5

解答:C

使用 HAVING 过滤分组。

213.在PL/SQL中使用哪几种语句来对变量进行赋值? (选择3项)

A :=

B SELECT INTO

C FETCH INTO

D =

解答:ABC

214.你试图用下面句子查询数据:(选择1项)

SELECT 1/NVL(quantity, ) FROM inventory;

为何QUANTITY为 null 空值时,将导致出错?

A. 表达式企图被空值除.

B.换函数参数数据类型不一致.

C.空值不能被转成实际值

D. 表达式企图被零除.

解答:D

nvl(表达式1,表达式2) 这个函数的作用是如果表达式1的值为null,那么取表达式2的值。

215.PL/SQL的哪一部分实现对数据的操作? (选择1项)

A、头部分

B、列外部分

C、执行部分

D、声明部分

解答:C

216下列哪个集合操作符返回两个查询所选择的所有的行。(选择1项)

A Union

B Union all

C Union only

D connect by

解答:B

Union集合操作符返回两个查询所选择的去除重复行。

217.在Oracle中,当需要使用显式游标更新或删除游标中的行时,UPDATE或DELETE语句必须使用()子句。

A.WHERE CURRENT OF

B.WHERE CURSOR OF

C.FOR UPDATE

D.FOR CURSOR OF

解答:C

为了对正在处理(查询)的行不被另外的用户改动,ORACLE 提供一个 FOR UPDATE 子句来对所选择的行进行锁住。该需求迫使ORACLE锁定游标结果集合的行,可以防止其他事务处理更新或删除相同的行,直到您的事务处理提交或回退为止。

如果使用 FOR UPDATE 声明游标,则可在DELETE和UPDATE 语句中使用WHERE CURRENT OF cursor_name子句,修改或删除游标结果集合当前行对应的数据库表中的数据行。

218.在Oracle中,使用下列的语句:CREATE PUBLIC SYNONYM parts FOR Scott.inventory;

完成的任务是()。

A.将Scott.inventory对象的访问权限赋予所有用户

B.指定了新的对象权限

C.指定了新的系统权限

D.给Scott.inventory对象创建一个公用同义词parts

解答:D

使用同义词访问相同的对象,方便访问其它用户的对象,短对象名字的长度。

219.在Oracle中,执行如下PL/SQL语句后

CREATE TYPE car AS OBJECT ( id NUMBER, model VARCHAR2(25), color VARCHAR2(15) );

DECLARE

myvar car.model%TYPE;

BEGIN

END;

变量myvar的数据类型为()。

A.NUMBER

B.car类型

C.VARCHAR2

D.OBJECT

解答:C

定义一个变量,其数据类型与已经定义的某个数据变量的类型相同,或者与数据库表的某个列的数据类型相同,这时可以使用%TYPE。

22.有如下SQL片段

a.select * from asdfh a where a.kehhao in (select kehhao from retail_vip )

b.select * from asdfh a where exists (select r. kehhao from retail_vip r where r.kehhao = a.kehhao)

则以下哪些描述是正确的:

A a,b 含义相同

B a的效率高于b

C b的效率高于a

D a,b 效率高低依赖于表 asdfh 和 kehhao的结构

E a,b 效率高低需考虑表 asdfh和kehhao的数据量

解答:E

in可以分为三类:

形如select * from t1 where f1 in ( a ,b ),应该和以下两种比较效率

select * from t1 where f1= a or f1= b

或者 select * from t1 where f1 = a union all select * from t1 f1= b

形如select * from t1 where f1 in (select f1 from t2 where t2.fx= x)

其中子查询的where里的条件不受外层查询的影响,这类查询一般情况下,自动优化会转成exist语句,也就是效率和exist一样。

形如select * from t1 where f1 in (select f1 from t2 where t2.fx=t1.fx),

其中子查询的where里的条件受外层查询的影响,这类查询的效率要看相关条件涉及的字段的索引情况和数据量多少,一般认为效率不如exists.

除了第一类in语句都是可以转化成exists 语句的,一般编程习惯应该是用exists而不in

221.有如下表结构

客户号(kehhao),日期(riqi),账户余额(zhhuye)

说明表a中记录客户不同日期账户余额,但仅在相邻两天任一客户(kehhao)账户余额(zhhuye)发生变化时,才在表a中添加新记录。

日期(riqi),其中包含多条日期:如2511,2511等

则如下SQL片段含义为:

Select a.kehhao,c.riqi,a.zhhuye

(Select b.riqi as riqi , max(a.riqi) as riqix from b,a where a.riqi <= b.riqi) c

Left join a

On a.riqi = c. riqix

A.选择表a中各个客户在给定日期(给定日期由表b存储)的余额信息

B.选择表a中各个客户在除给定日期(给定日期由表b存储)的余额信息

C.选择表a中各个客户最接近给定日期(给定日期由表b存储)的余额信息

D.以上都不对

解答:D

所有包含于SELECT 列表中,而未包含于组函数中的列都必须包含于 GROUP BY 子句中。

222有如下SQL片段

Delete from asdfh a where a.kaihrq > ‘291214’ and a.jiluzt <> ‘1’其含义为:

A.从表asdfh中删除kaihrq 不小于29年12月14日,且jiluzt不为1的记录

B.从表asdfh中删除kaihrq 和 jiluzt列

C.对表asdfh中删除kaihrq 不小于29年12月14日,且jiluzt不为1的记录打删除标记

D.以上都不正确

解答:C

提交或回滚前的数据状态

改变前的数据状态是可以恢复的

执行 DML 操作的用户可以通过 SELECT 语句查询之前的修正

其他会话不能看到当前用户所做的改变,直到当前会话结束事务。

DML语句所涉及到的行被锁定, 其他会话不能操作。

223.只有满足联接条件的记录才包含在查询结果中,这种联接为?

A.左联接

B.右联接

C.内部联接

D.完全联接

解答:C

内连接 :内连接查询操作列出与连接条件匹配的数据行

外连接:返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左连接)、右表(右连接)或两个边接表(全外连接)中的所有数据行。

224.分机构统计VIP客户的数量下面SQL语句正确的是?

其中

表a:jigou(机构),kehhao(客户号),jiaoyrq(交易日期),jioyje(交易金额)

表b: kehhao(客户号),表b为VIP客户号表

Select ______ from a inner join b on a.kehhao = b.kehhao ________

A.Count(a.kehhao), group by jigou

B.Count(a.kehhao), order by jigou

C.Sum(a.kehhao), order by jigou

D.Count(a.kehhao), having jigou

E.以上都不正确

解答:A

因为是统计各个分机构的VIP客户数量 所以要按照机构进行分组,而有多少条记录那么就有多少

个VIP客户所以使用count

225.SQL语言中修改表结构的命令是?

A.MODIFY TABLE

B.MODIFY STRUCTURE

C.ALTER TABLE

D.ALTER STRUCTURE

解答:C

226.Delete和 truncate 都可以用来删除表内容,一下描述正确的是?

A.Truncate 不需要 rollbacksegment

B.Delete 需要rollbacksegment

C.Truncate在 提交commit之前仍可回滚

D.Truncate还可以删除表结构

解答:AB

TRUNCATE TABLE 语句:删除表中所有的数据并且释放表的存储空间,可以使用 DELETE 语句删除数据,DELETE产生rollback,如果删除大数据量的表速度会很慢,同时会占用很多的rollback segments .truncate 是DDL操作,不产生rollback,速度快一些

227.请给出两个影响系统效率的函数(选两个答案)。

A.UPPER

B.SUM

C.MAX

D.LOWER

解答:BC

228、QUESTION. description of the students table: sid_id number start_date date end_date date which two function are valid on the start_date column?_________。

A. sum(start_date) B. avg(start_date) C. count(start_date) D. avg(start_date,end_date) E. min(start_date)

解答:CE

sum和avg要求数字数据类型。

229、which are DML statements(choose all that apply)______. A.commit

B.merge

C.update

D.delete

E.creat

F.drop

解答:BCD

DML:Data manipulation language 数据操众语言 insert delete update merge

DDL:data definition language 数据定义语言 create alter drop

DCL:data control language 数据控制语言 grant revoke 23、Select 语句中用来连接字符串的符号是______. A. “+” B. “&” C.“||” D.“|”

解答:C

231.从 “员工” 表的“姓名”字段中找出名字包含“玛丽”的人,下面哪条select语句正确:( )

A、 Select * from员工 where 姓名 =’_玛丽_’

B 、Select * from员工 where 姓名 =’%玛丽_’

C、 Select * from员工 where 姓名 like ‘_玛丽%’

D、 Select * from员工 where 姓名 like ‘%玛丽%’

解答:D

LIKE 运算选择类似的值,选择条件可以包含字符或数字,“%” 代表一个或多个字符,“_” 代表一个字符。

232在关系数据库的询问优化中,事先处理文件,如排序、建立索引的目的是()

A优化表达式 B减少中间结果 C扩大缓冲数据 D减少扫描文件的时间

解答:D

233表 CUSTOMER 包含如下列:

CUSTOMER_ID NUMBER(9)

LAST_NAME VARCHAR2(2)

FIRST_NAME VARCHAR2(2)

CREDIT_LIMIT NUMBER(9,2)

如下代码:

DECLARE

CURSOR cust_cursor IS

SELECT customer_id, last_name, first_name

FROM customer;

cust_rec cust_cursor%ROWTYPE;

234.你如何操纵 CUST_REC 中的记录? (选择1项)

A.添加一个 LOOP 到游标声明中.

B.在PL/SQL 块的执行部分,使用 INSERT INTO 语句.

C.在PL/SQL 块的执行部分,使用一个 LOOP 和 FETCH 语句.

D.在PL/SQL 块的执行部分,使用 SELECT 语句使用 INTO 操作.

解答:D

%ROWTYPE操作符, 返回一个记录类型, 其数据类型和数据库表的数据结构相一致,

在这里就和游标查询语句中的数据结果保持一致。

例如: DECLARE CURSOR cust_cursor IS SELECT CUSTOMER_ID, last_name, first_name FROM customer; cust_rec cust_cursor%ROWTYPE; begin open cust_cursor; LOOP

FETCH cust_cursor INTO cust_rec; EXIT WHEN cust_cursor%NOTFOUND; DBMS_OUTPUT.PUT_LINE(cust_rec.last_name); END LOOP; end;

234.定义存储过程如下:

CREATE OR REPLACE PROCEDURE INSERT_TEAM

(V_ID in NUMBER,V_CITY in VARCHER2 DEFAULT ‘AUSTIN’, V_NAME

in VARCHER2)

IS

BEGIN

INSERT INTO TEAM (id, city,name)

VALUES (v_id,v_city,v_name);

COMMIT;

END;

235.以下哪些PL/SQL语句能够正确调用该过程?(选择1项)

A. EXECUTE INSERT_TEAM;

B. EXECUTE INSERT_TEAM (V_NAME=.>”LONG HORNS”);

C. V_CITY=>”AUSTIN”;

D. EXECUTE INSERT_TEAM (3,”AUSTIN”,”LONG HORNS”)

解答:D


你可能感兴趣的:(Java笔试题库之选择题汇总)