pta Java面向对象考试题答案(判断题,单选题,多选题)
pta java 面向对象期末考试
一.判断题(50题)
1.java语言中不用区分字母的大写小写。F
2.为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口。T
3.一个Java源文件就是由类和接口组成的。T
4.Java的字符类型采用的是ASCII编码。F
5.一个Java类可以有多个父类。F
6.Java语言中,变量名可以用汉字表示。T
7.package语句必须放到java程序的最开始。T
8.Java中所有的I/O都是通过流来实现的。T
9.Object是Java中所有类的共同父类。T
10.一个Java源文件中可以有多个类,但只能有一个类是public的。T
11.java.lang包是Java的核心类库,它包含了运行Java程序必不可少的系统类。T
12.在Java程序中,可以使用protected来修饰一个类。T
13.在Java程序中,可以使用private来修饰一个类。T
14.Java的字符类型采用的是Unicode编码,每个Unicode码占16个比特。T
15.Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。T
16.Java中数组的元素只能是简单数据类型。F
17.Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。T
18.如果Java源文件中包含了多个类,那么用编译器javac编译完源文件后将生成多个扩展名为.class的文件。T
19.Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。T
20.Java系统的标准输入对象是System.in,标准输出对象有两个,分别是System.out和System.err。T
21.Java中类和方法都不允许嵌套定义。F
22.JVM is the name of the Java library of classes.(JVM不是Java类库的名称。JVM是虚拟机) F
23.header is a keyword from the Java language. F
24.char of Java is 8-bit. F
25.Arrays in Java can change its size as needed. F
26.All methods in Java use run-time dynamic binding.(Java中的所有方法都使用运行时动态绑定。) F
27.A Java Applet can be executed in a HTML browser after being downloaded from the web server.(从web服务器下载Java小程序后,可以在HTML浏览器中执行。) T
28.Compiled Java program can be executed in any operating systems directly.(编译后的Java程序可以直接在任何操作系统中执行。) F
29.Objects created in JAVA do not need to be deleted or freed by the programmer.(程序员不需要删除或释放用JAVA创建的对象。) T
30.Some Java objects are put in the heap, while some are in stack.(一些Java对象放在堆中,而一些放在堆栈中) F
31.Java is a type-safe language. T
32.Quoted by { and }, any block of Java code may contain variable definitions. (由{和}引用,任何Java代码块都可能包含变量定义。) T
33.Multiple inheritances from classes is not allowed in Java.(Java中不允许从类进行多次继承) T
34.Java is the best programming language to use when you want to create portable MobileApps.(当您想要创建可移植的MobileApps时,Java是最好的编程语言。) F
35.在Java中,接口和类一样,可以用来定义数组。T
36.在Java中,如果程序员没有为类定义构造方法,则将无法创建该类的对象。F
37.Java语言中对于类中的私有数据成员,不允许公有方法对其进行访问。F
38.在Java中,如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的。F
39.这是 IDEA Java IDE (即 Java 语言本地编程工具)的图标,出现在任务栏是正常的,不必警惕。T
40.任何一个二目关系是属于3NF。T
41.任何一个二目关系是属于BCNF。T
42.在BCNF范式中所有非主属性对每一个码都是完全函数依赖。T
43.一个关系的最小函数依赖集是唯一的。F
44.关系模式的分解是唯一的。F
45.任何一个二目关系是属于BCNF。T
46.数据库设计中,规范化程度越高模式就越好。F
47.编译Java程序需要使用java命令。F
48.Python中的注释是可以#开头。T
49.列表的元素可以是任何类型的对象。T
50.对于一维数组,例如:int arr[3]; 则arr[3]表示数组的第3个元素。F
二.单选题(30题)
1.下列不可作为java语言标识符的是(D)。
A.a2 B.$2 C._2 D.22
2.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A).
A.a1.java B.a1.class C.a1 D.都对
3.Java中(C) 。
A.一个子类可以有多个父类,一个父类也可以有多个子类
B.一个子类可以有多个父类,但一个父类只可以有一个子类
C.一个子类可以有一个父类,但一个父类可以有多个子类
D.上述说法都不对
4.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B)
A.安全性
B.多线性
C.跨平台
D.可移植
5.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C )。
A.隐藏
B.覆盖
C.重载
D.Java不支持此特性
6.下列哪些语句关于Java内存回收的说明是正确的? ( D )
A.程序员必须创建一个线程来释放内存
B.内存回收程序负责释放无用内存
C.内存回收程序允许程序员直接释放内存
D.内存回收程序可以在指定的时间释放内存对象
7.A派生出子类B,B派生出子类C,对于如下Java源代码正确的说法是(D)。
1. A a0 =new A(); 2. A a1 =new B(); 3. A a2 =new C();
A.只有第1行能通过编译
B.第1、2行能通过编译,但第3行编译出错
C.第1、2、3行能通过编译,但第2、3行运行时出错
D.第1行、第2行和第3行的声明都是正确的
8.以下关于继承的叙述正确的是( A )。
A.在Java中类只允许单一继承
B.在Java中一个类只能实现一个接口
C.在Java中一个类不能同时继承一个类和实现一个接口
D.在Java中接口只允许单一继承
9.编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A..byte
B..class
C..html
D..exe
10.在Java中用什么关键字修饰的方法可以直接通过类名来调用?( A )
A.static
B.final
C.private
D.void
11.在Java中,"456"属于( B )类的对象。
A.int
B.String
C.Integer
D.Number
12.Java的集合框架中重要的接口java.util.Collection定义了许多方法。选项中哪个方法不是Collection接口所定义的?( C )
A.int size()
B.boolean containsAll(Collection c)
C.compareTo(Object obj)
D.boolean remove(Object obj)
13.在Java中,负责对字节代码解释执行的是( B )。
A.应用服务器
B.虚拟机
C.垃圾回收器
D.编译器
14.关于垃圾收集的哪些叙述是对的。(A)
A.垃圾收集能够在期望的时间释放被java对象使用的内存。
B.垃圾收集将检查并释放不再使用的内存。
C.垃圾收集允许程序开发者明确指定并立即释放该内存。
D.程序开发者必须自己创建一个线程进行内存释放的工作。
15.下面关于缺省构造方法的描述中正确的是( A )。
A.当类中没有定义任何构造方法时,Java编译器将为这个类创建缺省构造方法
B.缺省构造方法可以初始化其他方法中定义的变量
C.Java编译器会为所有的类创建缺省构造方法。
D.如果在一个类中定义的构造方法都声明了参数,Java编译器将为这个类创建一个缺省构造方法
16.下述哪条关于构造方法的说法,不符合Java语法的规定( C )。
A.每个类至少有一个构造方法
B.构造方法必须与类同名
C.构造方法无返回值,其返回值类型必须写为void
D.构造方法可以是private的
17.以下关于Java的局部内部类的说法错误的是( A )
A.局部内部类只能在当前类中使用
B.局部内部类不能包含静态成员
C.局部内部类可以访问外部类的所有成员
D.在局部内部类中定义的内部类不能被private修饰符修饰
18.对于下列代码:
String str1="java";
String str2="java";
String str3=new String("java");
StringBuffer str4=new StringBuffer("java");
以下表达式的值为true的是( A )
A.str1= =str2;
B.str1= =str4;
C.str2= =str3;
D.str3= =str4;
19.在Java中,能实现多重继承效果的方式是( A )。
A.接口
B.继承
C.内部类
D.适配器
20.在编写访问数据库的Java程序中,DriverManager类的作用是( D )。
A.存储结果查询
B.在指定的连接中处理SQL语句
C.处理与数据库的连接
D.处理驱动程序的加载和建立数据库的连接
21.如下程序输出( A )
public class Test {
public static void main(String[] args) {
String s = "Java";
StringBuilder buffer = new StringBuilder(s);
change(s);
System.out.println(s);
}
private static void change(String s) {
s = s + " and HTML";
}
}
A.Java
B.Java and HTML
C.and HTML
D.什么都不显示
22以下代码输出( C )。
public static void main(String[] args) {
String[] tokens = "Welcome to Java".split("o");
for (int i = 0; i < tokens.length; i++) {
System.out.print(tokens[i] + " ");
}
}
A.
Welcome to Java
B.
Welc me to Java
C.
Welc me t Java
D.
Welcome t Java
23.Java 语言的特点不包括( C )
A.平台无关
B.面向对象
C.多重继承
D.支持多线程
24.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C )。
A.隐藏
B.覆盖
C.重载
D.Java不支持此特性
25.某Java源文件代码如下,该源文件应如何命名?(D)
public class A { int a; } class B { int b; } class C { public static void main(String[] args) { System.out.print("HELLO!"); } }
A.一定是A.java
B.一定是B.java
C.一定是C.java
D.不确定
26.当编译和运行下面的Java程序代码会出现什么情况?(D)
public class Sandys{
private int court;
public static void main(String argv[]){
Sandys s=new Sandys(99);
System.out.println(s.court);
}
Sandys(int ballcount){
court=ballcount;
}
}
A.编译错误,变量court被定义为private
B.编译错误,System.out调用的s.court没有被初始化
C.可以编译和运行,没有输出结果
D.可以编译和运行,输出结果为99
27.Java源代码文件的扩展名为( C )
A..txt
B..class
C..java
D..doc
28.Java源代码文件的扩展名为( C )
A..txt
B..class
C..java
D..doc
29.字节码文件经过Java编译器翻译成一种特殊的二进制文件,由JVM负责解释执行。该二进制文件扩展名为(B)
A..java
B..class
C..obj
D..bin
30.下面程序段:
boolean a = false; boolean b = true; boolean c = (a && b) && (!b); boolean result = (a & b) & (!b);
执行完后,正确的结果是(D)。
A.c=false; result=false;
B.c=true; result=true;
C.c=true; result=false;
D.c=false; result=true;
三.多选题(10题)
1.关于Java中的注释,哪些说法是正确的?(ABCD)
A.单行注释形式为://****
B.多行注释形式为:
/*
*****
*/
C.文档注释形式为:
/**
*****
*/
D.注释的作用是增加程序的可读性。
2.下面关于Java中的if结构形式,哪些是合法的?(ABCD)
A.if( )
{ }
B.if( )
{ }
else
{ }
C.if( )
{ }
else if( )
{ }
else if( )
{ }
D.if( )
{ }
else if( )
{ }
else if( )
{ }
else
{ }
3. 选出在JAVA中有效的注释说明(ACDE)
A.//这是注释
B./这是注释/
C./* 这是注释 */
D./**这是注释 */
E./这是注释
4.Java语言中关于接口和抽象类描述正确的有?(ABC)
A.抽象类没有构造函数
B.接口没有构造函数
C.抽象类不允许多继承
D.接口中的方法可以有方法体
5.在Java语言中,有下面的代码段:
String s = null;
会抛出NullPointerException异常的有?(AC)
A.if( (s!=null) & (s.length()>0) )
B.if( (s!=null) & & (s.length()>0) )
C.if( (s==null) | (s.length()==0) )
D.if( (s==null) || (s.length()==0) )
6.在Java中,开发JDBC程序常用到的类有那些?(ABC)
A.Statement
B.Connection
C.ResultSet
D.Manager
7.Java语言中,以下对数组的定义中,哪几项是正确的?(AB)
A.int integer[]={5,6};
B.char[] charray=new char[10];
C.char charray[]=new char(10);
D.int integer[2]={5,6};
8.在Java语言中,考虑以下内容:
方法A调用方法B。方法B是一个可变参数方法。
在上述条件下,下列哪些选项是正确的?(AC)
A.方法A可以调用方法B两次,每次使用不同数量的参数。
B.由于方法B在被方法A调用时不知道要创建的数组大小,因此会导致编译器出错。
C.被调用时,方法B会创建一个数组来存储从方法A传递到方法B的一些参数或所有参数。
D.所有上述各项。
9.如下 Java 语言代码段:
public void create() {
Vector myVect;
myVect = new Vector();
}
下面的( ADE )叙述是正确的?
A.第2行的声明不会为变量myVect分配内存空间。
B.第2行的声明分配一个到Vector对象的引用的内存空间。
C.第2行语句创建一个Vector类对象。
D.第3行语句创建一个Vector类对象。
E.第3行语句为一个Vector类对象分配内存空间。
10.有以下Java语言代码段:
public void test() {
try { oneMethod();
System.out.println("condition 1");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("condition 2");
} catch(Exception e) {
System.out.println("condition 3");
} finally {
System.out.println("finally");
}
}
在oneMethod()方法运行正常的情况下将显示什么?( AD )
A.condition 1
B.condition 2
C.condition 3
D.finally
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)