《面向对象程序设计-java》期末考试2009-2010上总题库 下载本文

内容发布更新时间 : 2024/5/24 1:16:34星期一 下面是文章的全部内容请认真阅读。

.下列语句序列执行后,k 的值是_____________________。 int x=2, y=5, k=0; switch( x%y ) {

case 0: k=x+y; break; case 1: k=x-y; break; case 2: k=x*y; break; default: k=x/y; break; }

System.out.println(k); A、2 B、5 C、10 D、-3

.下面的程序输出的结果是_____________________。 public class A implements B { public static void main(String args[]) { int i; A c1 = new A(); i= c1.k; 把k=10赋给i,i=10 System.out.println(\ } }

interface B { int k = 10; }

A、i=0 B、i=10 C、程序有编译错误 D、i=true

.应用程序的main方法中有以下语句,则输出的结果是_____________________。 int b[][]={{1, 2, 3}, {4,5}, {6,7}}; int sum=0;

for(int i=0;i

System.out.println(\A、28 B、6 C、9 D、13

.编译和运行下面的应用程序,并在命令行界面输入12345,则回车后屏幕输出的结果是_____________________。 public class A {

public static void main(String args[]) throws IOException{

BufferedReader buf=new BufferedReader(new InputStreamReader(System.in)); String str=buf.readLine(); int x=Integer.parseInt(str);

System.out.println(x/100); } }

A、45 B、5 C、123 D、12345

.下面的程序段执行后输出的结果是_____________________。 StringBuffer buf=new StringBuffer(\buf.insert(7,\

System.out.println(buf.toString()); A、Beijing@2008 B、 @Beijing2008 C、Beijing2008@ D、Beijing#2008

.下列叙述中,正确的是_____________________。 A、Reader是一个读取字符文件的接口 B、Reader是一个读取数据文件的抽象类 C、Reader是一个读取字符文件的抽象类 D、Reader是一个读取字节文件的一般类

.下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是_____________________。 File f=new File(__________________);

file=new FileReader(f);

in=new BufferedReader(file); A、 \ B、\ C、\ D、\

.应用程序的main方法中有以下语句,则输出的结果是_____________________。 String s1=\String s2= \ boolean b1=s1.equals(s2);

boolean b2=(s1==s2);

System.out.print(b1+\ \

A、true false B、false true C、true true D、false false

.下面是findSum(int m,int n)方法的定义,方法调用findSum(1,4)的返回结果是_____________________。 int findSum(int m,int n) { int sum=0;

for(int i=m;i<=n;i++) { sum+=i; }

return sum; }

A、1 B、 4 C、5 D、10

.应用程序的main方法中有以下语句,则输出的结果是_____________________。 String obj=new String(\ for(int i=obj.length()-1;i>=0;i--) System.out.print(obj.charAt(i)); A、zyxcba B、xyz C、abc D、abcxyz

.程序Test.java编译运行后输出的结果是_____________________。 public class Test { int x=1;

int y; int默认值为0 public static void main(String args[]) { int z=2;

Test t=new Test();

System.out.println(t.x+t.y+z); 1+0+2=3 } }

A、3 B、12 C、1 D、2

四、阅读程序,回答问题(本大题5小题,每小题5分,共25分)

.写出下面程序的运行结果(答案写在左侧空白处): class CompareBut{ public static void main(String[] args){ int a = 0x80; System.out.print(a + \ a = a >> 3; System.out.print(a + \ a = a << 2; System.out.println(a); } }

128 and 16 and 64

.写出下面程序的运行结果(答案写在左侧空白处): public class MyTest{ String s; string s为引用型,默认值为null public static void main(String[] args){

}

MyTest m=new MyTest(); m.mymethod(); }

void mymethod(){ System.out.println(s); }

null

.分别写出当int x=1/2/3/4时,下面程序的运行结果(答案写在左侧空白处): switch (x) { case 1:

System.out.println(1); case后面没有break,则继续往下执行 case 2: case 3:

System.out.println(3); case 4:

System.out.println(4); }

当x=1时,134 当x=2时,34 当x=3时,34 当x=4时,4

.写出下面程序的运行结果(答案写在左侧空白处): public class Mystery{ public static void main(String[] args){ int y,x=1,total=0; while (x<10){ y=x*x; total+=y; ++x; } System.out.println(“Total is “+total); } }

Total is 285

.写出下面程序段的运行结果(答案写在左侧空白处): for (int n=0;n<2;n++){ switch (n){ case 0: System.out.println(“n=0”); continue; case 1: System.out.println(“n=1”); break; } }

n=0 n=1

.写出下面程序段的运行结果(答案写在左侧空白处): public class Example{

String str=new String(\ char[]ch={'a','b','c'};

public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch);

System.out.print(ex.str+\

}

System.out.print(ex.ch); }

public void change(String str,char ch[]){ str=\

ch[0]='g'; 用g代替a }

good and gbc

.写出下面程序的运行结果(答案写在右侧空白处): class A{

class Dog{ private String name; private int age; public int step; Dog(String s,int a){ name=s; age=a; step=0; } public void run(Dog fast){ fast.step++; }

}

public static void main (String args[]){ A a=new A(); Dog d=a.new Dog(\ d.step=25; d.run(d); System.out.println(d.step); } } 26

.当 int m=0;时,写出下面程序段的运行结果(答案写在右侧空白处):

1) while( m++ < 2 ) 后自加是先比较,再自加;m=0<2, 成立,输出m=1;自加m=1,1<2成立,输出m=2 System.out.print( m +” ”); 1 2

2) for(int i=0;i<2;i++){ if(m++<2)

System.out.print( m +” ”); }

1 2

3) for(int i=0;i<2;i++,m++)

System.out.print( m+” ”); 0 1

.写出下面程序的运行结果(答案写在右侧空白处): 1: public class Output1 {

2: public static void main(String arge[]) { 3: int i=0;

4: for ( char ch = 97; ch<113; ch++,i++) { 5: if( i % 8 == 0 )

6: System.out.println(\

7: System.out.print(\ 8: } 9: } 10: }

(1) 程序第5、6行的if语句的功能是什么? (2分) (2) 程序输出的结果有几行?(3分)

(1)if语句的功能是判读i是否整除8,满足则打印换行; (2)有2行结果。

.写出下面程序的运行结果(答案写在右侧空白处): 1: import java.util.Arrays; 2:

3: public class SortArray {

4: public static void main(String args[]) {

5: String[] str = {\

6: Arrays.sort(str); 首字母从小到大排序 7: for (int i=0; i

8: System.out.print(str[i]+\ \9: } 10: }

(1)写出程序运行后的结果。(2分)

(2)方法调用str[0].length()的返回结果是多少?(3分)

(1)写出程序运行后的结果:abs class length size

(2)方法调用str[0].length()的返回结果是多少:4 下标从0开始,第0个字符的长度*(找题目理解为在排序之前)

.写出下面程序的运行结果(答案写在右侧空白处): public class Example{

String str=new String(\ char[]ch={'a','b','c'};

public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch);

System.out.print(ex.str+\ System.out.print(ex.ch); }

public void change(String str,char ch[]){ str=\ ch[0]='g'; } }

(1) 写出程序运行后的结果。 good and gbc

.写出下面程序的运行结果(答案写在右侧空白处): 1: public class A {

2: public static void main(String args[]) { 3: int x=1;

4: for(int i=1;i<=5;i++) { 5: if(i%2= =0)

6: continue; 条件成立则不往下执行 7: x*=i; 8: }

9: System.out.println(\10: } 11: }

程序输出的结果是什么?

x=15 1*3*5=15

.写出下面程序的运行结果(答案写在右侧空白处): 1: public class A {

2: public static void main(String args[]) { 3: try{

4: int x[]={1,2,3};

5: int k=Integer.parseInt(args[0]); 6: System.out.println(x[k]);

7: System.out.println(\结束!\