南开20春学期(1709、1803、1809、1903、1909、2003)《Java语言程序设计》在线在线作业【答案满分】
------------------------
1.定义一个类,必须使用的关键字是( )。
A.public
B.class
C.interface
D.static
正确答案:
2.设有整型数组的定义int a[]=new int[8]; 则a.length的值为下列哪项( )
A.8
B.9
C.7
D.6
正确答案:
3.下列是Java语言中可用的注释符,其中错误的是( )。
A.//
B./**…*/
C./**…**//*…*/
正确答案:
4.以下程序的功能是:求n!。请在下列程序中填入正确的语句
class FactorialTest{
static long Factorial(int n){
if(n==1)
return 1;
else
_______________}
public static void main(String a[]){
int n=8;
System.out.println(n+"!="+Factorial(n));}
}
A.return n*Factorial(n);
B.return (n-1)*Factorial(n);
C.return n*Factorial(n-1);
D.return (n-1)*Factorial(n-1);
正确答案:
5.下列代码中,将引起一个编译错误的行是()。
1)public class Test{
2) int m,n;
3) public Test(){}
4) public Test(int a){m=a;}
5) public static void main(String args[]){
6) Test t1,t2;
7) int j,k;
8) j=0;k=0;
9) t1=new Test();
10) t2=new Test(j,k);
11) }
12) }
A.第3行
B.第5行
C.第6行
D.第10行
正确答案:
6.请问以下哪个类不能被子类继承 ( )
A.class A{ }
B.abstract final class A{ }
C.native class A{ }
D.final class A{ }
正确答案:
7.下列语句执行后下列语句执行后下列语句执行后下列语句执行后i的值是的值是的值是的值是( ) int i=2; do{i*=i;} while(i<16);
A.4
B.8
C.16
D.3
正确答案:
8.下列语句中执行跳转功能的语句是( )。
A.for 语句
B.while语句
C.continue语句
D.switch语句
正确答案:
9.下面哪个不是Java标准库中Writer类的子类( )。
A.FilterWriter
B.PrintWriter
C.LineNumberWriter
D.FileWriter
正确答案:
10.编译并且执行以下代码,会出现什么情况?
public class Q{
public static void main(String argv[]){
int anar[]=new int[]{1,2,3};
System.out.println(anar[1]);
}
}
A.1
B.有错误,数组anar在初始化以前不能正常输出。
C.2
D.有错误,数组的大小没有定义。
正确答案:
11.设有下面的两个类定义:
class aa{
void Show(){System.out.println("我喜欢Java!");
}
class BB extends aa{
void Show(){System.out.println("我喜欢C++!");
}
}
则顺序执行如下语句后输出结果为:
aa a=new aa();
BB b=new BB();
a.Show();
b.Show();
A.我喜欢Java! 我喜欢C++!
B.我喜欢C++! 我喜欢Java!
C.我喜欢Java! 我喜欢Java!
D.我喜欢C++! 我喜欢C++!
正确答案:
12.下列代码中,将引起一个编译错误的行是()。
1)public class Test{
2) int m,n;
3) public Test(){}
4) public Test(int a){m=a;}
5) public static void main(String args[]){
6) Test t1,t2;
7) int j,k;
8) j=0;k=0;
9) t1=new Test();
10) t2=new Test(j,k);
11) }
12) }
A.第3行
B.第5行
C.第6行
D.第10行
正确答案:
13.顺序执行下列程序语句后,则b的值是
String a="Hello";
String b=a.substring(0,2);
A.Hello
B.hello
C.He
D.null
正确答案:
14.定义一个表示20个值为null的字符串数组,下面选项正确的是( )。
A.String[] a
B.String a[]
C.char a[20][]
D.String a[]=new String[20]
正确答案:
15.在java语句中,运算符||实现()
A.逻辑或
B.逻辑与
C.逻辑非
D.逻辑相等
正确答案:
16.下列修饰符中与访问控制无关的是( )。
A.private
B.public
C.protected
D.final
正确答案:
17.在 Java 中,用 package 语句说明一个包时,该包的层次结构必须是()。
A.与文件的结构相同
B.与文件目录的层次相同
C.与文件类型相同
D.与文件大小相同
正确答案:
18.给出下面程序段:
if(x>0){System.out.println("Hello.");}
else if(x>-3){System.out.println("Nice to meet you!");}
else {System.out.println("How are you ");}
若打印字符串“How are you ”,则x的取值范围是
A.x>0
B.x>-3
C.x<=-3
D.x<=0&x>-3
正确答案:
19.A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明:
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行的声明都是正确的
正确答案:
20.下列程序段的输出结果是
public class operatorsandExpressions{
void stringPlus(){
int x=3,y=4,z=5;
System.out.println(x+y+z);
}
}
A.xyz
B.x+y+z
C.12
D.以上均不正确
正确答案:
21.有语句String s=”hello world”; ,以下操作哪个是不合法的?
A.int i=s.length();
B.s>>>=3;
C.String ts=s.trim()
D.String t=s+”!”;
正确答案:
22.以下代码段执行后的输出结果为( )
int x=-3; int y=-10;
System.out.println(y%x);
A.-1
B.2
C.1
D.3
正确答案:
23.关于main方法中的arg[],下列哪个表述是正确且全面的( )。
A.main方法中的参数是字符串数组arg[ ],args是命令行参数,字符串数组arg[ ]的元素是在程序运行时从命令行输入的。
B.main方法中的参数是字符串数组arg[ ],args是命令行参数,字符串数组arg[ ]的元素是在程序编译时从命令行输入的。
C.main方法中的参数是字符串数组arg[ ],args是命令行参数,字符串数组arg[ ]的元素是在程序编译时直接写入txt文件的。
D.main方法中的参数是字符串数组arg[ ],args是命令行参数,字符串数组arg[ ]的元素可以在任何需要的时刻内输入。
正确答案:
24.Java的平台无关性的实现主要依靠( )。
A.JDK
B.JVM
C.JRE
D.JAR
正确答案:
25.Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是( )。
A.C不仅继承了B中的成员,同样也继承了A中的成员
B.C只继承了B中的成员
C.C只继承了A中的成员
D.C不能继承A或B中的成
正确答案:
26.下列对继承的说法,哪个是正确的
A.子类能继承父类的所有方法和状态
B.子类能继承父类的非私有方法和状态
C.子类只能继承父类public方法和状态
D.子类只能继承父类的方法,而不继承状态
正确答案:
27.下列代码段int i= 1, j= 10 ; do { if (i++> --j) continue; } while(i<5);执行完毕后,i和j的值分别是( )。
A.i = 6 j= 5
B.i = 5 j= 5
C.i = 6 j= 4
D.i = 5 j= 6
正确答案:
28.在java语句中,运算符&&实现()
A.逻辑或
B.逻辑与
C.逻辑非
D.逻辑相等
正确答案:
29.Java中,使用哪个关键字来定义一个接口( )。
A.implements
B.class
C.extends
D.interface
正确答案:
30.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( )。
A.隐藏
B.覆盖
C.重载
D.Java不支持此特性
正确答案:
------------------------
1.重写的方法和被重写的方法必须具有相同的方法名 参数列表和返回类型
T.对
F.错
正确答案:
2.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。
T.对
F.错
正确答案:
3.在创建对象是必须先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象
T.对
F.错
正确答案:
4.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。
A.错误
B.正确
正确答案:
5.一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。
T.对
F.错
正确答案:
6.构造方法是一种特殊的方法,名字与类名一致,但返回类型都为void型。
A.错误
B.正确
正确答案:
7.类是变量和方法的集合体
T.对
F.错
正确答案:
8.只能对一个类的方法进行封装,不能对属性进行封装
T.对
F.错
正确答案:
9.Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出System.out和标准错误输出System.err。
T.对
F.错
正确答案:
10.如果用final修饰方法,则该方法不能在子类中被覆盖
T.对
F.错
正确答案:
11.创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数
T.对
F.错
正确答案:
12.循环体内可以出现多个break语句
T.对
F.错
正确答案:
13.Java的字符类型采用的是Unicode编码,但所占字节由具体软硬件环境决定。
T.对
F.错
正确答案:
14.Java语言中,字符串分为字符串常量和字符串变量2种
T.对
F.错
正确答案:
15.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。
A.错误
B.正确
正确答案:
16.静态方法可以直接访问非静态变量和非静态方法
T.对
F.错
正确答案:
17.在一个java源文件中只能定义public class
T.对
F.错
正确答案:
18.抽象类可以实例化
T.对
F.错
正确答案:
19.构造函数用于创建类的实例对象,构造函数名应与类名相同,在类中必须定义构造函数,且只能定义一个构造函数。
A.错误
B.正确
正确答案:
20.封装的意义不大,因此在编码时尽量不要使用
T.对
F.错
正确答案: