Java与链表练习题一

1.

1

关于Java的异常处理机制的叙述哪些正确?(C)

A.如果程序发生错误及捕捉到异常情况了,才会执行finally部分
B.其他选项都不正确
C.当try区段的程序发生异常且被catch捕捉到时,才会执行catch区段的程序
D.catch部分捕捉到异常情况时,才会执行finally部分

解析:finally部分是,不管会不会捕捉到异常,都会执行的部分。当try区段的程序发生异常且被catch捕捉到时,才会执行catch区段的程序。

2.链表不具有的特点是()

A.插入、删除不需要移动元素
B.可随机访问任一元素
C.不必事先估计存储空间
D.所需空间与线性长度成正比

解析:链表中不能随机访问任一元素。链表元素的结构可以分为data域和指针域,其中单链表有一个指针域,双向链表有两个指针域;当链表要访问一个元素时,需要将当前链表头指针指向链表元素的data域,要获取当前链表的data域,需要获取指向当前元素的元素,因此,链表头指针只能通过链表元素的指针域前或向后移动,并不能随机访问任意元素。

3.有如下代码:请写出程序的输出结果。(B)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

public class Test

{

    public static void main(String[] args)

    {

        int x = 0;

        int y = 0;

        int k = 0;

        for (int z = 0; z < 5; z++) {

            if ((++x > 2) && (++y > 2) && (k++ > 2))

            {

                x++;

                ++y;

                k++;

            }

        }

        System.out.println(x + ”” +y + ”” +k);

    }

}

A.432
B.531
C.421
D.523

解析:每次循环z,x,y,k对应数值为:

0,1,0,0

1,2,0,0

2,3,1,0

3,4,2,0

4,5,3,1

执行完这次以后,z++为5,不再进入for循环。

4.以下方法,哪个不是对add方法的重载?(B)

1

2

3

4

public class Test

{

    public void add( int x,int y,int z){}

}

A.public int add(int x,int y,float z){return 0;}
B.public int add(int x,int y,int z){return 0;}
C.public void add(int x,int y){}
D.以上都不是

解析:方法的重载是指在一个类中定义多个同名的方法,原则是:名同参不同,返回值类型可以不相同。即,方法名相同,但是其参数类型必须不同。

5.以下代码段执行后的输出结果为

1

2

3

4

5

6

7

public class Test {

public static void main(String args[]) {

int x = -5;

int y = -12;

System.out.println(y % x);

}

}

A.-1
B.2
C.1
D.-2

解析:取模运算,结果的符号和被除数符号一致

6.列不属于算法结构的是(C)

A.输入数据
B.处理数据
C.存储数据
D.输出结果

解析:算法包括0个或多个输入,1个或多个输出,中间有穷个处理过程。存储结构不属于算法结构

7.下面程序的运行结果()

1

2

3

4

5

6

7

8

9

10

11

12

13

        List<String> aa = new ArrayList<String>();

        aa.add("F1");

        aa.add("F2");

        aa.add("F3");

        for (String temp : aa) {

            if ("F3".equals(temp)) {

                aa.remove(temp);

            }

        }

         

        for (String temp : aa){

             System.out.println(temp);

        }

A.抛异常=
B.F1F2
C.F1F2F3
D.F1

解析:在用Iterator遍历ArrayList的时候,如果调用ArrayList的remove方法使得ArrayList的大小发生了改变,那么会抛出ConcurrentModificationException异常。在这里for (String temp : aa)遍历操作就是通过Iterator实现的。

8.c/c++前提下,下列关于构造函数说法正确的是( C.D     )

A.构造函数的返回值为void
B.构造函数不可以被重载
C.构造函数可以是内联函数
D.构造函数可以没有参数

解析:构造函数不能被重载,构造函数无返回值;可以有无参的构造函数。

9.下面属于java引用类型的有?(A.D)

A.String
B.byte
C.char
D.Array

解析:java语言是强类型语言,支持的类型分为两类:基本类型和引用类型。基本类型包括boolean类型和数值类型,数值类型有整数类型和浮点类型。整数类型包括:byte、short、int、long和char;浮点类型包括:float和double

引用类型包括类、接口和数组类型以及特殊的null类型。

10.关于Java以下描述正确的有( A.C     )

A.native关键字表名修饰的方法是由其它非Java语言编写的

B.能够出现在import语句前的只有注释语句
C.接口中定义的方法默认是public和static的
D.构造方法只能被修饰为public或者default

解析:A:native是由调用本地方法库(如操作系统底层函数),可以由C,C++实现

B:import是用于导包语句,其前面可以出现package,用来声明包的

C:接口方法的修饰符可以是:public,abstract,default,static(后两者需要有{})

D:构造方法可以用private,protected,default,private

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值