《java面向对象》复习题.doc_第1页
《java面向对象》复习题.doc_第2页
《java面向对象》复习题.doc_第3页
《java面向对象》复习题.doc_第4页
《java面向对象》复习题.doc_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java面向对象编程 练习题专题1 初识Java一、选择题1作为Java应用程序入口的main方法,其声明格式是( B )Apublic static int main(String args) B.public static void main(String args) Cpublic void main(String args) Dpublic int main(String args) 2下面命令正确的是( B )A.java AppFirst.java Bjava AppFirstC.java appfirst.class Djavac AppFirst3设有一个Java小程序,源程序

2、名为FirstApplet.java,其HTML文件为FirstApplet.html,则运行该小程序的命令为( D )A.java FirstApplet Bjavac FirstApplet.javaCappletviewer FirstApplet.java Dappletviewer FirstApplet.html4JDK安装完成后,主要的命令如javac、java等,都存放在根目录的( A )文件夹下。 Abin Bjre Cinclude Ddoc5Java语言是一种 D 语言。A机器B汇编C面向过程的D面向对象的6、Java程序的最基本组成单位是 D 。A函数B过程C变量D类二

3、、简答题1Java语言有哪些特点?答:Java是一种具有“简单、面向对象、分布式、解释型、健壮、安全、与体系结构无关、可移植、高性能、多线程和动态执行”等特点的语言。P22JDK安装完成后,如何设置环境变量?答:在桌面上右键单击【我的电脑】,选择【属性】【高级】【环境变量】【系统变量】,选择path,单击【编辑】,在【变量值】栏目的最前面输入“d:jdk1.5bin;”。3简述Java应用程序和小应用程序的区别。答:Java应用程序是由用户系统就地装入的可独立运行的Java程序,可以是基于窗口或控制台的。而Java小应用程序需要嵌入到网页在浏览器中运行(java是在控制台上执行,applet是

4、需要网页中执行)。4简述Java应用程序的开发过程答:(1)建立源程序。(2)编译源程序。(3)解释运行程序。专题2 标识符、表达式、数据类型一、填空题1Java逻辑常量有两个:( ture )和( flase )。2写出下列表达式的运算结果,设a=2,b=-4,c=true。(1)-a%b+ -2(2)a=1 & a b) false(4)(-a)a -8(5)(double)(a+b)/5+a/b -0.43、比较两个数相等的运算符是: = = 。4、Java中的八种基本数据类型分别是:char、 int 、 long 、shore , flaot 、 double 、 byte 和 bo

5、olean 。二、选择题1下面这些标识符哪个是错误的( C )AJavaworld B_sum C2Java Program D$abc2下列哪一组运算符的优先级顺序是从高到低排列的( B )A|、&、! B&、| C!、%、+ D、3 ? +a : b+);Aa的值为2,b的值为3,c的值为1 Ba的值为2,b的值为4,c的值为2Ca的值为2,b的值为4,c的值为1 Da的值为2,b的值为3,c的值为26设各个变量的定义如下,哪些选项的值为true ( C ) int a=3, b=3; boolean flag=true;A+a = = b B+a= = b+ C(+a = = b) |

6、flag D(+a= =b) & flag7表达式(int)6.5/7.5*3的值的类型为( C )Ashort Bint Cdouble Dfloat8设a, b, x, y, z均为int型变量,并已赋值,下列表达式的结果属于非逻辑值的是( D)Axy & bx-y Cy = = +x Dy+x*x+9下面语句输出的结果为( B ) Syste.out.println(52); A6 B7 C10 D2510对下面的语句执行完后正确的说法是:( D )int c=c/3;System.out.println(c);A输出结果为21 B输出结果为22 C输出结果为32 D输出结果为3311以

7、下选项中变量a已定义类型,合法的赋值语句为( D )Aa = int(y); Ba= =1; Ca = a+1=3; D+a;12执行下列程序段后,ch,x,y的值正确的是:( A )int x=3, y=4;boolean ch;ch=xy&+x=-y;Atrue , 6 , 8 Bfalse , 6, 8 Ce, 7, 7 Dfalse, 7, 7 19、下列程序运行的结果是 D 。 public class A public static void main(String args) int x = 7%3;while(x)x-;System.out.println(x);A0B1Ctr

