东大19秋学期《JAVA语言程序设计Ⅰ》在线作业3
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 60 分)
1.下面语句返回的数据类型是什么? (short)10/10.2*2;
A.int
B.double
C.float
D.short
答案: B
2.若a的值为3时,下列程序段被执行后,c的值是多少?( ) c = 1; if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4;
A.1
B.2
C.3
D.4
答案: C
3.如果你有下面的类定义 abstract class Shape{ abstract void draw(); } 请问,在试图编译下面的类定义时会发生什么情况? class Square extends Shape{ }
A.都可以成功编译
B.Shpe可以编译,而Square不能
C.Square可以编译,而Shape不能
D.Shape和Square都不能编译
4.下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello”,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是 public class Test implements Runnable{ public static void main(String args[]){ Test t=new Test(); Thread tt=new Thread(t); tt.start(); } public void run(){ for(;;){ try{
A.sleep(1000) InterruptedException
B.sleep(1000) RuntimeException
C.Thread.sleep(1000) RuntimeException
D.Thread.sleep(1000) InterruptedException
答案:
5.以下由do-while语句构成的循环执行的次数是( )。 int k = 0; do { ++k; }while ( k < 1 );
A.一次也不执行
B.执行1次
C.无限次
D.有语法错,不能执行
答案:
6.下列哪个选项的java源文件代码片段是不正确的?
A.package testpackage; public class Test{ }
B.import java.io.*; package testpackage; public class Test{ }
C.import java.io.*; class Person{ } public class Test{ }
D.import java.io.*; import java.awt.*; public class Test{ }
答案:
7.在oneMethod()方法运行正常的情况下,程序段将输出什么? public void test() { try { oneMethod(); System.out.println("condition 1"); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("condition 2"); } catch(Exception e) { System.out.println("condition 3");
A.condition 1
B.condition 2
C.condition 3
D.condition 1 finally
答案:
8.下面程序的输出结果是什么? String s= "ABCD"; s.concat("E"); s.replace('C','F'); System.out.println(s);
A.编译错误,字符串是不可改变的
B.ABFDE
C.ABCDE
D.ABCD
答案:
9.下列语句序列执行后,k的值是( )。 int j=8, k=15; for( int i=2; i!=j; i++ ) { j-=2; k++; }
A.15
B.16
C.17
D.18
答案:
10.下列语句序列执行后,k 的值是( )。 int x=6, y=10, k=5; switch( x%y ) { case 0: k=x*y; case 6: k=x/y; case 12: k=x-y; default: k=x*y-x; }
A.60
B.54
C.0
D.5
答案:
11.下列类头定义中,错误的是( )。
A.class x { .... }
B.public x extends y { .... }
C.public class x extends y { .... }
D.class x extends y implements y1 { .... }
答案:
12.下列语句序列执行后,j 的值是( )。 Int j=3, i=2; while( --i!=i/j ) j=j+2;
A.2
B.4
C.5
D.6
答案:
13.下面的哪些程序段可以正确地获得从命令行传递的参数的个数?
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++;
答案:
14.阅读下列代码后 public class Person{ int arr[]=new int[10]; public static void main(String args[]){ System.out.println(arr[1]); } } 正确的说法是
A.编译时将产生错误
B.编译时正确,运行时将产生错误
C.输出零
D.输出空
答案:
15.下面哪一个类可以访问foo包中的所有变量? package foo; class a{int c} class b{private int d} class c{public int e}
A.class a
B.class b
C.class c
D.都不能
答案:
16.65. 已知有下列类的说明,则下列哪个语句是正确的? 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;
答案:
17.有下面的类: public class Example{ static int x[]=new int[15]; public static void main(String args[]){ System.out.println(x[5]); } } 下面的那些说法是正确的。
A.编译时出错
B.运行时出错
C.输出0
D.输出null
答案:
18.下面程序的输出结果是什么? public static void main(String args[]) { int a=10; int b=20; if(a=b) System.out.println("Not Equal"); else System.out.println("Equal"); }
A.Equal
B.Not Equal
C.编译错误
D.运行时将抛出异常
答案:
19.Person, Student 和Teacher 都是类名。这些类有以下继承关系。 Person | -------------------- | | Student Teacher 并且在Java源代码中有如下表达式: Person p = new Student(); 如下哪个语句是正确的?
A.这条语句是合法的
B.这条语句是不合法的
C.编译时出错
D.编译正确但运行时出错
答案:
20.已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的?
A.args[0] = "MyTest a b c"
B.args[0] = "MyTest"
C.args[0] = "a"
D.args[1]= 'b'
答案:
二、多选题 (共 10 道试题,共 40 分)
21.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;
答案:
22.针对下面的程序,那些表达式的值是true? Class Aclass{ private long val; public Aclass(long v){val=v;} public static void main(String args[]){ Aclass x=new Aclass(10L); Aclass y=new Aclass(10L); Aclass z=y; long a=10L; int b=10; } }
A.a==b;
B.a==x;
C.y==z;
D.x==y;
E.a==10.0;
答案:
23.已知如下定义: String s = "story"; 下面哪些表达式是合法的?
A.s += "books";
B.char c = s[1];
C.int len = s.length;
D.String t = s.toLowerCase();
答案:
24.已知如下代码: switch (m) { case 0: System.out.println("Condition 0"); case 1: System.out.println("Condition 1"); case 2: System.out.println("Condition 2"); case 3: System.out.println("Condition 3");break; default: System.out.println("Other Condition"); } 当m 的
A.0
B.1
C.2
D.3
E.4
F.以上都不是
答案:
25.给出下面的代码段: public class Base{ int w, x, y ,z; public Base(int a,int b) { x=a; y=b; } public Base(int a, int b, int c, int d) { //赋值 x=a, y=b w=d; z=c; } } 在代码说明//赋值 x=a, y=b处写入如下哪几行代码是正确的?
A.Base(a,b)
B.x=a,y=b;
C.x=a;y=b;
D.this(a,b);
答案:
26.已知如下代码: public class Test { public static void main(String arg[]) { int i = 5; do { System.out.println(i); } while (--i>5) System.out.println("finished"); } } 执行后的输出结果包括什么?
A.5
B.4
C.6
D.finished
E.什么都不输出
答案:
27.在如下源代码文件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
答案:
28.假定文件名是“Fred.java”,下面哪个是正确的类声明。
A.public class Fred{ public int x = 0; public Fred (int x){ this.x=x; } }
B.public class fred{ public int x = 0; public Fred (int x){ this.x=x; } }
C.public class Fred extends MyBaseClass{ public int x = 0; }
答案:
29.已知如下类定义: 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 ) { //... }
答案:
30.下面的哪些程序片断可能导致错误。
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".
答案: