20秋学期(1709、1803、1809、1903、1909、2003、2009 )《Java语言程序设计》在线作业
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 50 分)
1.在 Java 中,由Java编译器自动导入,而无需在程序中用import导入的包是()。
A.java.applet
B.java.awt
C.java.util
D.java.lang
答案:D
2.以下关于继承的叙述正确的是()。
A.在Java中类只允许单一继承
B.在Java中一个类只能实现一个接口
C.在Java中一个类不能同时继承一个类和实现一个接口
D.在Java中接口只允许单一继承
答案:A
3.在java语句中,运算符&&实现()
A.逻辑或
B.逻辑与
C.逻辑非
D.逻辑相等
答案:B
4.设原字符串s为StringBuffer型,且s="Hello java",如果想用子串替换把s转换成"Hello World",则正确的语句是( )。
A.s.replace(6,9,"World");
B.s.replace(6,10,"World");
C.s="World";
D.s=replace("java","World");
答案:B
5.下列代码的执行结果是: public class Test3{ public static void main(String args[]){ System.out.println(100%3); System.out.print(","); System.out.println(100%3.0); } }
A.1,1
B.1,1.0
C.1.0,1
D.1.0,1.0
答案:B
6.下列代码的执行结果是: public class Test1{ public static void main(String args[]){ float t=9.0f; int q=5; System.out.println((t++)*(--q)); } }
A.40
B.40.0
C.36
D.36.0
答案:D
7.一个循环一般应包括哪几部分内容()
A.初始化部分
B.循环体部分
C.迭代部分和终止部分
D.以上都是
答案:D
8.下列不属于条件语句关键字的是()
A.if
B.else
C.switch
D.while
答案:D
9.s=s.delete(5,12);如果s="abcdefghigklmn",则执行删除语句后,s的值为( )。
A.abcdefn
B.abcdemn
C.abcde mn
D.abcdelmn
答案:B
10.以下程序段的输出结果为 class Cruncher{ void crunch(int i){ System.out.println("int version"); } void crunch(String s){ System.out.println("String version"); } public static void main(String args[]){ Cruncher crun=new Cruncher(); char ch='p'; crun.crunch(ch);} }
A.int version
B.String version
C.编译出错
D.编译通过,但产生异常
答案:A
11.下面属于Java 关键字的是
A.NULL
B.IF
C.do
D.While
答案:C
12.关于计算机输入和输出,下列哪一项是不正确的( )。
A.一般称为IO: Input Output
B.计算机程序的一般模型可归纳为:输入、计算和输出
C.对于同样的程序,不同的输入,一般会有不同的输出
D.是人机交互的重要手段
答案:C
13.在Java中,负责对字节代码解释执行的是()。
A.垃圾回收器
B.虚拟机
C.编译器
D.多线程机制
答案:B
14.String(byte[ ],int,int)中,第三个参数用来生成字符串的byte型数组的( )。
A.长度
B.起始位置
C.终止位置
D.终止位置+1
答案:A
15.下面哪个不是Java标准库中Writer类的子类( )。
A.FilterWriter
B.PrintWriter
C.LineNumberWriter
D.FileWriter
答案:C
16.在 Java 中,由Java编译器自动导入,而无需在程序中用import导入的包是()。
A.java.applet
B.java.awt
C.java.util
D.java.lang
答案:D
17.如果希望某个变量只可以被类本身访问和调用,则应该使用下列哪一种访问控制修饰( )。
A.private
B.protected
C.private protected
D.public
答案:A
18.在switch(expression)语句中,expression的数据类型不能是( )。
A.double
B.char
C.byte
D.short
答案:A
19.要使类中的某个成员变量只能被同一个包中的类访问到,该变量可用什么修饰符修饰?
A.protected
B.public
C.private
D.应不加修饰符
答案:D
20.关于while和do-while循环,下列说法正确的是()
A.两种循环除了格式不通外,功能完全相同
B.与do-while语句不通的是,while语句的循环至少执行一次
C.do-while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句
D.以上都不对。
答案:D
21.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?
A.String args
B.String ar[]
C.Char arg
D.StringBuffer args[]
答案:B
22.不能构成循环的语句是( )。
A.for语句
B.while语句
C.switch语句
D.do—while语句
答案:C
23.关于方法的形参和实参,下列说法正确的是( )。
A.和实参一样,在定义形参时,即被系统分配内存单元,直至程序结束。
B.实参可以是常量、变量、表达式,但是不能是方法。
C.实参和形参在数量上、类型上和顺序上必须严格一致。
D.方法调用中的数据是单向传递的,即形参的值在方法调用结束后传给实参。
答案:C
24.for(;;)是( )。
A.循环结构
B.分支结构
C.顺序结构
D.选择结构
答案:A
25.如下哪个不是 Java 中有效的关键字?( )
A.const
B.NULL
C.false
D.this
答案:A
二、多选题 (共 10 道试题,共 20 分)
26.下列关于变量的叙述中正确的是( ) 。
A.实例变量是类的成员变量
B.实例变量用关键字static声明
C.在方法中定义的局部变量在该方法被执行时创建
D.局部变量在使用前必须被初始化
答案:ACD
27.下列哪一个属于JAVA语言的数据类型( )。
A.指针类型
B.类
C.数组
D.浮点类型
答案:BCD
28.关于选择结构下列哪些说法错误( )。
A.if语句和 else语句必须成对出现
B.if语句可以没有else语句对应
C.switch结构中每个case语句中必须用break语句
D.switch结构中必须有default语句
答案:ACD
29.关于Java的标准输入输出流,下列哪些是正确的( )。
A.System.out和System.in分别用来处理标准输出和输入
B.标准输入和输出均只针对计算机键盘和屏幕
C.Java对输入和输出编程均要求强制异常保护
D.只有一个标准输入流
答案:ABD
30.以下不正确的描述是( )。
A.方法的定义不可以嵌套,但方法的调用可以嵌套。
B.方法的定义可以嵌套,但方法的调用不可以嵌套。
C.方法的定义和方法的调用均不可以嵌套。
D.方法的定义和方法的调用均可以嵌套。
答案:BCD
31.下面哪些循环不会导致死循环?( )
A.for (int k = 0; k < 0; k++)
B.for (int k = 10; k > 0; k--)
C.for (int k = 0; k < 10; k--)
D.for (int k = 0; k > 0; k++)
答案:ABD
32.下列关于JAVA语言中要使用的一个变量,正确的是( )。
A.在JAVA程序中要使用一个变量,必须先对其进行声明
B.变量声明语句可以在程序的任何地方,只要在变量使用前就可以
C.变量不可以在其作用域之外使用
D.局部变量在使用之前可以不初始化,系统使用默认的初始值
答案:ABC
33.下列语句中,不属于多分支语句的是( )。
A.if语句
B.switch语句
C.do while语句
D.for语句
答案:ACD
34.关于Java Application和Applet的说法中,不正确的是( )。
A.都包含main()方法
B.都通过“appletviewer”命令执行
C.都通过“javac”命令编译
D.都嵌入在HTML文件中执行
答案:ACD
35.下列JAVA语句中,正确是( )。
A.int $e,a,b =10;
B.char c,d ='a';
C.float e=0.0d;
D.double e=0.0f;
答案:ABD
三、判断题 (共 15 道试题,共 30 分)
36.在Java中一个类只能实现一个接口
答案:错误
37.Java的各种数据类型所占用的内存长度与具体软硬件环境有关
答案:错误
38.在Java的方法中定义一个常量要用const关键字。
答案:错误
39.子类必须通过super()关键字调用父类的构造函数
答案:错误
40.Java语言中的数组元素只能是基本数据类型而不能为对象类型。
答案:错误
41.若Java源程序中包含了几个类的定义,则编译后就生成对应的几个字节码文件。
答案:正确
42.数组使用完成后,所占用的存储空间的释放是由垃圾收集器自动回收的。
答案:正确
43.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
答案:正确
44.抽象方法的body部分必须用一对大括号{?}包住
答案:错误
45.在方法中定义的局部变量在该方法被执行时创建
答案:正确
46.Java?类可以作为类型定义机制和数据封装机制
答案:正确
47.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
答案:错误
48.方法的定义可以嵌套,但方法的调用不可以嵌套。
答案:错误
49.实例方法可直接调用超类的实例方法
答案:错误
50.一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。
答案:正确