8、ueD编译错误三、编程题1使用Math.pow()方法,求出2的32次方的值。Package pr1:Public class lxl_2_4 Public static void main (String args) double value; value=Math.pow(2,32); System.out.println(“2的32次方是:”+value);专题3 流程控制语句一、填空题1在switch语句中的表达式的类型必须是( int型 )或者( 与int相容的类型【byte,char,long,short】 )。2break在循环语句中的作用是( 跳出整个循环 )。3分支语句包括(

9、 if )和( switch )。4while循环语句的循环次数( 0或者不限 ),do-while语句的循环次数( 至少一次 ),for语句的循环次数( 0或者不限 )。二、选择题1下面程序片段输出的是什么( C ) int a=3, b=1; if(a=b) Syste.out.println(“a=”+a);Aa=1 Ba=3 C编译错误,没有输出 D正常运行,但没有输出2下面语句执行后,x的值为( C ) int a=4, b=5, x=3; if(+a=b) x=x*a;A3 B12 C15 D203请看下面的程序代码:( B ) if(x0) Syste.out.println(“

10、first”); else if(x20) Syste.out.println(“second”); else Syste.out.println(“third”);当程序输出“second”时,x的范围是Ax=0 Bx=0 Cx0 Dx=204请看下面的程序代码: switch(n) case 0: Syste.out.println(“first”); case 1: case 2: Syste.out.println(“second”); break; default: Syste.out.println(“end”);当n为何值时,程序段将输出字符串”second”( D )A 0 B

11、1 C2 D以上都可以5下列语句执行后,j的值是( D ) int j=3, i=3; while(-i!=i/j) j=j+2;A4 B5 C6 D76下列语句执行后,x的值是( C ) int x=2 ; dox+=x ; while(x-j) continue; while(i4);A. i=4, j=5 Bi=5,j=4 Ci=5,j=5 Di=5,j=68下列语句执行后,k的值是( B ) int j=4, i, k=10; for(i=2; i!=j; i+) k=k-i;A 4 B5 C6 D79下列语句执行后,c的值是( C ) char c=0; for(c=a; c=e)

12、break; A e Bf Cg Dh10若变量都已经正确说明,则以下程序段输出为( B ) a=10; b=50; c=30; if(ab) a=b;b=c; c=a; System.out.println(“a=”+a+” b=”+b+” c=”+c);Aa=10 b=50 c=10 Ba=10 b=30 c=10 Ca=50 b=30 c=10 Da=50 b=30 c=3011以下程序段输出是( D ) int x=1,y=0,a=0,b=0; i=(-a=b+)? - -a : +b; j=a+; k=b; System.out.println(“i=”+i+” ,j=”+j+” ,

13、k=”+k); 2 -1 2Ai=2,j=1,k=3 Bi=1,j=1,k=2 Ci=4,j=2,k=4 Di=2,j=-1,k=212以下程序的输出是( B ) int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+;break; case 1: b+;break; case 2: a+;break; case 3: a+;b+; System.out.println(“a=”+a+”,b=”+b); 2 0Aa=1, b=0 Ba=2,b=0 Ca=1, b=1 Da=2, b=213以下程序段输出是( C ) int i=0

14、,j=0,a=6; if (+i0) | (+j0 ) a+ :System.out.println(“i=”+i+” ,j=”+j+” ,a=”+a);Ai=0,j=0,a=6 Bi=1,j=1,a=7 Ci=1,j=0,a=7 Di=0,j=1,a=714、下列程序运行的结果是 D 。public class A public static void main(String args)char c = d;for (int i = 1; i = 4; i+) switch (i)case 1:c = a;System.out.print(c);break;case 2:c = b;Syst

15、em.out.print(c);break;case 3:c = c;System.out.print(c);default:System.out.print(!); A! Bdbc! Cabc! Dabc!专题4 数组一、填空题1定义一个整型数组y,它有5个元素分别是1,2,3,4,5用一个语句实现对数组的声明、创建和赋值:( int y =1,2,3,4,5 )。2设有整型数组的定义:“int x=12,34,-5,3,2,6;”则x.length的值为( 3 )3求取二维数组a的第行元素个数的表达式是(ai-1.length )。4、一个一维数组有10个元素,则该数组可用的下标范围是 0

16、-9 。5、String S=“安徽”, “江苏”, “山东”;则S1的值是: 江苏 。6、当声明一个数据组int arr=new int5;时,这代表这个数组所保存的变量类型是 整形 ,数组元素下标的使用范围是 0-4 。二选择题设有定义语句“int a=66,88,99;”,则以下对此语句的叙述错误的是( C )A定义了一个名为a的一维数组 Ba数组有3个元素Ca数组的元素的下标为13 D数组中的每个元素是整数2设有定义“int a=new int4;”则数组a的所有元素是( B )Aa0、a1、a2、a3 Ba0、a1、a2、a3 Ca1、a2、a3、a4 Da0、a1、a2、a3、a4

17、3下面哪个选项正确地声明了一个字符串数组 ( C )Achar str Bchar str CString str DString10 str4、假设有这样的数组创建:int a=1,2,3,4,5,6,7;则该数组长度为 D 。A4 B5 C6 D75、下列二维数组的创建中错误的是 D 。Aint a=new int3 ; Bint a=new int34 ;Cint a=1,2,3,4 ; Dint a=new int;三、编程题1编写一个程序,计算一维数组中的最大值、最小值及其差值。Package prl;Public class lxl_4_1 Public static void m

