java三套题

更新时间:2024-05-31 02:30:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一套

一、单项选择题(每题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页 把客观世界中的事物映射到面向对象的程序设计中就是对象。 对象的成员用对象名.数据成员,对象名.成员方法来表示。

五、编程题(第1,2,3题10分,第4题15分)

1. 编写输出0—30之间的能被7整除的数的积的程序。3章4节3目39页

class Xxx{

public static void main(String[] args)

int t=1;

for(int i=7;i<=30;i=i+7) t=t*i; System.out.println(t);

}

}

{

2.编程,用二重循环对如下所示的5行5列矩阵赋值,并求主对角线上各元素之和。3章4节4目45页

class ArrayTest{ }

public static void main(String[] args) { }

int s=0,i,j;

int arr[][]=new int[5][5]; for(i=0;i<=4;i++) {for(j=0;j<=4;j++) {arr[i][j]=i*j;

System.out.print(arr[i][j]); if (i==j) s=s+arr[i][j]; }

System.out.println(); }

System.out.println(s);

3. 编程,从一给定字符串中统计出其中的大写英文字母和小写英文字母的个数,字符串变量可以在命令行参数中获得,也可以在程序中赋值。3章4节2目

class CountUpperandLower{ }

public static void main(String[] args) }

String str=args[0]; int s=0;

for(int i=0;i

if ((str.charAt(i)>='a' &&str.charAt(i)<='z')|| (str.charAt(i)>='A' &&str.charAt(i)<='z'))

s++;

{

System.out.print(s);

4.设计一个表示一个点的CCPoint类,该类包括以下属性和方法。6章2节1目84页 x1:点的横坐标;y1:点的纵坐标;

CCPoint(double x1, double y1):构造函数,创建对象的同时为属性x1,y1赋初值; getX1() :获得点的横坐标; getY1(): 获得点的纵坐标;

distance1(CCPoint p): 返回当前点与点p之间的距离。 测试点p1(100,100)到点p2(200,300)之间的距。

class CCPoint { }

private double x1; private double y1;

CCPoint(double x1,double y1)

{this.x1=x1;this.y1=y1;} {return this.x1;}; public double getX1()

public double getY1()

{return this.y1;} { }

return Math.sqrt((x1-p.x1)*(x1-p.x1)+(y1-p.y1)*(y1-p.y1));

double distance1(CCPoint p)

public static void main(String[] args) { }

CCPoint p1=new CCPoint(100,200); CCPoint p2=new CCPoint(200,300); System.out.println(p1.distance1(p2));

第二套

一、单项选择题(每题1分,共15分)

1.下列哪个选项是正确的?D 6章1节2目76页 A.一个源文件可以有一个以上的public类 B.一个源文件只能供一个程序使用 C.一个源文件中只能有一个方法 D.一个程序可以包括多个源文件 2.下列关于抽象类的说法中,哪个选项是正确的?C 6章1节1目76页 A.某个抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法 B.接口和抽象类是同一回事 C.绝对不能用抽象类去创造对象

D.抽象类中不可能有非抽象类的方法

3.下列关于main函数的定义,哪个选项是正确的?c 6章1节3目77页 A. public static void main(String args) B. void public static main(String args []) C. static public void main(String message[])

D. public static void Main(String [] arg)

4. 下列哪个选项是正确的? B 2章2节4目17页 A. byte b = 200; B. float f = 18.8f; C. char c = -28; D. int i = 079;

5.给出下列代码段,运行结果正确的选项是哪个?C 2章3节1目20页

public class Test2009{

public static void main(String args[]){

System.out.println((3==Math.sqrt(9))?4:5); } }

A.2 B.3 C.4 D.5

6.若数组aaa定义为int[][] aaa=new int[3][4],aaa.length的值是什么?A 5章2节1目57页

A.3 B.4 C.12 D.1

7.给出下面代码段,下列哪个选项不会输出 \?D 3章3节2目35页

if ( x > 2) {

System.out.println(\}else {

if ( x > 5 ) {

System.out.println(\ }else { }

System.out.println(\}

A. x = 0 B. x = 2 C. x = -2 D. x = 5

8.给出下面代码段,下面哪个选项是正确的? A 3章4节63页

public class test{

static int a[] = new int[10];

public static void main(String args[]) { System.out.println(a[10]); } }

A.编译时将产生错误 C.输出零

switch(m) {

B.编译时正确,运行时将产生错误

D.输出空

9.给出下面代码段,当m=0时,输出结果是什么? A 3章3节2目36页

case 0: System.out.println(\ case 1: System.out.println(\ case 2:

default: System.out.println(\ }

A.case 0 case1 B.case 0 C.default D.case 0 case 1 default 10.用来导入已定义好的类或包的语句是什么?B 6章1节3目77页 A.main B.import C.public class D.class

11.下列代表八进制整数的是哪个选项?A 2章2节3目16页

A.0123 B.1800 C.fa00 D.0xa2 12.下列叙述中,哪个选项是错误的?D 7章2节1目99页 A.父类不能替代子类 B.子类能够替代父类 C.子类继承父类 D.父类包含子类 13.给出下列的代码段,哪行在编译时可能会有错误? C 2章2节4目17页

1) public void modify(){ 2) int i, j, k; 3) i = 100;

4) while ( i > 0 ){ 5) j = i * 2;

6) System.out.println (\7) k = k + 1; 8) } 9) }

