Java面向对象程序设计综合练习3(选择题)

简介: Java面向对象程序设计综合练习3(选择题)

R2-1

Java的集合框架中重要的接口java.util.Collection定义了许多方法。选项中哪个方法不是Collection接口所定义的?(    

A.

boolean containsAll(Collection c)

B.

compareTo(Object obj)

C.

int size()

D.

boolean remove(Object obj)


R2-2

下列哪种异常是检查型异常,需要在编写程序时声明 (     ).

A.

FileNotFoundException

B.

NullPointerException

C.

IndexOutOfBoundsException

D.

ClassCastException


R2-3

关于char类型的数组,说法正确的是( )。

A.

可以存储整型数值

B.

可以仅通过数组名来访问数组

C.

数组不能转换为字符串

D.

其数组的默认值是'A'


R2-4

当访问无效的数组下标时,会发生( )。

A.

中止程序

B.

系统崩溃

C.

抛出异常

D.

直接跳过


R2-5

以下对自定义异常描述正确的是

A.

自定义异常可以更加明确定位异常出错的位置和给出详细出错信息

B.

自定义异常可以继承自Error

C.

自定义异常必须继承Exception

D.

程序中已经提供了丰富的异常类,使用自定义异常没有意义


R2-6

使用Iterator时,判断是否存在下一个元素可以使用以下哪个方法?()

A.

next()

B.

hash()

C.

hasPrevious()

D.

hasNext()


R2-7

有语句String s=”hello world”; ,以下操作哪个是不合法的?(    )

A.

s>>>=3;

B.

String t=s+”!”;

C.

String ts=s.trim();

D.

int i=s.length();


R2-8

下列数组声明,下列表示错误的是( )

A.

int a[ ]

B.

int[ ] a

C.

int[ ]a[ ]

D.

int[ ][ ] a


R2-9

定义了一维int型数组a[10]后,下面错误的引用是( ) 。

A.

a[0]=5*2

B.

a[10]=2

C.

a[1]=a[2]*a[0]

D.

a[0]=1


R2-10

在Java中,关于HashMap类的描述,以下选项错误的是

A.

HashMap允许将null用作值

B.

HashMap使用键/值得形式保存数据

C.

HashMap允许将null用作键

D.

HashMap 能够保证其中元素的顺序

R2-11

假设方法unsafe() 将抛出IOException, 可以填入如下代码段第1行的选项是( )。

1)

2) { if(unsafe()){//do something…}

3)   else if(safe()){//do the other…}

4) }


A.

public void methodName()


B.

public IOException methodName()


C.

public void methodName() throw IOException


D.

public void methodName() throws IOException


R2-12

在Java中,( )类可用于创建链表数据结构的对象

A.

HashMap

B.

ArrayList

C.

Collection

D.

LinkedList


R2-13

Java异常类(Exception)是( )的子类。

A.

Exception

B.

Error

C.

RuntimeException

D.

Throwable


R2-14

定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为( )

A.

24

B.

25

C.

18

D.

17


R2-15

下面哪个Map是排序的?

A.

LinkedHashMap

B.

Hashtable

C.

TreeMap

D.

HashMap

E.

WeakHashMap


R2-16

给出下面代码,关于该程序以下哪个说法是正确的?(    )

public class Person{
     static int arr[] = new int[5];
     public static void main(String a[]) {
          System.out.println(arr[0]);
     }
}


A.

输出0

B.

编译时将产生错误

C.

输出空

D.

编译时正确,运行时将产生错误


R2-17

以下对异常的描述不正确的有

A.

异常分为Error和Exception

B.

Exception是所有异常类父类

C.

Exception包括RuntimeException和RuntimeException之外的异常

D.

Throwable是所有异常类的父类


R2-18

下列语句会造成数组new int[10]越界是( )。

A.

a[9]

B.

for(int i=0;i<=10;i++) a[i]++;

C.

a[0] += 9;

D.

a[9]=10;


R2-19

下面关于数组声明和初始化的语句那个有语法错误?(   )

A.

String a2[]={"string1","string1","string1"};


B.

int a1[]={3,4,5};


C.

String a3[]=new String(3);


D.

int[][] a4=new int[3][3];

R2-20


下面哪个Set是按照插入顺序排序的?

A.

AbstractSet

B.

TreeSet

C.

HashSet

D.

LinkedHashSet


R2-21

list是一个ArrayList的对象,哪个选项的代码填写到//todo delete处,可以在Iterator遍历的过程中正确并安全的删除一个list中保存的对象?(     )


        Iterator it = list.iterator();
        int index = 0;
        while (it.hasNext()){
              Object obj = it.next();
              if (needDelete(obj)) { //needDelete返回boolean,决定是否要删除
                   //todo delete
               }
              index ++;
        }


A.

list.remove(obj);

B.

it.remove();

C.

list.remove(it.next());

D.

list.remove(index);


R2-22


下面哪个Set是根据内容排序的?

A.

AbstractSet

B.

