智慧树知到《Java程序设计》章节测试答案
第一章
1、 Java 语言使用的字符码集是
A:ASCII
B:BCD
C:DCB
D:Unicode
答案: Unicode
2、 Java 源文件和编译后的文件扩展名分别为
A:.class和 .java
B:.java 和 .class
C:.class和 .class
D:.java和 .java
答案: .java 和 .class
3、 关于方法main ()的说法哪个正确?
A:方法main ()只能放在公共类中
B:main()的头定义可以根据情况任意更改
C:一个类中可以没有main()方法
D:所有对象的创建都必须放在main()方法中
答案: 一个类中可以没有main()方法
4、 Java语言具有许多优点和特点, 下列选项中, 哪个反映了Java 程序并行机制的特点:
A:安全性
B:多线程
C:跨平台
D:可移植
答案: 多线程
5、 Java语言最初是面向哪个应用领域设计的?
A:Internet
B:制造业
C:消费电子产品
D:CAD
答案: 消费电子产品
6、 Java在( )年的3月23日诞生。
A:1991
B:1993
C:1995
D:1997
答案: 1995
7、 ava编译器是哪个命令?
A:javac
B:java
C:javae
D:javaw
答案: javac
8、 Java体系主要分为三部分,下列哪个选项不是其中的一个组成部分?
A:Java ME
B:Java SE
C:Java EE
D:Java AE
答案: Java AE
9、 Java编译器是哪个命令?
A:javac
B:java
C:javae
D:javaw
答案: javac
10、 Java运行时解释器是哪个命令?
A:javac
B:java
C:javae
D:javaw
答案: java
第二章
1、 数组也是对象。
A:对
B:错
答案: 对
2、 Java中数组的元素只能是简单数据类型。
A:对
B:错
答案: 错
3、 Java 语言使用的字符码集是
A:ASCII
B:BCD
C:DCB
D:Unicode
答案: Unicode
4、 为了使包ch4在当前程序中可见,可以使用的语句是
A:import ch4.;
B:package ch4.;
C:ch4 import;
D:ch4 package;
答案: import ch4.*;
5、 关于选择结构下列哪个说法正确?
A:if 语句和 else 语句必须成对出现
B:if 语句可以没有else 语句对应
C:switch 结构中每个case 语句中必须用break 语句
D:switch 结构中必须有default 语句
答案: if 语句可以没有else 语句对应
6、 while 循环和 dowhile循环的区别是:
A:没有区别,这两个结构任何情况下效果一样
B:while 循环比 dowhile循环执行效率高
C:while 循环是先循环后判断,所以循环体至少被执行一次
D:dowhile循环是先循环后判断,所以循环体至少被执行一次
答案: dowhile循环是先循环后判断,所以循环体至少被执行一次
7、 return 语句:
A:只能让方法返回数值
B:方法都必须含有
C:方法中可以有多句return
D:不能用来返回对象
答案: 方法中可以有多句return
8、 下列哪个是Java应用程序主类中正确的main方法?
A:public void main(String args[])
B:static void main(String args[])
C:public static void Main(String args[])
D:public static void main(String args[])
答案: public static void main(String args[])
9、 设x=1,y=2,z=3,则表达式y+=z--/++x的值是( )
A:3
B:3.5
C:4
D:5
答案: 3
10、 以下定义一维数组a正确的是?
A:int[4] a=new int[4];
B:int[4] a={1,2,3,4};
C:int [] a=new int[4];
D:int[] a=new int[4]{1,2,3,4};
答案: int [] a=new int[4];
第三章
1、 在Java程序中,可以使用protected来修饰一个类。
A:对
B:错
答案:2、 静态变量是被同一个类的所有实例所共享的。
A:对
B:错
答案:3、 类也是一种数据类型(type)。
A:对
B:错
答案:4、 对象是类的实例(instance)。
A:对
B:错
答案:5、 在类的定义中可以有两个同名函数,这种现象称为函数()
A:封装
B:继承
C:覆盖
D:重载
答案:6、 在类的定义中构造函数的作用是()
A:保护成员变量
B:读取类的成员变量
C:描述类的特征
D:初始化成员变量
答案:7、 为了使包ch4在当前程序中可见,可以使用的语句是
A:import ch4.;
B:package ch4.;
C:ch4 import;
D:ch4 package;
答案:8、 关于对象成员占用内存的说法哪个正确?
A:同一个类的对象共用同一段内存
B:同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
C:对象的方法不占用内存
D:以上都不对
答案:9、 类与对象的关系是
A:类是对象的抽象
B:对象是类的抽象
C:对象是类的子类
D:类是对象的具体实例
答案:10、 为AB 类的一个无形式参数无返回值的方法method 书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为
A:static void method( )
B:public void method( )
C:final void method( )
D:abstract void method( )
答案:第四章
1、 如果一个类的声明中没有使用extends关键字,这个类被系统默认为是继承Object类。
A:对
B:错
答案:2、 以下关于继承的叙述正确的是
A:在Java 中类只允许单一继承
B:在Java 中一个类只能实现一个接口
C:在Java 中一个类不能同时继承一个类和实现一个接口
D:在Java 中接口只允许单一继承
答案:3、 关于继承的说法正确的是:
A:子类将继承父类所有的属性和方法。
B:子类将继承父类的非私有属性和方法。
C:子类只继承父类public 方法和属性
D:子类只继承父类的方法,而不继承属性
答案:4、 覆盖与重载的关系是
A:覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
B:覆盖方法可以不同名,而重载方法必须同名
C:final 修饰的方法可以被覆盖,但不能被重载
D:覆盖与重载是同一回事
答案:5、
关于super的说法正确的是:
A:是指当前对象的内存地址
B:是指当前对象的父类对象的内存地址
C:是指当前对象的父类
D:可以用在main()方法中
答案:6、
在注释//Start For loop 处要插入哪段代码可以实现
根据变量i的值定位访问数组ia[]的所有元素。
public class Lin{
public void amethod(){
int ia[] = new int[4];
//Start For loop
{ ia=i;
System.out.println(ia);
}
}
}
A:for (int i=0; i < ia.length() -1; i++)
B:for (int i=0; i< ia.length(); i++)
C:for (int i=0; i< ia.length-1; i++)
D:for (int i=0; i< ia.length;i++)
答案:7、
设有如下程序,其调试结果为:
class Q2 {
public static void main(String[] args) {
int[] seeds = {1,2,3,4,6,8};
int n= seeds.length;
for (int i = 0; i < 3; i++)
for (int k = 0; k< n-1; k++)
seeds[k]= seeds[k+1];
for (int i = 0; i <n; i++)
System.out.print(\t+seeds);
}
}
A:输出: 1 2 3 4 6 8
B:输出: 4 6 8 8 8 8
C:输出: 2 3 4 6 8 8
D:输出: 2 3 4 6 6 8
ment
if (true) {
Test5 = nement */
System.out.println (The end);
}
}
结果为?
A:输出 Done the test.
B: 程序输出The end
C:程序编译错误.
D:程序输出Done the test和 The end
答案:7、
给出下面的不完整的类代码:
class Person {
String name, department;
int age;
public Person(String n){ name = n; }
public Person(String n, int a){ name = n; age = a; }
public Person(String n, String d, int a) {
// doing the same as two arguments version of constructor
// including assignment name=n,age=a
department = d;
}
}
下面的哪些表达式可以加到构造方法中的doing the same as处?
A:Person(n,a);
B:name=n;age=a;
C:this(n,a);
D:this(name,age);
答案:8、
考虑如下类:
public class Test {
int j,k;
public Test(int j ) {
this(j,0);
}
public Test(int j, int k){
this.j=j;
this.k=k;
}
}
以下哪些可正确创建Test对象?
A:Test t = new Test();
B:Test t = new Test(l);
C:Test t = new Test(l, 2);
D:Test t = new Test(l, 2, 3);
答案:第六章
1、 下面关键字中,哪一个不是用于异常处理语句
A:try
B:break
C:catch
D:finally
答案:2、 请问所有的异常类皆继承哪一个类?
A:java.io.Exception
B:java.lang.Throwable
C:java.lang.Exception
D:java.lang.Error
答案:3、 异常包含下列哪些内容?
A:程序执行过程中遇到的事先没有预料到的情况
B:程序中的语法错误
C:程序的编译错误
D:以上都是
答案:4、 下列描述中,哪一项不属于finally语句应陔执行的功能
A:释放资源
B:关闭文件
C:分配资源
D:关闭数据库
答案:5、 下列关于抛出异常的描述中,错误的是
A:捕捉到发生的异常可在方法中处理,也可以抛到调用该方法的方法中处理
B:在说明要抛出异常的方法时应加关键字throws <异常列表>
C:<异常列表>中可以有多个逗号分隔的异常
D:抛出异常的方法要使用下述抛出异常的语句:throw <异常名> ;其中,<异常名>是异常类的类名。
答案:6、
如何能使程序调用Base类的构造方法输出base constructor;
class Base{
Base(int i){
System.out.println(base constructor);
}
Base(){}
}
public class Sup extends Base{
public static void main(String argv[]){
Sup s= new Sup();
//One
}
Sup() {
//Two
}
public void derived() {
//Three
}
}
A:在//One行之后放置Base(10);
B: 在//One行之后放置super(10);
C:在//Two行之后放置super(10);
D:在//Three行之后放置super(10);
答案:7、
以下程序的输出为?
1: class MyClass
2: {
3: static int maxElements;
4:
5: MyClass(int maxElements)
6: {
7: this.maxElements = maxElements;
8: }
9:
10: }
11:
12: public class Q19
13: {
14: public static void main(String[] args)
15: {
16:
17: MyClass a = new MyClass(100);
18: MyClass b = new MyClass(100);
19:
20: if(a.equals(b))
21: System.out.println(Objects have the same values);
22: else
23: System.out.println(Objects have different values);
24: }
25: }
A:在第20行出错. equals()方法未定义.
B:编译通过,在运行时20行出现异常
C:输出 Objects have the same values.
D:输出 Objects have different values
答案:8、
在构造方法的哪个地方可以调用父类的构造方法?
A:任何地方
B:构造方法的第一条语句
C:构造方法的最后一条语句
D:不能在构造方法中调用super
答案:9、
定义常量时使用的关键字是
A: static
B:final
C:abstract
D:const
答案:10、
设有如下代码:
class Base{}
public class MyCast extends Base{
static boolean b1=false;
static int i = -1;
static double d = 10.1;
public static void main(String argv[]){
MyCast m = new MyCast();
Base b = new Base();
//Here
}
}
则在 //Here处插入哪个代码将不出现编译和运行错误。
A:b=m;
B:m=b;
C:d =i;
D:b1 =i;
答案:第七章
1、 向ArrayList对象中添加一个元素的方法是
A:set(Object c)
B:setObject(Object o)t
C:add(Object o)
D:addObject(Object c)
答案:2、 Java提供了迭代器接口用于遍历集合内部元素
A:对
B:错
答案:3、 Set接口的具体实现类有HashSet和TreeSet
A:对
B:错
答案:4、 Object是Java中所有类的共同父类。
返回栏目