奥鹏福建师范大学21年《JAVA程序设计》网考复习题答案doc.docx
《奥鹏福建师范大学21年《JAVA程序设计》网考复习题答案doc.docx》由会员分享,可在线阅读,更多相关《奥鹏福建师范大学21年《JAVA程序设计》网考复习题答案doc.docx(29页珍藏版)》请在冰豆网上搜索。
奥鹏福建师范大学21年《JAVA程序设计》网考复习题答案doc
单选题
1.下列程序段的输出结果是()。
voidcomplicatedExpression(){
intx=20,y=30;booleanb;
b=x>50&&y>60||x>50&&y<-60||
x<-50&&y>60||x<-50&&y<-60;
System.out.println(b);}
A.true
B.false
C.1
D.0
答案:
B
2.编译运行以下程序后,关于输出结果的说明正确的是()。
publicclassConditional{
publicstaticvoidmain(Stringargs[]){
intx=4;
System.out.println("valueis"+((x>4)?
99.9:
9));
}
}
A.输出结果为:
valueis99.99
B.输出结果为:
valueis9
C.输出结果为:
valueis9.0
D.编译错误
答案:
C
3.下面的方法重载,正确的是()。
A.intfun(inta,floatb){}
floatfun(inta,floatb){}
B.floatfun(inta,floatb){}
floatfun(intx,floaty){}
C.floatfun(floata){}
floatfun(floata,floatb){}
D.floatfun1(inta,floatb){}
floatfun2(inta,floatb){}
答案:
C
4.给出下面代码,关于该程序下列说法正确的是()。
publicclassPerson{
staticintarr[]=newint[5];
publicstaticvoidmain(Stringa[]){
System.out.println(arr[0]);}
}
A.编译时将产生错误
B.编译时正确,运行时将产生错误
C.输出零
D.输出空
答案:
C
5.给出下面代码的输出()。
int[]list1={2,4,7,10};
java.util.Arrays.fill(list1,7);
System.out.println(
java.util.Arrays.toString(list1));
A.[7,7,7,7]
B.[2,4,7,10]
C.[2,4,7,7]
D.[2,7,7,7]
答案:
A
6.给出如下代码:
classTest{
privateintm;
publicstaticvoidfun(){
//somecode...
}
}
可以使成员变量m被函数fun()直接访问的是()。
A.将privateintm改为protectedintm
B.将privateintm改为publicintm
C.将privateintm改为intm
D.将privateintm改为staticintm
答案:
D
7.阅读下面的代码
classDemo{
privateStringname;
Demo(Stringname){this.name=name;}
privatestaticvoidshow(){
System.out.println(name);}
publicstaticvoidmain(String[]args){
Demod=newDemo("lisa");
d.show();
}
}
下列关于程序运行结果的描述中,正确的是()。
A.输出lisa
B.输出null
C.输出name
D.编译失败
答案:
D
8.下面程序运行后的输出结果为()
classA{
staticinty=6;
voidshowy(){System.out.println("y="+y);}
}
classtestA{
publicstaticvoidmain(Stringaaa[]){
Aa1=newA();
A.y+=1;a1.y++;
a1.showy();
}
}
A.y=8
B.y=7
C.y=6
D.程序运行出错
答案:
A
9.已知类的继承关系如下,则以下语句能通过编译的是()。
classEmployee;
classManagerextendsEmployee;
classDirectorextendsEmployee;
A.Employeee=newManager();
B.Directord=newManager();
C.Directord=newEmployee();
D.Managerm=newDirector();
答案:
A
10.下面方法将返回()。
publicstaticintfunc(){
try{return1;
}catch(Exceptione){return2;
}finally{return3;}
}
A.1
B.2
C.3
D.编译错误
答案:
C
11.下列代码的执行结果是()
publicclassTest3{
publicstaticvoidmain(Stringargs[]){
System.out.print(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
12.下面这段代码会产生()个String对象。
Strings1="hello";
Strings2=s1.substring(2,3);
Strings3=s1.toString();
Strings4=newStringBuffer(s1).toString();
A.1
B.2
C.3
D.4
答案:
C
13.关于下面程序的结论正确的是()。
publicclassJ_Test{
publicstaticvoidmain(String[]args){
int[]a=newint[5];
boolean[]b=newboolean[5];
System.out.println(a[4]);
System.out.println(b[5]);
}
}
A.程序可以通过编译并正常运行,结果输出0false
B.程序可以通过编译并正常运行,结果输出1true
C.程序无法通过编译
D.程序可以通过编译,但无法正常运行
答案:
D
14.给出下面代码的输出()。
publicclassTest{
publicstaticvoidmain(String[]args){
int[][]array={{1,2,3,4},{5,6,7,8}};
System.out.println(m1(array)[1]);
}
publicstaticint[]m1(int[][]m){
int[]result=newint[2];
result[0]=m.length;
result[1]=m[0].length;
returnresult;
}
}
A.0
B.1
C.2
D.4
答案:
D
15.下列程序执行后的打印结果是()。
Stringstr="abccdefcdh";
String[]arr=str.split("c");
System.out.println(arr.length);
A.2
B.3
C.4
D.5
答案:
C
16.下面代码的输出结果是()。
StringBufferbuf=newStringBuffer("Beijing2008");
buf.insert(7,"@");
System.out.println(buf.toString());
A.Beijing@2008
B.@Beijing2008
C.Beijing2008@
D.Beijing#2008
答案:
A
17.下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt的内容是()。
importjava.io.*;
publicclassTest{
publicstaticvoidmain(Stringargs[]){
try{
Strings="ABCDE";byteb[]=s.getBytes();
FileOutputStreamfile=
newFileOutputStream("test.txt",true);
file.write(b);file.close();}
catch(IOExceptione){
System.out.println(e.toString());}
}
}
A.ABCABC
B.ABCDE
C.Test
D.ABCDEABCDEABCDE
答案:
D
18.下列类定义中属于合法的抽象类的定义的是()。
A.abstractAnimal{abstractvoidgrowl();}
B.classabstractAnimal{abstractvoidgrowl();}
C.abstractclassAnimal{abstractvoidgrowl();}
D.abstractclassAnimal{
abstractvoidgrowl(){
System.out.println("growl");};}
答案:
C
19.下面程序运行到*处时,j的值为()。
publicclasstest{
publicstaticvoidmain(Stringargs[]){
inti=0xFFFFFFF1;
intj=~i;
*
}
}
A.-15
B.0
C.1
D.14
答案:
D
20.下面程序的运行结果是()。
publicclassTest{
publicstaticvoidmain(String[]args){
for(intx=0;x<5;x++){
if(x%2==0)break;
System.out.print(x+"");
}
}
}
A.12345
B.024
C.13
D.不输出任何内容
答案:
D
21.下面程序运行的结果是()。
publicclassExample{
Stringstr=newString("good");
char[]ch={'a','b','c'};
publicstaticvoidmain(Stringargs[]){
Exampleex=newExample();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+"and");
System.out.print(ex.ch);
}
publicvoidchange(Stringstr,charch[]){
str="testok";ch[]='g';}
}
}
A.goodandabc
B.goodandgbc
C.testokandabc
D.testokandgbc
答案:
B
22.给出下面代码的输出()。
int[][]array=newint[5][6];
int[]x={1,2};
array[0]=x;
System.out.println("array[0][l]is"+array[0][1]);
A.0
B.1
C.2
D.3
答案:
C
23.设有下面两个赋值语句,下述说法正确的是()。
a=Integer.parseInt("12");
b=Integer.valueOf("12").intValue();
A.a是整数类型变量,b是整数类对象
B.a是整数类对象,b是整数类型变量
C.a和b都是整数类对象并且值相等
D.a和b都是整数类型变量并且值相等
答案:
D
24.下面代码运行的结果是()。
ArrayListal=newArrayList();
al.add(true);
al.add(123);
al.add("abc");
System.out.println(al);
A.编译失败
B.[true,123]
C.[true,123,abc]
D.[abc]
答案:
C
25.下面方法在A的子类中属于重写方法的是()。
classA{
protectedintmethod1(inta,intb){
return0;
}
}
A.publicintmethod1(inta,intb){return0;}
B.privateintmethod1(inta,intb){return0;}
C.privateintmethod1(inta,longb){return0;}
D.publicshortmethod1(inta,intb){return0;}
答案:
A
26.下面程序的运行结果是()。
publicclassDemo{
publicstaticvoidmain(String[]args){
try{System.out.println(10/0);
System.out.println("除法正常运行");
}catch(ArithmeticExceptione){
System.out.println("除数不能为0");
}
}
}
A.编译失败
B.编译通过,没有结果输出
C.输出:
除法正常运行
D.输出:
除数不能为0
答案:
D
27.给出以下代码,该程序的运行结果是()。
classExample{
publicstaticvoidmain(Stringargs[]){
try{
bytex=-127;
bytey=(byte)(x>>9);
System.out.println(y);
}catch(Exceptione){
System.out.println("Exception");
}
}
}
A.-1
B.Exception
C.1
D.0
答案:
A
28.在一个合法的Java源程序文件中定义了3个类,其中属性为public的类可能有()个。
A.0
B.1
C.2
D.3
答案:
B
29.以下选项中,switch语句判断条件不可以接收的数据类型是()。
A.float
B.byte
C.char
D.Short
答案:
A
30.while循环和do…while循环的区别是()。
A.没有区别,这两个结构任何情况下效果一样
B.while循环比do…while循环执行效率高
C.while循环是先循环后判断,所以循环体至少被执行一次
D.do…while循环是先循环后判断,所以循环体至少被执行一次
答案:
D
31.下列语句正确的是()。
A.char[][][]charArray=newchar[][][];
B.char[][][]charArray={{{'a','b'},{'c','d'},{'e','f'}}};
C.char[2][2][]charArray={'a','b'};
D.char[][][]charArray={{'a','b'},{'c','d'},{'e','f'}};
答案:
B
32.类与对象的关系是()。
A.类是对象的抽象
B.对象是类的抽象
C.对象是类的子类
D.类是对象的具体实例
答案:
A
33.在类图中,加号“+”表示()。
A.public
B.protected
C.private
D.Default
答案:
A
34.如果要把父类转换为子类,需要用()进行判断。
A.typeof
B.instanceof
C.sizeof
D.Trueof
答案:
B
35.下面有关Java异常类的描述,说法错误的是()。
A.异常的继承结构:
基类为Throwable,Error和Exception继承Throwable,RuntimeException和IOException等继承Exception
B.非RuntimeException一般是程序错误(或缺陷),其必须被try-catch语句块所捕获
C.Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形,Error不需要捕捉
D.RuntimeException包括错误的类型转换、数组越界访问和试图访问空指针等等,必须被try-catch语句块捕获
答案:
D
36.下列关于修饰符混用的说法,错误的是()。
A.abstract不能与final并列修饰同一个类
B.abstract类中可以有private的成员
C.abstract方法必须在abstract类中
D.static方法中能处理非static的属性
答案:
D
37.接口中的属性会自动被修饰为()。
A.publicstatic
B.staticfinal
C.publicstaticfinal
D.publicfinal
答案:
C
38.下面命令中,可以用来正确执行HelloWorld案例的是()。
A.javaHelloWorld
B.javaHelloWorld.java
C.javacHelloWorld
D.javacHelloWorld.java
答案:
A
39.下面语句不会出现编译警告或错误的是()。
A.floatf=1.3;
B.charc="a";
C.byteb=25;
D.booleand=null;
答案:
C
40.假设x和y都是int类型,下面是合法的Java表达式的是()。
A.x>y>0
B.x/-y
C.x-y&&y
D.(x!
=0)||(x==0)
答案:
D
41.System类所在的包是()。
A.javis
B.javutil
C.javawt
D.javlang
答案:
D
42.关于for循环和while循环的说法正确的是()。
A.while循环先判断后执行,for循环先执行后判断
B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果
C.两种循环任何时候都不可以替换
D.两种循环结构中都必须有循环体,循环体不能为空
答案:
B
43.void的含义是()。
A.方法没有返回值
B.方法体为空
C.没有意义
D.定义方法时必须使用
答案:
A
44.“先进后出”所指的数据结构是()。
A.队列
B.栈
C.单链表
D.循环队列
答案:
B
45.为MyClass类的一个无形式参数无返回值的方法method书写方法头,使得使用类名MyClass作为前缀就可以调用它,该方法头的形式为()。
A.staticvoidmethod()
B.publicvoidmethod()
C.finalvoidmethod()
D.abstractvoidmethod()
答案:
A
46.给定如下代码,下面可以作为该类的构造函数的是()。
publicclassTest{}
A.publicvoidTest(){}
B.publicTest(){}
C.publicstaticTest(){}
D.publicstaticvoidTest(){}
答案:
B
47.下列情况可以使用方法重写的是()。
A.父类方法中的形参不适用于子类使用时
B.父类中的方法在子类中没有时
C.父类的功能无法满足子类的需求时
D.父类方法中的返回值类型不适合子类使用
答案:
C
48.@override代表的意思是()。
A.重写
B.重载
C.重用
D.重构
答案:
A
49.下列关于java.io.FileOutputStream的说法错误的是()。
A.javio.FileOutputStream用来进行文件的写入操作。
用它提供的方法可以将指定文件写入本地主机硬盘上。
B.通过类File的实例和者一个表示文件名称的字符串可以生成文件输出流。
在流对象生成的同时文件被打开。
但还不能进行文件读写
C.javio.FileOutputStream可以读取字节文件也可以读取字符文件
D.javio.FileOutputStream一次只能读取一个字节的内容
答案:
D
50.关于方法main()的说法正确的是()。
A.方法main()只能放在公共类中
B.main()的头定义可以根据情况任意更改
C.一个类中可以没有main()方法
D.所有对象的创建都必须放在main()方法中
答案:
C
51.关于选择结构下列说法正确的是()。
A.if语句和else语句必须成对出现
B.if语句可以没有else语句对应
C.switch结构中每个case语句中必须用break语句
D.switch结构中必须有default语句
答案:
B
52.对于一个Java源文件,import,class定义以及package正确的书写顺序是()。
A.package,import,class
B.class,import,package
C.import,package,class
D.package,class,import
答案:
A
53.要产生[20,999]之间的随机整数可以使用的表达式是()。
A.(int)(20+Math.random()*97)
B.20+(int)(Math.random()*980)
C.(int)Math.random()*999
D.20+(int)Math.random()*980
答案:
B
54.以下有关构造方法的说法