首页 › 答案 › 题库 › 知到智慧树 › 未分类

智慧树知到《Java程序设计(山东联盟-鲁东大学版)》章节测试答案

智慧树知到《Java程序设计(山东联盟-鲁东大学版)》章节测试答案
第一章单元测试
1、Java语言最大的优势在于,它能够在所有的计算机上运行,即“一次编写,处处运行”。。
A.正确
B.错误
正确答案:正确
2、高级语言编写的程序不能直接被计算机识别,必须经过转换才能被执行。
A.正确
B.错误
正确答案:正确
3、解释执行Java字节码文件的是哪个命令?
A.java
B.javap
C.javadoc
D.javac
正确答案:java
第二章单元测试
1、int A = 55;char B = ';E';System.out.println(A + B);
A.175
B.55
C.124
D.65
正确答案:124
2、short c = 8;byte d = 16;System.out.println(";c | d ="; + (c | d));
A.1
B.24
C.-8
D.12
正确答案:24
3、short a = -128;short b = 128;System.out.println(";a &; b = "; + (a &; b));
A.127
B.1
C.0
D.128
正确答案:128
4、char型变量中不能存贮一个中文汉字。
A.正确
B.错误
正确答案:错误
5、下列哪个选项是合法的标识符?
A.1first
B.123
C.()name
D.class
正确答案:()name
6、下列哪个赋值语句是不正确的?
A.double f=11.1E10f
B.double d = 5.3E12
C.float d = 3.14f
D.float f = 11.1
正确答案:float f = 11.1
7、给出下列代码,哪行在编译时可能会有错误?①; public void modify(){②; int i, j, k;③; i = 100;④; while(i >; 0 ){⑤; j = i * 2;⑥; System.out.println("; The value of j is "; + j );⑦; k = k + 1;⑧; }⑨; }
A.7
B.4
C.6
D.8
正确答案:7
第三章单元测试
1、class Count { public int count; public Count(int c) { count = c; }
public Count() { count = 1; }}
public class Test { public static void increment(Count c, int times) { c.count++; times++; }
public static void main(String args[]) { Count myCount = new Count(); int times = 0; for (int i = 0; i <; 3; i++) increment(myCount, times); System.out.println(";myCount.count="; + myCount.count + ";times="; + times); }}程序的运行结果正确的是()
A.myCount.count=3 ;times=0
B.myCount.count=4 ;times=0
C.myCount.count=4 ;times=1
D.myCount.count=3 ;times=1
正确答案:myCount.count=4 ;times=0
2、关于构造方法constructor,下列说法正确的是()
A.一个class只能定义一个constructor
B.constructor必须与class同名,且区分返回值的类型。
C.constructor在一个对象被new时执行
D.class中的constructor不可省略
正确答案:constructor在一个对象被new时执行
3、给出程序的运行结果()class Person { String name; int age; Person(){ System.out.println(";Person()";); } void Person(){ System.out.println(";method()";);;} public void tell(); { System.out.println(";姓名:"; + name + ";,年龄:"; + age); };}
public class ClassTest02 { public static void main(String[] args) { Person person = new Person();;person.name = ";张三";;person.age = 30;;person.tell(); }}
A.Person()姓名:张三,年龄:30
B.姓名:张三,年龄:30
C.method()姓名:张三,年龄:30
D.Person()method()
姓名:张三,年龄:30
正确答案:Person()姓名:张三,年龄:30
4、以下声明合法的是()
A.private ;class ;student{}
B.public; final; static ;void;speed(){}
C.default double; d
D.default ;s
正确答案:public; final; static ;void;speed(){}
5、以下代码运行输出是()
class Man { private String name = ";Jack"; int age = 30;}
public class ManTest { public String tel; public static void main(String[] args) { Man m = new Man(); System.out.println(m.name); }}
A.运行出错
B.输出:Jack
C.编译出错
D.没有输出
正确答案:编译出错
6、给出以下4个重载的方法show,调用show方法时,下面哪个说法是错误的()(1)show(int a ,int b,int c) ;
(2)show(int a ,int b,double c);
(3)show(int a ,double b,double c)
(4)show(double a,double b,int c)
A.调用show(1.0,2,3); 没有一个可行方法
B.调用show(1,2.0,3); 3,4都是可行方法,没有最佳可行方法,编译器会报错
C.调用show(1,2,3);1,2,3,4方法都是可行方法,所有参数完全匹配
D.调用show(1.0,2.0,3.0);没有一个可行方法
正确答案:调用show(1.0,2,3); 没有一个可行方法
7、Java中方法参数的使用情况错误的说法是()
A.一个方法不能让对象参数引用一个新的对象。
B.Java程序设计语言都是采用按值传递。
C.一个方法不能修改一个基本数据类型的参数(数值型或布尔型),是值的拷贝。
D.一个方法不可以改变一个对象参数的状态。
正确答案:一个方法不可以改变一个对象参数的状态。
8、下面的程序中,哪行会报错?public class StaticTest { int age; String name; static int totalFee = 500; public void showName() { System.out.print(this.name); }
public static void showTotalFee() {line 1: System.out.print(totalFee);line 2: showName(); } public static void main(String[] args) {line3: StaticTest.showTotalFee(); }}
A.line 2
B.line 1
C.line 3
正确答案:line 2
第四章单元测试
1、下面程序的运行结果是();int x=30;int[] numbers=new int[x];x=60;System.out.println(numbers.length);
A.30
B.20
C.50
D.60
正确答案:30
2、数组越界访问会发生什么错误?
A.java.io.IOException
B.java.lang.ArrayIndexOutOfBoundsException
C.java.lang.IndexOutOfBoundsException
D.java.lang.Exception
正确答案:java.lang.ArrayIndexOutOfBoundsException
3、关于数组,以下说法错误的是()
A.当二维数组声明时,int[][] numbers=new int[10][];数组的长度就确定了。
B.使用符号=对数组对象赋值时是将对象引用指向同一个数组,而不是将数组内容进行复制。
C.数组是对象,它作为参数传递时的特点和对象是一致的。
D.数组内容的复制可以通过循环实现,也可以通过System.arraycopy实现。
正确答案:当二维数组声明时,int[][] numbers=new int[10][];数组的长度就确定了。
4、String s = new String("xyz");创建了几个String Object?
A.3
B.0
C.2
D.1
正确答案:2
5、创建数组正确的是:
A.Object oa = new float[20]
B.Int ia [][] = (4, 5, 6) (1, 2, 3)
C.int[] ia = new int [15]
D.float fa = new float [20]
E.char[] ca = “Some String”
正确答案:Object oa = new float[20];int[] ia = new int [15]
第五章单元测试
1、下面的程序中,哪行会报错?
public class StaticTest { int age; String name; static int totalFee = 500; public void showName() { System.out.print(this.name); }
public static void showTotalFee() {line 1:System.out.print(totalFee);line 2:showName(); }
public static void main(String[] args) {line3:StaticTest.showTotalFee(); }
}
A.line 3
B.line 1
C.line 2
正确答案:line 2
2、下面关于import, class和package的声明顺序哪个正确?
A.package, class, import
B.import, package, class
C.class, import, package
D.package, import, class
正确答案:package, import, class
3、已知A类被打包在packageA , B类被打包在packageB ,且B类被声明为public ,且有一个成员变量x被声明为, protected控制方式 。C类也位于packageA包,且继承了B类 。则以下说话正确的是()
A.C类的实例不能访问到B类的实例
B.C类的实例可以访问到B类一个实例的x成员
C.A类的实例不能访问到B类的实例
D.A类的实例能够访问到B类一个实例的x成员
正确答案:C类的实例可以访问到B类一个实例的x成员
4、以下程序正确的输出是()
package test;public class FatherClass {public FatherClass() {System.out.println(“FatherClass Create”);}
}
package test;import test.FatherClass;public class ChildClass extends FatherClass {public ChildClass() {System.out.println(“ChildClass Create”);}
public static void main(String[] args) {FatherClass fc = new FatherClass();ChildClass cc = new ChildClass();}
}
A.FatherClass Create
ChildClass Create
FatherClass Create
B.ChildClass Create
ChildClass Create
FatherClass Create
C.FatherClass Create
FatherClass Create
ChildClass Create
D.ChildClass Create
FatherClass Create
FatherClass Create
正确答案:FatherClass Create
FatherClass Create
ChildClass Create
5、以下抽象类的定义中,错误的是?
A.abstract class Demo4{ public static final String CZBK = \高等教育 \
B.abstract class Demo2{ public abstract String fun(String a); }
C.abstract class Demo3{ public String fun(){ return \
D.abstract class Demo1{}
正确答案:abstract class Demo4{ public static final String CZBK = \高等教育 \
6、阅读下列的程序
public class Test3 {public static void main(String[] args) {()} }
class Outer {static class Inner {public void method () {System.out.println(\ } } }
下列选项中,可以正确输出method()方法的是
A.Inner I = new Inner(); i.method()
B.Outer.Inner oi = new Outer.Inner(); oi.method()
C.Outer o = new Outer(); o.method()
正确答案:Outer.Inner oi = new Outer.Inner(); oi.method()
7、在java中一个类被声明为final类型,表示该类不能被继承,意味着它不能再派生出新的子类。
A.正确
B.错误
正确答案:正确
8、自定义的类是否可以继承String类?
A.否
B.不确定
C.是
正确答案:否
第六章单元测试
1、Error和Exception的区别是:
A.error只程序执行出错,exception则是逻辑不完善。
B.error发生后程序会退出执行,exception发生后有可能继续执行。
C.只要设计合理,error和exception都可以被捕获。
D.error发生后程序会出错,exception发生后不影响程序执行。
正确答案:error发生后程序会退出执行,exception发生后有可能继续执行。
2、关于java异常类型的说法,错误的是:
A.Java提供了两类主要的异常:runtimeException和checkedException
B.runtimeException出现的时候程序会由虚拟机接管,NullPointerException就属于此类。
C.如果不对运行时异常进行catch处理,程序也不会终止。
D.checkedException主要是指IO异常、SQL异常等,JVM要求必须对其进行catch处理,所以,不管我们是否愿意,都是要写一大堆的catch块去处理可能出现的异常。
正确答案:如果不对运行时异常进行catch处理,程序也不会终止。
3、哪个关键字可以抛出异常?;
A.finally
B.static
C.throw
D.transient
正确答案:throw
4、下列程序的执行,说法错误的是(C)publicclassMultiCatch{publicstaticvoidmain(Stringargs[]){try{inta=args.length;intb=42/a;intc[]={1};c[42]=99;System.out.println(“b=”+b);}catch(ArithmeticExceptione){System.out.println(“除0异常:”+e);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println(“数组超越边界异常:”+e);}}}A、程序将输出第15行的异常信息下列程序的执行,说法错误的是:public class MultiCatch{public; static; void; main(String; args[]){try{;int; a=args.length;;int; b=42/a;;int; c[]={1};;c[42] = 99;;System.out.println(“b=”+b);};catch(ArithmeticException; e);{;System.out.println(“除0异常:”+e);};catch(ArrayIndexOutOfBoundsException; e);{;System.out.println(“数组超越边界异常:”+e);;};}}
A.程序输出b=12
B.程序将输出第15行的异常信息
C.程序将输出第15和18行的异常信息
D.程序第10行出错
正确答案:程序输出b=12
5、对于catch子句的排列,下列哪种是正确的(B)A、父类在先,子类在后B、子类在先,父类在后C、有继承关系的异常不能在同一个try程序段内D、先有子类,其他如何排列都无关对于catch子句的排列,下列哪种是正确的(B)A、父类在先,子类在后B、子类在先,父类在后C、有继承关系的异常不能在同一个try程序段内D、先有子类,其他如何排列都无关对于catch子句的排列,下列哪种是正确的:
A.父类在先,子类在后
B.有继承关系的异常不能在同一个try程序段内
C.先有子类,其他如何排列都无关
D.子类在先,父类在后
正确答案:子类在先,父类在后
第七章单元测试
1、Java反射框架主要提供以下功能,哪一个是错误的?
A.在运行时能构造任意一个类的对象
B.在运行时不能判断任意一个类所具有的成员变量和方法
C.在运行时能调用任意一个对象的方法
D.在运行时能判断任意一个对象所属的类
正确答案:在运行时不能判断任意一个类所具有的成员变量和方法
2、关于Java反射机制,下面哪个说法是错误的?
A.Class对象可以通过java.lang.Object中的getClass方法获取
B.Java反射机制可以动态地创建对象并调用其属性,这样的对象的类型在编译期是已知的。
C.运用反射会使我们的软件的性能降低,复杂度增加,所以还要慎重的使用它。
D.Java的反射机制就是增加程序的灵活性,避免将程序写死到代码里。
正确答案:Java反射机制可以动态地创建对象并调用其属性,这样的对象的类型在编译期是已知的。
3、有以下代码:package com;public class Test { public static void main(String[] args) { Test test = new Test(); //here } }
在here处加上以下什么语句,可以获得Class对象?(多选)
A.Class; c; =; Class.forName(“Test”)
B.Class; c; =; test.class
C.Class; c; =; Test.class
D.Class; c; =; Class.forName(“com.Test”)
E.Class; c; =; new Class()
F.Class; c; =; test.getClass()
正确答案:Class; c; =; Test.class;Class; c; =; Class.forName(“com.Test”);Class; c; =; test.getClass()
4、如果要访问对象的私有变量,就必须先修改访问权限,通过Constructor类的setAccessible方法实现。
A.正确
B.错误
正确答案:正确
5、关于注解的说明,以下错误的是?
A.注解@Deprecated 的作用是声明方法是过时的,当编程人员调用方法时将会提示警告。
B.public @interface Author{} 这行代码表示自定义一个注解Author
C.注解只可添加于包、类、构造方法上,不能添加到成员变量中。
D.注解@Inherited 允许子类继承父类中的注解
正确答案:注解只可添加于包、类、构造方法上,不能添加到成员变量中。
第八章单元测试
1、public class InheritThread extends Thread {; private String name;; public InheritThread (String name) {;; this.name = name;; }; public void run() {;; System.out.println(";Greetings from thread ';"; + name + ";';!";);; }}public static void main(String args[])
{InheritThread; greetings ;= ;new InheritThread (";Inherited";);greetings.start();System.out.println("; Main Thread has been ended";);}以上代码执行的结果可能是:
A.Greetings from thread;Inherited Main Thread has been ended
B.Main Thread has been ended Greetings from thread;Inherited
C.Main Thread has been ended
正确答案:Greetings from thread;Inherited Main Thread has been ended;Main Thread has been ended Greetings from thread;Inherited
2、线程有 新建(New )、就绪(Runnable)、运行(Running)、阻塞(Blocked )和死亡(Dead )5种状态,哪些情况会导致线程进入阻塞状态?
A.线程调用sleep()方法
B.线程调用join方法
C.线程调用了一个阻塞式IO方法
D.线程在等待某个通知
正确答案:线程调用sleep()方法;线程调用join方法;线程调用了一个阻塞式IO方法;线程在等待某个通知
3、关于线程执行过程说法正确的是:
A.线程进入dead状态后,可以再次调用start方法使其进入待调度状态。
B.在多核处理器中,多个线程可能同时在执行。
C.sleep的时间到达后,线程会被立即唤醒并分配cpu执行。
D.线程的获得的cpu执行时间和线程优先级有关系
正确答案:在多核处理器中,多个线程可能同时在执行。线程的获得的cpu执行时间和线程优先级有关系
4、当编译并运行下面程序时会发生什么结果()public class Bground extends Thread{;public static void main(String argv[]){;Bground b = new Bground();;b.run();;};public void start(){;for (int i = 0; i <;10; i++){;System.out.println(";Value of i = "; + i);;}
}}
A.编译通过并输出0到9
B.运行错误,指明run方法没有定义
C.编译错误,指明run方法没有定义
D.编译通过但无输出
正确答案:编译通过但无输出
5、下面哪些是正确的描述了关键字synhronized()
A.保证两个或多个进程同时启动和结束
B.保证任何时候只有一个线程访问一个方法或对象
C.保证两个或多个线程同时启动和结束
D.允许两个进程并行运行但其之间相互通信
正确答案:保证任何时候只有一个线程访问一个方法或对象