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
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
B
C
D
解答: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引擎将对所包含的文件进行语法分析.
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
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的
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标签用于定义一个表格标题。
使用
利用
通常一个列组的各列格式是相同的,如果列与列有差异,可通过在组内加入