00001笔试题(JAVA)

1.这段程序运行结果()

public class ArrayTest {
    public static void main(String[] args) {
        Object[] ovc;
        String[] sa = {"Green","Blue","Red"};
        ovc = sa;
        System.out.println("color=" + ovc[1]);
    }
}

A.fails to compile; B.prints color=blue
C.prints color=Green D.generates an exception at runtime.
解析:Object类是所有类的基类,String类的对象sa指向了它的内容,当执行ovc=sa的时候,也就是说ovc也指向了sa的内容,所以打印ovc[1]就是打印该数组的第二个值。
2.下面的程序中,能够被JAVA编译器接受的有哪些?

**if (2==3)**//true
if (2=3)
**if (true)** //true
**if (2!=3)** //true
if (aString.equals("hello"))

解析:if(condition)中的condition应该是一个布尔型逻辑表达式,只要符合要求就可以得到结果。
3.在运行Test类的时候,会发生什么事情?

package com.dqpi.test;

class Vehicle {
    public void drive(){
        System.out.println("Vehicle:drive");
    }
}
class Car extends TestS{
    public void drive(){
        System.out.println("Car:drive");
    }
}
public class TestS{
    public static void  main() {
        Vehicle vehicle;
        Car car;
        vehicle=new Vehicle();
        car = new Car();
        vehicle.drive();
        car.drive();
        vehicle=car;
        vehicle.drive();
    }
}

A.在vehicle=car的语句处,产生编译器错误
B.在vehicle=car的语句处,产生运行期错误。
C.输出:Vehicle:drive,Car:drive,Car:drive
D.输出:Vehicle:drive,Car:drive,Vehicle:drive
4.下面关于继承的哪些叙述是正确的()
A.在JAVA中只允许单一继承
B.在JAVA中一个类只可以实现一个接口
C.在JAVA中一个类不能同时实现一个接口继承一个类
D.JAVA的单一继承
解析:在JAVA中是单继承机制,一个类可以同时继承一个类并实现一个或者多个接口。
5.你编译代码class MyString extends String()会出现那种情况()
A.编译成功
B.不能编译,因为没有main方法
C.不能编译,因为String是abstract的
D.不能编译,因为String是final的
解析:主要考察String这个类,该类是一个final关键字修饰的,final关键词修饰的类不能被继承,修饰的方法不能被重写,修饰的常量值不能被改变,否则就会报错。
6.JAVA接口中方法被默认是什么类型()
A.private B.public C.protected D.package
解析:JAVA接口中的method被默认为public static final的,可以省略不写。
7.下面说法哪条是错误的?
A.一个类中的实例方法可以调用其他实例方法
B.静态方法可以调用实例方法
C.实例方法可以调用静态方法
D.静态方法可以调用静态方法。
8.分析下面这句代码

if(5&7>0&&5|2){
            System.out.println("true");
        }

A.代码无法编译
B.代码会被编译,但是不输出内容
C.代码会编译,输出”true”
9.定义一个名为key的类,使其不能被继承,下面哪个定义时对的?
A.class key B.native class key{} C.class key{final;} D.final class key{}
解析:参照第五题的解析
10.相同优先级的若干线程都处于就绪状态,如果要使得当前线程放弃处理器资源,让给其他的线程,应该调用下面哪个方法()
A.init() B.stop() C.sleep() D.start()
解析:init():初始化线程;stop():粗鲁的打断线程;sleep():使得线程睡眠;start()启动线程
11.下列排序方法中,性能最不好的是哪个?
A.直接选择排序 B.冒泡排序 C.快速排序 D.希尔排序
12.下面哪个类的声明时错误的?
A.class A extends B,C{} B.public class A{}
C.abstract class A implements B,C{}
D.class A extends B implements C{}
解析:JAVA支持单继承机制,参考第4题解析
13.what is the effect of adding the sixth element to a vector in the following manner,new Vector(5,10);
A.an IndexOutOfBounds exception is raised.
B.the vector grows in size to a capacity of 10 elements.
C.the vector grows in size to a capacity of 15 elements.
D.nothing,the vector will have grown when the fifth element was added.
14.栈和队列有哪些共同点?
A.都是先进后出 B.都是先进先出
C.只允许在端点处进行插入和删除元素 D.没有共同点
15.冒泡排序的算法效率()
A.N^2 B.n(n-1) C.log(n) D.n
16.下列选项中关于java中的super关键字的说法错误的是
A.super关键字是在子类对象内部指代其父类对象的引用
B.super关键字不仅可以指代子类直接父类,还可以指代父类的父类
C.子类可以通过super关键字调用父类的方法
D.子类可以通过super关键字调用父类的属性。
解析:考察对于super关键字的理解
17.多态的实现不仅可以减少编码的工作量,还可以大大提高编程的可维护性和扩展性,那么实现多态的步骤不包括以下哪个方面()
A.子类重写父类方法 B.子类重载同一个方法
C.定义方法时,把父类型作为参数类型,调用方法时,把父类或子类的对象作为参数传入方法
D.运行时,根据实际创建的对象类型动态决定使用哪个方法。
解析:面向对象的三大特性:封装,继承,多态,
运行时多态存在的三个必要条件:
(1)要有继承(包括接口的实现);
(2)要有重写;
(3)父类引用指向子类对象。
其中方法重载是编译时多态,方法重写是运行时多态。
18.为学院增加一个字段“教师人数”的SQL语句
A.CHANGE TABLE 学院 ADD 教师人数 INT
B.ALTER STRU 学院 ADD 教师人数 INT
C.ALTER TABLE 学院 ADD 教师人数 INT
D.CHANGE TABLE 学院 INSERT 教师人数 INT
解析:参考我写的MySQL数据库表的基本操作
19.SQL中创建唯一索引应使用的语句
A.CREATE index B.CREATE unique index C.CREATE clustered index D.CREATE uncluster index
20.下面这段程序的运行结果是什么

package com.dqpi.test;

public class HasStatic {

    private static int x=100;
    public static void main(String[] args) {
        HasStatic hasStatic = new HasStatic();
        hasStatic.x++;
        HasStatic hasStatic2 = new HasStatic();
        hasStatic2.x++;
        hasStatic = new HasStatic();
        hasStatic.x++;
        HasStatic.x--;
        System.out.println("x=" + x);
    }
}

A.程序编译通过,x=103;
B.10行不能编译通过,x是私有静态变量
C.5行不能编译通过,因为引用了私有静态变量
D.程序编译通过,x=102

你可能感兴趣的:(java,笔试题)