第一套
一、单项选择题(每题1分,共15分)
1.下列哪个选项是合法的标识符? B 2章1节 13页 A.123 B._name C.class D.1first
2.在一个类中定义的成员变量只能被同一包中的类访问,下面哪个选项是正确的? B 6章2节1目84页 A.private
B.无修饰符
C.public
D.protected
3.给定下面的代码段,在main方法中,下列哪个表达式是正确的? A 7章1节3目99页
public class Test { private float f = 1.0f; int m = 12; static int n=1;
public static void main(String arg[]){
Test t = new Test(); } }
A.t.f; B.this.n; C.Test.m; D.Test.f; 4. 下列哪个赋值语句是不正确的? A 2章2节4目 A.float f = 11.1; B.double d = 5.3E12; C.float d = 3.14f ; D.double f=11.1E10f;
5.下列哪个选项是JDK提供的文档生成器?C 1章3节1目6页
A.java.exe B.javap.exe C.javadoc.exe D.javaprof.exe 6.给出下面代码段,下面哪个选项说法是正确的? C 5章1节1目 55页
public class TM{
static int arr[] = new int[10]; public static void main(String a[]) {
System.out.println(arr[1]); } }
A.编译时将产生错误 C.输出零 B.编译时正确,运行时将产生错误
D.输出空
7.给定下面代码段,如果输出结果的第二行为bb=b,那么第一行的输出是什么? B 2章2节4目17页
public class TypeTransition{
public static void main(String args[]){ char a='g'; int i=10; int j=98; int aa=a+i;
System.out.println(\ char bb=(char)j;
System.out.println(\}
}
A.aa=1 B.aa=113 C.aa=G D.aa=203 8.下列代码段的执行结果是什么? A 6章2节2目88页
public class Test { public int aMethod(){ static int i=0; i++;
System.out.println(i); }
public static void main(String args[]){ Test test = new Test(); test.aMethod(); } }
A.编译错误 B.0 C.1 D.运行成功,但不输出
9.定义CONST1是int型public成员变量, 变量值保持为常量100,下列选项中哪个是正确的?C 7章3节102页
A.public int CONST1=100; B.final int CONST1=100;
C.final public int CONST1=100; D.public FINAL int CONST1=100; 10.给定下列代码段,下列哪个表达式返回结果是false? B 5章6节1目
String s = \ String t = \
char c[] = {'h','e','l','l','o'} ;
A.s.equals(t); B.t.equals(c); C.s==t; D.t.equals(s); 11.执行下列代码段后,b的值是什么? C 5章6节2目 String a=\
String b=a.substring(0,2);
A.Hello B.hello C.Hel D.null
12.在oneMethod()方法运行正常的情况下,下面哪个选项是代码段的输出结果? D 3章3节3目35页
public void test() { try { oneMethod();
System.out.println(\} catch (ArrayIndexOutOfBoundsException e) { System.out.println(\} catch(Exception e) {
System.out.println(\} finally {
System.out.print(\} }
A.condition 1 B.condition 2 C.condition 3 finally D.condition 1 finally
13.在switch(expression)语句中,expression的数据类型不能是哪个选项?A 3章3节2目
A.double B.char C.byte D.short
14.下列代码段中,如果要打印字符串为“second”,x的取值范围是什么?A 3章3节1目30页
if(x>0){
System.out.println(“first”); }else if (x>-3){
System.out.println(“second”); }else {
System.out.println(“third”); }
A.x<=0 并且 x>-3 B.x>0 C.x>-3 D.x<=-3
15.下列关于继承的哪项叙述是正确的? D 7章1节1目92页 A.在java中允许多重继承
B.在java中一个类只能实现一个接口
C.在java中一个类不能同时继承一个类和实现一个接口 D.java的单一继承使代码更可靠
二、填空题(每题1分,共8分)
1.Java语言用 进行解释执行。 字节码 1章1节3目 1页 2.执行下列语句后,ss的值为________。 65 3章4节3目42页 int ss=10;
for (int I=10; I>=0;I--) {ss+=I;}
3.执行下列代码段后的输出结果是 。 33 66 99 5章1节2目55页
int a[] = { 11, 22,33 ,44,55,66,77,88,99 }; for (int i=0 ; i
if(a[i]%3==0 ) System.out.println(a[i]+\);
4.设i, j为整型变量、且j=8,执行i=j++*j++ 后,i的值________。 72 2章3节2目
5.若x = 5,y = 10,则 x>y && x++==y -- 的逻辑值为 。 False 2章3节1目20页
6.设 a = 8,则表达式 a >>> 2 的值是 。 2 False 2章3节1目20页 7.下列代码的运行结果是 。6/2 3章2节 30页
public class Test2{
public static void main (string args[]){
System.out.println(“6/2”); } }
8.下列代码段的输出结果是________。CDE 3章3节2目 36页
d=‘C’; switch(d) {
case ‘C’:System.out.println(“C”); case ‘D’:System.out.println(“D”); case ‘E’:System.out.println(“E”); }
三、程序分析题(每题4分,共20分)
1.下面的代码段中,如果方法method()不能正常返回(编译可以通过),该程序的运行结果为__________________ Exception1 Thank you! 3章3节2目35页
public void Test() { try { method();
System.out.println(\
} catch (ArrayIndexOutOfBoundsException e) { System.out.println(\ } catch(Exception e) {
System.out.print(\ } finally{
System.out.print (\ } }
2.下列代码段能否正确编译或输出?如果能,输出结果是什么?如果不能,为什么? ____________________________________ 能正确编译输出Sub 7章1节2目93页
class Base {
public void Base() {
System.out.println(\ } }
public class Sub extends Base {
public static void main(String args[]) { Sub s = new Sub(); }
public Sub () {
System.out.println(\ } }
3.下列程序的输出结果是__________________ 1 6章1节4目79页
public class TestContructor{ int x ; int y ;
TestContructor(int a,int b){
}
TestContructor(){ }
int get_x()
{
x=-1;
y=-1;
x=a; y=b;
return x++;
} }
int get_y() {
return y--;
}
public static void main(String args[]){ TestContructor tc=new TestContructor(); System.out.println(tc.x); }
4.下列代码段运行的输出结果是__________________ Default Two 3章3节2目35页
char x = '1'; switch (x) { case 1:
System.out.println(\ break; default:
System.out.println(\ case 2:
System.out.println(\ break; case 3:
System.out.println(\}
(5)下列代码段在运行时输入:Java Base Hello
是否能正确输出?如果能,输出结果是什么?如果不能,为什么?
____________________________________ 能正确编译,输出时产生异常,args[1]不存在 5章1节2目55页
class Base {
public static void main(String args[]) { System.out.println(args[1]); } }
四、问答题(每题4分,共12分)
1.静态成员变量和实例成员变量有什么区别?6章2节2目86页
用static修饰的成员变量称为静态成员变量,是类的成员变量,不用static修饰的成员变量是实例成员变量,静态成员变量保存在该类的公共内存区中,而不是保存在某个对象的内存区中。
2.在Java中,Super关键字和This关键字的作用各是什么?7章1节3目95页 Super是用来调用父类的数据成员,父类中被覆盖的成员方法和父类的构造方法。 This是用来调用本类中的数据成员,成员方法和其他构造方法。 3.什么是对象?对象的成员如何表示?6章1节3目17页 把客观世界中的事物映射到面向对象的程序设计中就是对象。 对象的成员用对象名.数据成员,对象名.成员方法来表示。