A.第4行

class Test {

B.第6行 C.第7行 D.第8行

14.给出下列代码,如何使成员变量m 被方法fun()直接访问? C 7章1节2目93页

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

15.给出一java 源程序文件如下,保存它的源文件名应当是什么?a 1章4节1目84页

public class AAA{

?? }

class BBB{ `?? }

A.AAA.java

B.BBB.class C.任意合法的文件名 D.AAA.class

二、填空题(每题1分,共8分)

1.Java中访问限定符有 ,public,private和default等。 Protected 2章2节2目16页

2.下面代码段的运行结果是 。660 5章4节63页

public class Sum {

public static void main(String args[]){ int i ,s=0;

int a [] = { 10,20,30,40,50,60,70,80,90,100 };

}

for (i = 0 ; i <= a.length/2 ; i ++) }

s=s+a[i]+a[a.length-i-1]; System.out.print(s);

3.Java语言使用的字符码集是 。 Unicode 2章2节2目16页 4.执行下列语句后的输出结果是 。 4 8 3章4节3目39页

int a[] = { 1,2,3 ,4,5,6,7,8,9 }; for (int i=0 ; i

if(a[i]%4==0 ) System.out.println(a[i]+\

5.执行下列代码段的运行结果是 。0 2章3节1目20页

public class Test2{

public static void main (string args[]){ System.out.println(99%3);} }

6.设x为float型变量, y为 double型变量, a为 int型变量,已知 x=2.5f, a=7 ,y=4.22 则表达式x+a%3*(int)x%(int)y的值为________________。4.5 2章3节1目22页

7.设 a = 8,则表达式 a << 2 的值是 。 32 2章3节2目24页 8.运行下列代码段,while语句成功执行的次数是 。 3 2章4节1目37页

int x=3; while(x<9) x+=2; x++;

三、程序分析题(每题4分,共20分)

1.下列代码段运行时,在命令提示符后输入的命令是:Java Base Hello World

该段程序能否正确编译或输出?如果能,输出结果是什么?如果不能,为什么?

_____________________________________________能正确编译并输出World 5章5节66页

class TestArgs {

public static void main(String args[]) { System.out.println(args[1]); }

}

2.下列代码段运行后,输出结果是______________________________________Default 3章3节2目35页

char x = '2'; switch (x) { case 1:

System.out.println(\ break; default:

System.out.println(\

break;

case 2:

System.out.println(\ break; case 3:

System.out.println(\}

3. 已知类的定义如下,如果用语句test_3 a1=new test_3()加载类,a1.x的内容为_____ ; 如果用语句test_3 a1=new test_3(-2,5) 加载类,a1.y的内容为______。-1 5 6章1节4目79页

public class test_3{ int x,y;

test_3(int a,int b){ x=a;

y=b; }

test_3(){ x=-1; y=-1; }

int get_x() { return x++; }

int get_y() { return y--; }

4.下列代码段是否能正确编译或输出?如果能,输出结果是什么?如果不能,为什么? ____________________________________

能编译输出,结果是i=0 静态变量默认的初始化值为0. 6章2节2目86页

public class Base { static int i;

public static void main(String args[]) { System.out.println( \ } }

5.下面代码段的运行结果是_____________。17 hdw are you? 5章6节3目72页

public class TestStringBuffer{

public static void main (String[ ]args){ } }

String s1=new String(\StringBuffer s3=new StringBuffer(\s3.setCharAt(1,'d');

System.out.println(s1.length()); System.out.println(s3);

四、问答题(每题4分,共12分)

1.Java中,方法的访问权限有哪几种?6章2节1目84页 共有四种,他们是public,protected,缺省,private. 2.什么是方法的覆盖? 7章2节1目99页

覆盖是指子类重新定义了父类中的同名方法。覆盖表现为父类与子类之间方法的多态性,如果父类中的方法不合适,子类可以重新定义。

3.构造方法的特点是什么?6章1节3目77页 构造方法的特点是:(1)构造方法名称必须与类名相同;(2)构造方法不能有返回值;(3)用户不能直接调用构造方法,必须通过关键字new调用它。

五、编程题(第1,2,3题10分,第4题15分)

1.编程,从给定字符串中统计出小写字母的个数,字符串变量可以在命令行参数中获得。 3章4节3目40页

class CountLower{ }

public static void main(String[] args) }

String str=args[0]; int s=0;

for(int i=0;i

if (str.charAt(i)>='a' &&str.charAt(i)<='z') s++; System.out.print(s);

{

2. 如果一个三位数的个位数、十位数和百位数的立方和等于该数自身,则称该数为水仙花数。编写程序显示1000内的水仙花数。3章4节4目40页

class Sum1 {

public static void main(String[] args) }

int s=0;

for (int i=1;i<=9 ;i++ )

for (int j=0;j<=9;j++ )

for (int k=0;k<=9 ;k++)

if (i*i*i+j*j*j+k*k*k==i*100+j*10+k) {System.out.println(i*100+j*10+k); }

{

3. 编程计算一维数组中的最大值和最小值,一维数组可以在程序中自行设定。5章1节2目 55页

class MaxandMin { public static void main(String[] args) {

int[] arr={3,6,9,-3,6,7,9,-18}; int max1=arr[0],min1=arr[0]; for (int i=0;imax1) max1=arr[i]; if (arr[i]

}

System.out.println(min1+\ \ } }

4. 定义一个表示圆形的类,计算圆的面积和周长。6章1节4目79页

class Circle{ } }

double r; Circle(double r)

{this.r=r;} double area(){

return Math.PI*r*r;}

double perimeter(){

return Math.PI*r*2;}

public static void main(String args[]){

Circle c=new Circle(3); System.out.println(c.area()); System.out.println(c.perimeter());

第三套

一、单项选择题(每题1分,共15分)

1.下列选项中, 哪个选项是Java的合法保留字? B 2章1节13页 A. integer B. class C. then D. main 2.下列关于继承的说法哪个选项是正确的?B 7章1节1目 92页 A.子类只继承父类的方法和属性 B.子类继承父类非私有属性和方法

C.子类只继承父类的方法,而不继承父类的属于性 D.子类将继承父类的所有属性和方法

3.给出下列变量声明,下列选项中不正确的是哪个? B 2章2节2目 12页 1) short s = 20; 2) int i = 88;

3) double d = 28.8; 4) boolean b = true; 5) d = s; 6) i = b; 7) d = i; 8) s = d;

A. 第5行 B. 第6行 C. 第7行 D. 第8行

4. 给出下面代码段,当m=”1” 时,输出结果是什么? C 3章3节2目 35页

switch(m){

case 0: System.out.println(\case 1: System.out.println(\case 2:

default: System.out.println(\}

A. case 0 case1 B. case 0 C. default D. case 0 case 1 default 5.给出下列代码段,运行结果是什么?D 2章3节1目 20页

public class Test{

public static void main(String args[]){ System.out.println(89>>2); } }

A.44 B.45 C.88 D.22 6.给出下列代码段,下面哪个选项是不正确的? A 5章2节1目57页

byte[] array1,array2[]; byte array3[][]; byte [][] array4;

A.array2 = array1 C.array2=array4 B.array2=array3 D.array3=array4

7.下列的哪个选项可以正确用来表示八进制值8?D 2章2节3目 16页 A.0x8 B.0x10 C.08 D.010 8.下面哪些代码段是正确的Java源程序?C 6章1节2目 76页 A. package com.testpackage;

private class Test{//do something...} B. import java.io.*;

package testpackage;

public class Test{// do something...} C. import java.io.*;

class Person{// do something...}

public class Test{// do something...} D. import java.io.*;

public class Test0{// do something...}

public class Test1{// do something...}

9.下列哪个是面向大型企业级软件的开发平台? A 1章2节1目 2页 A.J2EE B.J2ME C.J2SE D.J2DE 10.下面哪个赋值语句是错误的? A 2章2节2目 14页 A.float f = 11.1;

B.double d = 5.3E12;

C.char c = '\\r'; D.byte bb = 127;

11.下列关于构造方法的叙述中,哪个选项是错误的?C 6章1节3目 77页 A. Java语言规定构造方法名与类名必须相同

B. Java语言规定构造方法没有返回值,但不用void声明 C. Java语言规定构造方法不可以重载

D.Java语言规定构造方法只能通过new自动调用

12.下列的哪个赋值语句是正确的? D 2章2节4目 17页

A.char a=-12; B.int a=12.0; C.int a=12.0f; D.int a=(int)12.0;

13. 给出下面代码段,程序运行时,如果输出结果的第二行为bb=a,那么第一行的输出结果是什么? B 2章3节2目 24页

public class TypeTransition{ }

public static void main(String args[]){ char a='h'; int i=100; int j=97; int aa=a+i;

System.out.println(\char bb=(char)j;

System.out.println(\}

A.aa=1 B.aa=204 C.aa=v D.aa=156

14.以下有关类的构造函数继承的说明,哪个选项是正确的? C 6章1节4目 79页 A.子类继承父类的构造函数,但不能自己定义

B.子类可定义自己的构造函数,但受父类定义的构造函数的限制

C.子类和父类均可独自定义自己的构造函数,但执行时的顺序有规定

D.如父类定义了构造函数,则子类只能继承父类的构造函数,不能自己定义 15.整型数据类型中,哪个选项需要的内存空间最多? B 2章2节1目 14页 A. short B. long C. int D. byte

二、填空题(每题1分,共8分)

1.给出下列代码段,运行结果是 。 10 3章4节1目37页

int x=3; while(x<9) x+=2; x++;

System.out.print(x);

2.Java中访问限定符有 ,protected,private和default等。 Public 6章2节1目 83页 3.设i, j为整型变量、且j=8,执行i= ++j后,i的值__________。 9 2章3节1目20页

4.若x = 9,y = 10,则 x>y || x++==y -- 的逻辑值为 。 False 2章3节2目 20页

5.数组x定义如下:

int array[][]=new int[3][2] 则 array[2].length 的值为__________。2 5章3节1目 60页

6.在转向语句中 ____________语句使得程序结束本次循环,回到循环的条件测试部分继续执行。Continue 3章5节42页

7.下面代码段的运行结果是 。110 110 110 110 110 5章4节61页

public class ABC {

public static void main(String args[])

int i ;

{

}

}

int a [] = { 11,22,33,44,55,66,77,88,99 }; for (i = 0 ; i <= a.length/2 ; i ++)

System.out.print(a[i]+a[a.length-i-1]+\

8.Java不直接支持多继承,但可以通过 实现多继承。7章1节1目 92页

三、程序分析题(每题4分,共20分)

1.下列程序能否编译运行,如果能编译运行,运行结果是什么?如果不能编译,为什么?

编译出错,因为switch后的表达式类型不可以是String类型。3章3节2目 35页

public class TestSwitch{

public static void main(String args[]){ String s=\

switch(s){

case \break;

case \break;

default:System.out.printf(\

break;

case \break; }

}

}

2.下面程序中,在第3行和第8行中,那些行将引起错误?为什么?

第8行有错误,变量name在父类中是私有变量,不可以在子类中访问。7章1节2目 93页

1) class Parent {

2) private String name; 3) public Parent(){} 4) }

5) public class Child extends Parent { 6) private String department; 7) public Child() {}

8) public String getValue(){ return name; } 9) public static void main(String arg[]) { 10) Parent p = new Parent(); 11) } 12) }

3.下面程序能否正确编译或输出?如果能,输出结果是什么?如果不能,为什么?

能正确编译输出BaseSub 7章2节2目101页

class Base { public Base() {

System.out.println(\ } }

public class Sub extends Base {

public static void main(String args[]) { Sub s = new Sub(); }

public Sub () {

System.out.println(\ } }

4.下列程序能否正确编译或输出?如果能,输出结果是什么?如果不能,为什么?

不能编译,因类返回值变量i未正确定义(i定义在for循环内) 6章1节4目79页

class Base {

public static void main(String args[]) { Base b = new Base();

System.out.println(b.myMethod()); }

public int myMethod() {

int intarray[] = new int[10];

for (int i = 0; i < intarray.length; i++) System.out.println(intarray[i]); return i; } }

5.下面程序的运行结果是____________________ 。acd do you come her? How are you when? 5章6节4目 74页

public class TestStringBuffer{

public static void main (String[ ]args){ StringBuffer s1=new StringBuffer( );

StringBuffer s3=new StringBuffer(\char array[ ]={'a','c','d'}; s1.append(\s3.append(\System.out.println(array); System.out.println(s1); System.out.println(s3); }

}

四、问答题(每题4分,共12分)

1.什么是类的多态性?7章2节1目 99页

多态性指同一名字的方法可以有多种实现,即不同的方法体,程序执行时,系统根据调用方

法的参数或调用方法的对象自动选择一个方法执行。

2.什么是类?其成员分为哪两部分?6章1节1目 76页

类是对一个或几个相似对象的描述。类的成员一般分为状态(属性)和行为。用变量来描述类的状态,用方法来实现类的行为。

3.用final修饰的数据成员或方法有什么特点? 7章3节102页

如果一个类的数据成员用final修饰,则这个数据成员就被限定为最终数据成员。它的值在程序执行过程中是不能改变的。

用final修饰的方法称为最终方法。如果一个类的某个方法被final所限定,则该类的子类就不能覆盖父类的方法。

五、编程题(第1,2,3题10分,第4题15分)

1. 设计一个求长方体的体积和表面积的类Cube,包括以下属性和方法。6章1节3目 77页

l1:长方体的长; w1:长方体的宽; h1:长方体的高;

Cube(double l1, double w1 ,double h1):构造方法,创建对象的同时为属性l1,w1,h1赋初值。

vol():成员方法,计算体积; sarea():成员方法,计算表面积。

class Cube{

double l1,w1,h1;

Cube(double l1, double w1, double h1)

{this.l1=l1;this.w1=w1;this.h1=h1;}

double sarea(){

return 2*(l1*w1+l1*h1+w1*h1);} return l1*w1*h1;}

double vol(){

public static void main(String args[]){ } }

Cube c=new Cube(2,3,4); System.out.println(c.sarea()); System.out.println(c.vol());

2. 编程求各分段函数的值,分段函数如附图所示,通过命令行参数输入一个m值,输出n值。3章3节1目 32页

4n+6 (n<0) 0 (n=0)

3n?7 (n>0)

m=

class Subsection{

public static void main(String[] args) {

double n=Integer.parseInt(args[0]); double m; if (n<0)

m=4*n+6;

else if(n==0)

m=0;

m=Math.sqrt(3*n+7);

else

System.out.println(\}

}

3.定义一个CMath类,用重载的add和sub方法处理int和float两种类型数据的两个数的加减运算。 7章2节1目99页

class CMath { }

int add(int i,int j){return i+j;} float add (float i,float j){return i+j;} int sub(int i,int j){return i-j;} float sub (float i,float j){return i-j;}

4.在程序中任意给定m行n列的矩阵,矩阵中的元素为整型,找出其中的最小值所在的行和列,输出该值和行、列位置。5章2节1目57页

class Matrix { }

public static void main(String[] args) }

{

int arr[][]={{3,6,9,-3,6}, {7,9,-18,6,7}, {12,15,2,1,1}}; int x=0,y=0; int min1=arr[0][0];

for (int i=0;i

for(int j=0;j

if (arr[i][j]

min1=arr[i][j];x=i;y=j;

System.out.println(min1+\

本文来源:https://www.bwwdw.com/article/jwz6.html

Top