18、ain (String args) int a=34,65,79,50,30,40,65,23,8,10; /数组名.length a.length int I, max,min; int n = a.length; /a0 a1 an-1 max =a0;min =a0;for (i = 1;i n;i+) if (max ai) max = ai else if (min ai) min = ai;System.out.println(最大数:+max+ 最小数:+min+ 差值:+(max-min));2将一个数组中的数逆序重新存放。Package prl;Public class lx

19、l_4_2Public static void main (String args)int a=3,15,28,1,34,78,95,27,18;int i,length,temp;length = a.length;for (i = 0;i (length / 2);i+) /以下将数组元素ai和alength-1-i的值互换 temp = ai; ai = alength-1-i; alength-1-i = temp; for (i = 0;i length; i+)System.out.print(ai+ ):3已知数组(12,23,26,45,58,60)是有序的,输入一个数x,将它

20、插入到数组中,保证数组仍然是有序的。Package prl;import java.util,Scanner;Public class lxl_4_3Public static void main (String args) int a = 12,23,26,45,58,60,0; int x,i,j,n; Scanner scanner = new Scanner(System.in); System.out.println(请输入要插入的数x:); x = scanner.nextInt(); n = 6; for (i = 0; i n; i+) if (x i; j-) aj = aj

21、 - 1;ai = x;n+;for (i = 0;i n;i+) System.out.print(ai + );4输出杨辉三角形。如:1 1 1 1 2 11 3 3 11 4 6 4 11 5 10 10 5 1Package prl;Public class lxl_4_4Public static void main (String args)int a =new int 1010;for (int i = 0; i a.length; i+) ai0 = aii = 1; for (int j = i; j i; j+) aij = ai-1j-1 + ai-1j; for (in

22、t i = 0; i a.length; i+) for (int j = 0; j =i;j+) System.out.print(aij+ ); System.out.println();5求一个二维数组的每行最大数。Package prl;Public class lxl_4_5Public static void main (String args)int a =34,23,45,78,2,24,16,20,43,56,22,12; int max; for (int i = 0; i length;i+) max = ai0; for (int j = 0; j ai.length;

23、j+) if (max aij) max = aij; System.out.println(第 + i + 行上的最大数为:+max); (特别提醒:考试内容主要集中在后续章节)*专题5 面向对象一、填空题1 如果一个方法不返回任何值,则该方法的返回值类型为 void 。2 如果子类中的某个方法名、返回值类型和 _传递参数_与父类中的某个方法完全一致,则称子类中的这个方法覆盖了父类的同名方法。3 接口中所有的属性均为_ 公有_、_静态_和_常量_的。4 抽象 方法是一种仅有方法声明,没有具体方法体和操作实现的方法,该方法必须在 抽象 类之中定义。5 在Java程序中,通过类的定义只能实现 单

24、 重继承,但通过 接口 的定义可以实现多重继承关系。6 一般Java程序的类主体由两部分组成:一部分是 成员变量(属性) ,另一部分是 成员方法 (方法) 。7 分别用 class 关键字来定义类,用 new 关键字来分配实例存储空间。8 当一个类的修饰符为 private 时,说明该类不能被继承,即不能有子类。9 在Java中,能实现多重继承效果的方式是 implements 。二、选择题1 方法内定义的变量( B )。A一定在方法内所有位置可见 B可能在方法的局部位置可见C在方法外可以使用 D在方法外可见2 方法的形参( A )。A可以没有B至少有一个C必须定义多个形参 D只能是简单变量3

25、 return语句( D )。A不能用来返回对象 B只可以返回数值C方法都必须含有 D一个方法中可以有多个4 main()方法的返回值类型是( C )Aboolean Bint Cvoid Dstatic5 编译并运行下面的程序,运行结果是( A )。public class A public static void main(String args) A a=new A(); a.method(8); void method(int i) System.out.println(“int: ”+i); void method(long i) System.out.println(“long:

26、”+i); A程序可以编译运行,输出结果为:“int: 8” B程序可以编译运行,输出结果为:“long: 8” C程序有编译错误,因为两个method()方法必须定义为静态(static)的D程序可以编译运行,但是没有输出6 能作为类及其成员的修饰符是( D )。Ainterface Bclass Cprotected Dpublic7 下列方法定义中,方法头不正确的是( A )。Apublic static x(double a) Bpublic static int x(double y)Cvoid x(double d) Dpublic int x()8 构造方法在( D )时被调用。

