选择题 (共20题,每题2分, 共40分) 不定向选择题
1)假定x和y为整型,其值分别为16和5,则x/y和(double)x/y的值分别为(A)和(D)。
A3 B 2 C 1 D 3.2
2)以下( CD )是合法的标识符//数字字母下划线,开头不是数字,不能是关键字
A double B 3x C sum D de2$f
3) 分析下面的代码,输出结果正确的是(D)
1---double d=84.54;
2---d++;
3---int c=d/2;
2---d++;
3---int c=d/2;
A 42 B 第二行错误 C 43 D 第三行错误,更改为int c = (int)d/2;
4)下列的程序执行结果是(A)
public class Test {
public static void main(String[] args) {
new Test().test();
}
public void test(){
try {
System.out.print("try");//有异常执行catch
} catch (ArrayIndexOutOfBoundsException e) {
System.out.print("catch1");
} catch (Exception e) {
System.out.print("catch2");
} finally {//有无异常都会执行
System.out.println(" finally");
}
}
}
A. try finally
B. try catch1 finally
C. try catch2 finally
D. finally
5) 关于继承的描述,正确的是(C)
A 继承是提高代码耦合度的一种手段//高內聚,低耦合。要降低耦合度
B 子类能继承父类所有的属性和方法//私有不能继承
C 如果子类能继承父类中的某一个属性,则使用this和super都可以调用该属性
D 在项目中尽量多使用继承,能使得代码非常简洁
6) 给定如下Java代码,编译运行,结果将是(B)
public class Sample
{
private int x;
public Sample(){
x=1;
}
public void Sample(double f){
this.x=(int)f;
}
public int getX(){
return x;
}
public static void main(String args[]){
Sample s=new Sample(5.2);//调用了有参构造方法
System.out.X());
}
}
A. 发生编译期错误,编译器提示:出现重复的方法Sample
B. 发生编译期错误,编译器提示:未定义构造方法Sample(double)
C. 正常运行,输出结果:5.2
D. 正常运行,输出结果:5
7) 给定如下Java代码,可以填入下划线处的语句是(B)
class A{
int num=0;
public A(int i){
java重写和重载的区别 num=i;
}
}
class B extends A{ //A,B类在同一包中
public B(){
super(10);//调用父类的构造
System.out.println("num="+___);//调用父类方法用点取法
}
}
A. getNum();
B. super.num;
C. super(num);
D. A.num;
8)给定如下Java代码,下列(A D)选项可以加入到Sub类中,并能保证编译正确。
class Super{
public float getNum(){
return 3.0f;
}
}
class Sub extends Super{
}
A.public float getNum(){return 4.0f}//方法重写,第一要继承,第二方法名返回值以及参数列表与父类相同
B.pulblic void getNum(){}
C.public getNum(double d){}
D.public double getNum(float d){return 4.0f}
9)编译运行如下java代码,运行结果是(C)
class Test {
public int getAge() {
return 18;
}
public String getAge() {
return “18岁”;
}
public static void main(String[] args) {
Test t = new Test();
System.out.Age());
}
}
A. 18
B. 18岁
C. 编译错误//重载,参数列表相同,报错
D. 运行时错误
10)下面Java代码的运行结果是( C )。
class Penguin {
private String name=null; // 名字
private int health=0; // 健康值
private String sex=null; // 性别
public void Penguin() {
health = 10;
sex = "雄";
System.out.println("执行构造方法。");
}
public void print() {
System.out.println("企鹅的名字是" + name +
",健康值是" + health + ",性别是" + sex+ "。");
}
public static void main(String[] args) {
Penguin pgn = new Penguin();
pgn.print();
}
}
A. 企鹅的名字是null,健康值是10,性别是雄。
B. 执行构造方法。
企鹅的名字是null,健康值是0,性别是null。
C. 企鹅的名字是null,健康值是0,性别是null。
D. 执行构造方法。
企鹅的名字是null,健康值是10,性别是雄。
11)给定一个Java程序Test.java的代码如下所示,编译时,会出现以下(A )情况。
class Parent {
public int count() { // 第1行
return 0;
}
}
public class Test extends Parent {
private int i;
public int count() { // 第2行
return i % 9; // 第3行
}
}
A. 编译通过
B. 在第1行引发编译错误
C. 在第2行引发编译错误
D. 在第3行引发编译错误
12)关于ArrayList和LinkedList的描述,正确的是(A)
A ArrayList的底层使用数组实现,遍历非常方便//数组定长有序类型相同的集合,查询方便,插入和删除比较麻烦
B LinkedList的底层使用链表实现,插入和删除比较麻烦
C ArrayList和LinkedList 如果集合中的数据非常多,则遍历时最好采用
for(int i = 0; I < list.size(); i++){
(i);
}
//迭代器更加适合遍历
D 如果需要在ArrayList的最后一个位置插入一个数据,则可以使用addLast方法//add
13)下列程序中定义了一个Java接口,其中包含(C)处错误
public interface Utility {
private int MAX_SIZE = 20;
int MIN_SIZE = 10;
void use() {
System.out.println(“using it”);
}
private int getSize();
void setSize(int i);
}
A 1 B 2 C 3 D 4
14)给定如下Java代码,可以填入横线处的语句是(AB)
public interface Utility {}
class FourWheeler implements Utility {}
class Car extends FourWheeler {}
class Bus extends FourWheeler {}
public class Test {
public static void main(String[] args) {
__________________
}
}
A. Utility car = new Car()
B. FourWheeler bus = new Bus();
C. Utility ut = new Utility();
D. Bus bus = new FourWheeler();
15以下关于接口的说法中,正确的是(AD)
A.接口中全部方法都是抽象方法,所有方法必须是public访问权限
B.接口中属性都使用public static final修饰,没有显式赋值将使用默认值
C.接口可以有构造方法//只能有抽象方法
D. 一个类只能有一个父类,但可以同时实现多个接口。
16对于构造函数,下列叙述不正确的是( B )
A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
B、构造函数的返回类型只能是void型。//构造函数无返回值
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
B、构造函数的返回类型只能是void型。//构造函数无返回值
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
17给定如下Java代码,编译运行,结果将是(D)
public class Sample
{
private int x;
public Sample(){
x=1;
}
public Sample(double f){
this.x=(int)f;
}
public int getX(){
return x;
}
public static void main(String args[]){
Sample s=new Sample(5.2);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论