TreeSet

C.

HashSet

D.

LinkedHashSet


R2-23

下面关于try块的说法正确的是?


A.

对抛出的异常的处理应放在try块中

B.

可能抛出异常的语句应放在try块中

C.

try块后至少应有一个catch 块

D.

try块后必须有finally块


R2-24

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

A.

x[0]为空

B.

x[9]为0

C.

x[10]为0

D.

x[9]未定义


R2-25

执行下面代码,下面描述正确的是( )。

public class Person{
   static int arr[] = new int[10];
   public static void main(String a[]){
     System.out.println(arr[1]);
   }
}

A.

产生编译错误

B.

输出空

C.

输出0

D.

编译正确,运行错误


R2-26

如下程序会抛出( )类型的异常?

public class Test {
  public static void main(String[] args) {
    String s = "abc";
    System.out.println(s.charAt(3));
  }
}

A.

ArithmeticException

B.

ClassCastException

C.

ArrayIndexOutOfBoundsException

D.

StringIndexOutOfBoundsException


R2-27

Java中,要对一个类实现for( : )形式的遍历,则该类必须实现下列哪一个接口?

A.

Iterator

B.

Cloneable

C.

Iterable

D.

Comparable


R2-28

下面程序的运行结果是( )

main() {
    int x=30;
    int[] numbers=new int[x];
    x=60;
    System.out.println(numbers.length);
}

A.

20

B.

50

C.

60

D.

30


R2-29

getCustomerInfo()方法如下,try中可以捕获三种类型的异常,如果在该方法运行中产生了一个IOException,将会输出什么结果(   )。

public void getCustomerInfo() {
            try {
              // do something that may cause an Exception
            } catch (java.io.FileNotFoundException  ex){
                  System.out.print("FileNotFoundException!");
            } catch (java.io.IOException  ex){
                System.out.print("IOException!");
            } catch (java.lang.Exception  ex){
                 System.out.print("Exception!");
            }
}

A.

IOException!Exception!


B.

FileNotFoundException!IOException!Exception!


C.

FileNotFoundException!IOException!


D.

IOException!


目录
相关文章
|
2月前
|
Java 测试技术 开发者
💡Java 零基础:彻底掌握 for 循环,打造高效程序设计
【10月更文挑战第15天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
114 63
|
1月前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
21 2
|
3月前
|
Java 编译器
封装,继承,多态【Java面向对象知识回顾①】
本文回顾了Java面向对象编程的三大特性:封装、继承和多态。封装通过将数据和方法结合在类中并隐藏实现细节来保护对象状态,继承允许新类扩展现有类的功能,而多态则允许对象在不同情况下表现出不同的行为,这些特性共同提高了代码的复用性、扩展性和灵活性。
封装,继承,多态【Java面向对象知识回顾①】
|
3月前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
35 4
|
3月前
|
Java
接口和抽象类【Java面向对象知识回顾②】
本文讨论了Java中抽象类和接口的概念与区别。抽象类是不能被实例化的类,可以包含抽象和非抽象方法,常用作其他类的基类。接口是一种纯抽象类型,只包含抽象方法和常量,不能被实例化,且实现接口的类必须实现接口中定义的所有方法。文章还比较了抽象类和接口在实现方式、方法类型、成员变量、构造方法和访问修饰符等方面的不同,并探讨了它们的使用场景。
接口和抽象类【Java面向对象知识回顾②】
|
2月前
|
存储 Java 程序员
Java基础-面向对象
Java基础-面向对象
17 0
|
3月前
|
Java 开发者
Java 面向对象
Java 是一种面向对象的编程语言,通过对象与类的概念组织代码和数据。面向对象编程的核心包括类、对象、继承、多态、封装和抽象。类是对象的蓝图,定义了属性和行为;对象则是类的实例。继承允许子类继承父类的属性和方法,增强代码复用性;多态则支持通过相同接口调用不同类型对象的行为,包括方法重载和重写。封装通过公共方法隐藏对象细节,提高安全性;抽象则对对象特征进行提炼,通过抽象类和接口实现。理解这些概念有助于设计高效、可维护的 Java 应用程序。
|
7月前
|
搜索推荐 Java
Java的面向对象特性主要包括封装、继承和多态
【4月更文挑战第5天】Java的面向对象特性主要包括封装、继承和多态
53 3
|
6月前
|
Java 开发者
Java 面向对象新视界:揭秘子类如何“继承”父类精华,再添“创新”之笔
【6月更文挑战第16天】在Java的面向对象世界,子类继承父类的特性,如`Circle`继承`Shape`,展示“is-a”关系。子类不仅保留父类的`color`和`display`方法,还添加了`radius`属性及定制的显示逻辑。这种继承与创新允许代码复用,增强灵活性和可扩展性,使得构建复杂系统变得更加高效和模块化。通过持续的继承与定制,开发者能构建出一系列独具特色的类,充分展现面向对象编程的力量。
154 57
|
5月前
|
Java 编译器
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类