27、A类定义时B使用对象的变量时C调用对象方法时 D创建对象时9 下列哪个类声明是正确的( A )。Apublic abstract class CarBabstract private move()Cprotected private number; Dabstract final class H110 下列不属于面向对象程序设计的基本特征的是( D )。A抽象 B封装 C继承 D静态11 请看下面的程序段class Person String name,department;int age;public Person(String n)name=n;public Person(String n

28、,int a)name=n; age=a;public Person(String n, String d, int a )/doing the same as two arguments version if constructer下面那个选项可以添加到/ doing the same处( C )APerson(n,a) Bthis(Person(n,a) Cthis(n,a) Dthis(name.age)12 请看下面的程序段class Test private int m;public static void fun() /some code方法fun()如何来访问变量m( C )A将

29、private int m改成protected int m B将private int m改成public int mC将private int m改成static int m D将private int m改成int m 13 有一个类A,对于其构造函数的声明正确的是( B )。Avoid A(int x)Bpublic A(int x)CA A(int x)Dint A(int x)14 请看下面的程序段public class Test long a=new long10; pubic static void main(String args)System.out.println(a6

30、);哪一个选项是正确的( B )。A不输出任何内容B输出0C当编译时有错误出现 D当运行时有错误出现15 关键字( B )表明一个对象或变量在初始化后不能修改。Aextends Bfinal Cthis Dfinalize16 声明为static的方法不能访问( C )类成员。A超类 B子类 C非static D用户自定义类17 定义类A如下:(重要)class A int a,b,c; public void B(int x,int y, int z) a=x;b=y;c=z;下面对方法B的重载哪些是正确的( C )。SApublic void A(int x1,int y1, int z1

31、) a=x1;b=y1;c=z1;Bpublic void B(int x1,int y1, int z1) a=x1;b=y1;c=z1;Cpublic void B(int x,int y) a=x;b=y;c=0; Dpublic B(int x,int y, int z) a=x;b=y;c=z;18 编译运行下面的程序,结果是( B )。(重要)public class A public static void main(String args)B b=new B();b.test(); void test()System.out.print(“A”); class B extend

32、s A void test()super.test();System.out.print(“B”); A产生编译错误 B代码可以编译运行,并输出结果:ABC代码可以编译运行,但没有输出 D编译没有错误,但会产生运行时异常19 已知类关系如下:Class EmployeeClass Manager extends EmployeeClass Director extends Employee则下列语句正确的是:( A )。AEmployee e=new Manager(); BDirector d=new Manager();CDirector d =new Employee (); DMana

33、ger m=new Director ();20 接口是Java面向对象的实现机制之一,以下说法正确的是( A )。AJava支持多重继承,一个类可以实现多个接口BJava只支持单重继承,一个类可以实现多个接口CJava只支持单重继承,一个类可以实现一个接口 DJava支持多重继承,但一个类只可以实现一个接口21下列方法的声明中不合法的是 C 。Afloat area( )Bvoid area( ) Carea Dint area(int r)22、下面哪个包是编程时不需要导入就可以直接使用的 B 。ABjava.langCjava.sqlDjava.util23、调用构造方法

34、是在 B 。A类定义时B创建对象时C调用对象的方法时D使用对象的变量时24、在子类构造方法的哪个地方可以调用其父类的构造方法 B 。A任何地方 B构造方法的第一条语句 C构造方法的最后一条语句 D无法在子类构造方法中调用父类的构造方法25、关于Java中的继承,下列说法错误的是 D 。A继承是面向对象编程的核心特征,通过继承可以更有效地组织程序结构。B继承使得程序员可以在原有类的基础上很快设计出一个功能更强的新类,而不必从头开始,避免了工作上的重复。C每一次继承时,子类都会自动拥有父类的属性和方法,同时也可以加入自己的一些特性,使得它更具体、功能更强大。D继承一般有多重继承和单一继承两种方式,

35、在单一继承中每一个类最多只有一个父类,而多重继承则可以有多个父类。Java中的类都采用多重继承。26、当方法中的局部变量与成员变量同名时,必须使用下列哪一个关键字指出成员变量 C 。AstaticBsuperCthisDnew27、什么样的方法不能被重写 B 。A私有(private)方法B最终(final)方法C受保护(protected)的方法D以上都不对28、下列有关抽象类与接口的叙述中正确的是哪一个 A 。A抽象类中必须有抽象方法,接口中也必须有抽象方法B抽象类中可以有非抽象方法,接口中也可以有非抽象方法C含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法D抽象类中的变量定义时必

36、须初始化,而接口中不是29、从下列程序中你发现了几处错误 B 。abstract class Aabstract void f(); public abstract void k(); class B extends Aprotected void f() void k()System.out.print(I am subclass);public static void main(String args) A a=new A();a.f(); a.k();A1B2C3D430、下列程序运行的结果是 A 。interface InterfaceAString s=good ;void f();class ClassA implements InterfaceA public void f()System.out.print(s);class ClassBvoid g(InterfaceA a)a.f();public c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论