东大19秋学期《JAVA语言程序设计Ⅰ》在线作业1
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 60 分)
1.如果你试图编译下面的代码会发生什么事? Class MyString extends String{ }
A.代码编译成功
B.代码不能编译,因为没有定义一个main()方法
C.代码不能编译,因为String是abstract类型的
D.代码不能编译,因为String是final类型的
答案:D
2.已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 }; 下面哪个表达式的值与数组下标量总数相等?
A.m.length()
B.m.length
C.m.length()+1
D.m.length+1
答案:B
3.若有循环: int x=5,y=20; do{ y-=x; x++; }while(++x<--y);则循环体将被执行( )。
A.0次
B.1次
C.2次
D.3次
答案:C
4.下面程序的输出结果是什么? class C1{ static int j=0; public void method(int a){ j++; } } class Test extends C1{ public int method(){ return j++; } public void result(){ method(j); System.out.println(j+method()); } public static void main(String args[]){ new Te
A.0
B.1
C.2
D.3
答案:C
5.下面程序的输出结果是什么? class Happy { public static void main(String args[]) { int i =1; int j = 10; do { if ( i++ < j--) continue; } while ( i <5 ); System.out.println ( i+" "+j ); } }
A.5 5
B.5 4
C.6 4
D.5 6
答案:D
6.给出如下代码: class Test{ private int m; public static void fun() { // some code... } } 如何使成员变量m被函数fun()直接访问?
A.将private int m 改为protected int m
B.将private int m 改为 public int m
C.将private int m 改为 static int m
D.将private int m 改为 int m
答案:C
7.给出下列代码,如何使成员变量m 被方法fun()直接访问? class Test { private int m; public static void fun() { ... } }
A.将private int m 改为protected int m
B.将private int m 改为 public int m
C.将private int m 改为 static int m
D.将private int m 改为 int m
答案:C
8.选择正确的叙述. class Happy extends Frame { Happy() { SetLayout(new GridLayout(2,2)); Panel p1 = new Panel(); add(p1); p1.add( new Button("One")); Panel p2 = new Panel(); add(p2); p2.add( new Button("Two")); add( new Button("Three")); add( new Button("Four")); s
A.当frame调整大小时,按钮Three和Four 的大小也将调整。
B.当frame调整大小时,所有按钮的大小都将调整。
C.当frame调整大小时,按钮Two和Four 的大小也将调整。
D.当frame调整大小时,按钮One和Two 的大小也将调整。
答案:A
9.以下由do-while语句构成的循环执行的次数是( )。 int k = 0; do { ++k; }while ( k < 1 );
A.一次也不执行
B.执行1次
C.无限次
D.有语法错,不能执行
答案:B
10.给出下面的接口: interface A{ int method1(int i); int method2(int j); } 下面那个类实现了这个接口,并且不是抽象的?
A.class B implements A{ int method1(){} int method2(){} }
B.class B { int method1(int i){} int method2(int j){} }
C.class B implements A{ int method1(int i){} int method2(int j){} }
D.class B extends A{ int method1(int i){} int method2(int j){} }
答案:C
11.下面的哪些程序段可以正确地获得从命令行传递的参数的个数?
A.int count = args.length;
B.int count = args.length-1;
C.int count=0; while(args[count]!=null) count++;
D.int count=0;while (!(args[count].equals(“”))) count++;
答案:A
12.已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的?
A.args[0] = "MyTest a b c"
B.args[0] = "MyTest"
C.args[0] = "a"
D.args[1]= 'b'
答案:C
13.下面语句返回的数据类型是什么? (short)10/10.2*2;
A.int
B.double
C.float
D.short
答案:B
14.下面程序的输出结果是什么? class Foo{ static void change(String s){ s=s.replace('j','l'); } public static void main(String args[]){ String s="java"; change(s); System.out.println(s); } }
A.lava
B.java
C.编译错误
D.运行时出现异常
答案:B
15.设有下面两个赋值语句: a = Integer.parseInt("1024"); b = Integer.valueOf("1024").intValue(); 下述说法正确的是( )。
A.a是整数类型变量,b是整数类对象。
B.a是整数类对象,b是整数类型变量。
C.a和b都是整数类对象并且它们的值相等。
D.a和b都是整数类型变量并且它们的值相等。
答案:D
16.顺序执行下列程序语句后,则b的值是 String a="Hello"; String b=a.substring(0,2);
A.Hello
B.hello
C.Hel
D.null
答案:C
17.以下代码的输出结果是什么? class Foo{ public static void main(String args[]){ int x=4,j=0; switch(x){ case 1:j++; case 2:j++; case 3:j++; case 4:j++; case 5:j++; break; default:j++; } System.out.println(j); } }
A.1
B.2
C.3
D.编译错误
答案:B
18.下列类头定义中,错误的是( )。
A.class x { .... }
B.public x extends y { .... }
C.public class x extends y { .... }
D.class x extends y implements y1 { .... }
答案:B
19.下列程序段执行后t5的结果是( )。int t1 = 9, t2 = 11, t3=8;int t4,t5;t4 = t1 > t2 ? t1 : t2+ t1;t5 = t4 > t3 ? t4 : t3;
A.8
B.20
C.11
D.9
答案:B
20.已知如下代码: boolean m = true; if ( m = false ) System.out.println("False"); else System.out.println("True"); 执行结果是什么?
A.False
B.True
C.编译时出错
D.运行时出错
答案:B
二、多选题 (共 10 道试题,共 40 分)
21.在如下源代码文件Test.java中, 哪个是正确的类定义?
A.public class test { public int x = 0; public test(int x) { this.x = x; } }
B.public class Test{ public int x=0; public Test(int x) { this.x = x; } }
C.public class Test extends T1, T2 { public int x = 0; public Test (int x) { this.x = x; } }
D.public class
答案:BD
22.下面代码执行后的输出是什么? outer: for(int i=0;i<3; i++) inner: for(int j=0;j<2;j++) { if(j==1) continue outer; System.out.println(j+ “ and “+i); }
A.0 and 0
B.0 and 1
C.0 and 2
D.1 and 0
E.1 and 1
F.1 and 2
G.2 and 0
H.2 and 1
I.2 and 2
答案:ABC
23.已知如下类定义: class Base { public Base (){ //... } public Base ( int m ){ //... } protected void fun( int n ){ //... } } public class Child extends Base{ // member methods } 如下哪句可以正确地加入子类中?
A.private void fun( int n ){ //...}
B.void fun ( int n ){ //... }
C.protected void fun ( int n ) { //... }
D.public void fun ( int n ) { //... }
答案:CD
24.已知如下类说明: 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.n
答案:AD
25.已知如下定义: String s = "story"; 下面哪些表达式是合法的?
A.s += "books";
B.char c = s[1];
C.int len = s.length;
D.String t = s.toLowerCase();
答案:AD
26.下面的哪些程序片断可能导致错误。
A.String s="Gonewiththewind"; String t="good"; String k=s+t;
B.String s="Gonewiththewind"; String t; t=s[3]+"one";
C.String s="Gonewiththewind"; String standard=s.toUpperCase();
D.String s="homedirectory"; String t=s-"directory".
答案:BD
27.String s=”Example String”; 下面哪些语句是正确的?
A.s>>>=3;
B.int i=s.length();
C.s[3]=”x”;
D.String short_s=s.trim();
E.String t=”root”+s;
答案:BDE
28.请选出创建数组的正确语句。
A.float f[][] = new float[6][6];
B.float []f[] = new float[6][6];
C.float f[][] = new float[][6];
D.float [][]f = new float[6][6];
答案:ABD
29.你怎样从下面main()的调用中访问单词“kiss”? java lyrics a kiss is but a kiss
A.args[0]
B.args[1]
C.args[2]
D.args[3]
E.args[4]
F.args[5]
答案:BF
30.选择所有有效的构造函数。 class Happy { } }
A.public void Happy(){}
B.public Happy(int c){}
C.protected Happy(){}
D.public int Happy(){}
E.void Happy(){}
答案:BC