Java面向对象复习题

Java面向对象复习题
Java面向对象复习题

Java面向对象编程练习题专题1 初识Java

一、选择题

1 ?作为Java应用程序入口的main方法,其声明格式是(B)

A.public static int main( Stri ng args[])

B.public static void main(String args[])

C.public void mai n( Stri

ng args[])

D.public int main (Stri ng args[])

2.下面命令正确的是(B)

A.java AppFirst.java

B. java AppFirst

C.java appfirst.class

D. javac AppFirst

3 .设有一个Java小程序,源程序名为FirstApplet.java,其衣HTML文件为FirstApplet.html,则运行该小程序的命令为(D)

A. java FirstApplet

B. javac FirstApplet.java

C. appletviewer FirstApplet.java

D. appletviewer FirstApplet.html

4. JDK安装完成后,主要的命令如javac、java等,都存放在根目录的(A)文件夹下。

A.bin

B. jre

C.i n clude

D.d oc

5. Java语言疋种(D)语言。

A.机器 B .汇编C.面向过程的D.面向对象的

6、Java程序的最基本组成单位是(D)。

A.函数 B .过程C.变量D.类

二、简答题

1. Java语言有哪些特点?

2. JDK安装完成后,如何设置环境变量?

3 .简述Java应用程序和小应用程序的区别

4.简述Java应用程序的开发过程

专题 2 标识符、表达式、数据类型

一、填空题

1. Java逻辑常量有两个:(ture )和(flase )

2.写出下列表达式的运算结果,设a=2,b=-4,c=true。

( 1 ) -a%b++ -2

( 2) a>=1 && a <= 10 ? a : b 2

(3) c A(a>b) false

( 4) (-a)<

( 5) (double)(a+b)/5+a/b -0.4

3、比较两个数相等的运算符是:== 。

4、Java 中的八种基本数据类型分别是:char、int、long、shore、float、double、byte 和boolean。

二、选择题

1.下面这些标识符哪个是错误的( C )

A .Javaworld B._sum C

2Java Program D.$abc

2.下列哪一组运算符的优先级顺序是从高到低排列的(B)

A .|、& 、!B.&、A、|| C

!、%、++ D

<、<<、++

3、下面哪个赋值语句不会产生编译错误(C)

A .char a=' abc'B; .byte b=152; C

float c=2.0; D

double d=2.0;

4.下面哪个单词是Java语言的关键字 D )

A .False B.FOR C

For D

for

5.执行下面程序后,哪个结论是正确的(D)

int a, b, c;

a=1; b=3; c=(a+b>3 ? ++a : b++);

A. a的值为2, b的值为3, c的值为1

B. a的值为2, b的值为4, c的值为2

C. a的值为2, b的值为4, c的值为1

D. a的值为2, b的值为3, c的值为2 6.设各个变量的定义如下,哪些选项的值为true(C)

int a=3, b=3;

boolean flag=true;

A.++a ==b B.++a==b++ C.(++a==b) ||flag D.(++a==b) &flag

7.表达式(int)6.5/7.5*3 的值的类型为( C )

A.short B.int C.double D .float 8 .设a, b, x, y, z均为int型变量,并已赋值,下列表达式的结果属于非逻辑值的是( D)

A.x>y && bx-y

C .y == ++x

D . y+x*x++

9.下面语句输出的结果为(

B )

Syste.out.pri ntl n ( 5A 2);

A . 6

B .7

C . 10

D .25

10.对下面的语句执行完后正确的说法是: ( D ) int c='c '/3; System.out.println (c ); A ?输出结果为21

B ?输出结果为22

C ?输出结果为32

D ?输出结果为33

11.以下选项中变量 a 已定义类型,合法的赋值语句为( D )

之后,得到的结果类型应该是 ( B ) A 、int 类型

C 、float 类型 15、以下程序的运行结果为

( A

public class A {

B 、double 类型 D 、long 类型

)。

main(String a[]) {

y = 5;

y);

z + "x+z"); + x + y); + (x + z)); A .a = int(y); B . a==1; C . a = a+1=3; D . ++a;

12.执行下列程序段后, ch , x , y 的值正确 的是:

( A )

int x=3, y=4;

boolean ch;

ch=x

A .true , 3, 4

B . true , 4, 3

C . false ,

3, 4

D .false , 4,

3

13.下列标识符中,

正确的是

(B) 。

A 、1_Back

B 、$_Money

C 、$-money

D 、2-Forward

14.现有一个 int 类型的整数和一个 double 类型的浮点数,当它们之间做了加法运算 public static void int

x = 2, String z = "5"; System.out.println(x +

System.out.println(x +

System.out.println("x+y=

System.out.println("x+z= }

}

A .7

B .7

C.25 D.7

25x+z x+y=25 x+z=25 7x+z

x+y=25

x+z=7

25x+z

x+y=7

x+z=25

25x+z

x+y=25

x+z=7

A.x>y && bx-y

a=12;则执行a*=12;语句后 B . 12 列标识符中,合法的一个是 B . $我们 $ b, x, 16、设有定义 int A .144 17、 A .$#@!$ 18、执行下列

程序段后, int x=6,y=8;

a 的值为:

C .24 ( C )。 C .$22$ y 的值分别是 (B) ( A )

D .0 D .2$$2

boolean b; b=x>y&&++x==--y; A . true , 6, 8 C . e, 7, 7

19、下列程序运行的结果 public class A { B .false D . false, 是 ( D ) 。 6, 8 7, 7

public static void main(String args[]) { int x =

7%3; while(x){

x--;

}

System.out.println(x);

}

}

A . 0

B . 1

C . true

D .编译错误

专题3 流程控制语句

、填空题

1.在switch 语句中的表达式的类型必须是(int 型)或者(Boolean 2.break 在循环语句中的作用是(跳出整个循环)

3.分支语句包括(双重分支)和(4.while 循环语句的循环次数(不限次),for 语句的循环次数(不限多重分支)。

),do-while 语句的循环次数

()。

、选择题

1.下面程序片段输出的是什么(int a=3, b=1;

if(a=b) Syste.out.println(A.a=1

c ?编译错误,没有输出

2.下面语句执行后,x 的值为(C int a=4, b=5, x=3; if(++a==b)

x=x*a;

A.3 B.12

3.请看下面的程序代码:c)

“ a=” +a);

B.a=3

D ?正常运行,但没有输出)

c.15

D.2 0

if(x<0) {Syste.out.println( “ first ”);}

else if(x<20) {Syste.out.println( “ second ”);}

else {Syste.out.println( “ third ” );}

当程序输出“ seco nd”,x的范围是(B)

A.x<=0 B.x<20 && x>=0

c.x>0 D.x>=20

4.请看下面的程序代码:

switch(n){

case 0: Syste.out.println( “ first ” );

case 1:

case 2: Syste.out.println( secobnrdea”k;);

至少一

default: Syste.out.println( }

当n 为何值时,程序段将输出字符

串A.0 B.1

5 ?下列语句执行后,j的值是(D ) int

j=3, i=3;

while(--i!=i/j) j=j+2;

A.4 B.5

6.下列语句执行后,x 的值是( D) int x=2 ;

do{x+=x ; }while(x<17);

A.4 B.16

7.执行下列语句后,i、j 的值是( B) int i=1, j=8;

do{

if(i++>--j)

continue;

}while(i<4); A.i=4, j=5

C.i=5,j=5 8.下列语句执行后,k 的值是(

int j=4, i, k=10;

for(i=2; i!=j; i++) k=k-i;

A.4 B.5

9 ?下列语句执行后,c的值是(C )

char c='0';

for(c= ' a'c<;'

z'c;+=3){ if(c>= ' e'br)eak; “end”);

second(” D )

C.2 D ?以上都可以C.6 D.7 C.32 D.256

}

A.‘e' B.'f' C.'g' 10.若变量都已经正确说明,则以下程序段输出为( a=10;

b=50; c=30;

if(a>b) a=b;b=c;

c=a;

System.out.println( a=”+ba=+” +b+”

c= +c);

B .i=5,j=4

D .i=5,j=6

B )

C

. 6 D.7

D.'h'

A )

java面向对象试卷及答案

java面向对象程序设计 系班级姓名成绩得分评卷人 一、填空题(每空2分,共20分) 1.Java源程序的扩展名是,经过编译后的程序的扩展名是。2.Socket通常也称为,用于描述和。3.线程的优先级在至之间,数值越大 4.构造方法是一种特殊的成员方法,构造方法名与相同 5.Java语言只允许单继承,指每个类只能有一个。 二、选择题(每题2分,共50分) 1.下列哪个概念是面向对象和面向过程程序设计所共有的() A、继承 B、流程控制 C、抽象 D、封装 2.以下关于执行Java小程序的论述错误的是:() A、可以通过浏览器调用嵌入了Java小程序的HTML文档 B、可以通过appletviewer.exe调用嵌入了Java小程序的HTML文档 C、可以通过java.exe调用嵌入了Java小程序的HTML文档 D、可以在Java集成开发环境中调用嵌入了Java小程序HTML文档 3.符合对象和类关系的是:() A、人和老虎 B、书和汽车 C、楼和土地 D、松树和植物 4.关于选择结构下列哪个说法正确?() A.if语句和else语句必须成对出现 B.if语句可以没有else语句对应 C.一个if语句只能有一个else if语句与之对应 D.else if结构中必须有default语句 5.while循环和do…while循环的区别是:()

A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.do…while循环执行次数可能为0 D.while循环执行次数可能为0 6.关于for循环和while循环的说法哪个正确?() A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空 7.下列修饰符中与访问控制无关的是() A.private B.public C.protected D.final 8.方法内的形参:() A.必须定义多个形参B.可以没有 C.至少有一个D.只能是简单变量 9.throws的作用:() A.表示方法可能会抛出例外 B.表示后面是方法的输出量 C.方法的标志,每个方法都必须有 D.没有意义 10.在Java语言中,整型常量123占用的存储字节数是:()A.1B.2 C.4 D.8 11.关于对象成员占用内存的说法哪个正确?() A.同一个类的对象共用同一段内存 B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存 D.以上都不对 12.return语句:()

Java面向对象测试试题

《使用Java实现面向对象编程》阶段测试-笔试试卷 一、选择题(共25题,每题4分,满分100分) 1) 在Java类中,使用以下()声明语句来定义公有的int型常量MAX。 A. public int MAX = 100; B. final int MAX = 100; C. public static int MAX = 100; D. public static final int MAX = 100; 2) 在Java中,下列关于方法重载的说法中错误的是()。 A. 方法重载要求方法名称必须相同 B. 重载方法的参数列表必须不一致 C. 重载方法的返回类型必须一致 D. 一个方法在所属的类中只能被重载一次 3) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重载。 public class Test{ public void cal(int x, int y, int z) {} } A. public int cal(int x, int y, float z){ return 0; } B. public int cal(int x, int y, int z){ return 0; } C. public void cal(int x, int z){ } D. public void cal(int z, int y, int x){ } 4) 在Java中,下面对于构造函数的描述正确的是()。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是void C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数

Java面向对象测试试题(经典)

《使用实现面向对象编程》阶段测试-笔试试卷 一、选择题(共25题,每题4分,满分100分) 1) 在类中,使用以下()声明语句来定义公有的型常量。 A. = 100; B. = 100; C. = 100; D. = 100; 2) 在中,下列关于方法重载的说法中错误的是()。 A. 方法重载要求方法名称必须相同 B. 重载方法的参数列表必须不一致 C. 重载方法的返回类型必须一致 D. 一个方法在所属的类中只能被重载一次 3) 给定代码如下所示,在横线处新增下列()方法,是对方法的重载。 { ( x, y, z) {} } A. ( x, y, z){ 0; } B. ( x, y, z){ 0; } C. ( x, z){ }

D. ( z, y, x){ } 4) 在中,下面对于构造函数的描述正确的是()。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是 C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数 5) 下面代码的运行结果是()。 { ; 名字 0; 健康值 ; 性别 () { = 10; = "雄"; ("执行构造方法。"); } () { ("企鹅的名字是" + + ",健康值是" + + ",性别是" + "。"); } ([] ) { = (); (); } } A. 企鹅的名字是,健康值是10,性别是雄。 B. 执行构造方法。

企鹅的名字是,健康值是0,性别是。 C. 企鹅的名字是,健康值是0,性别是。 D. 执行构造方法。 企鹅的名字是,健康值是10,性别是雄。 6) 下列选项中关于中封装的说法错误的是()。 A. 封装就是将属性私有化,提供公有的方法访问私有属性 B. 属性的访问方法包括方法和方法 C. 方法用于赋值、方法用于取值 D. 类的属性必须进行封装,否则无法通过编译 7) 使用实现封装,第一步是修改属性可见性来限制对属性的访问,第二步是创建赋值和取值方法,用于对属性的访问,第三步应该是()。 A. 使用赋值和取值方法访问属性 B. 编写常规方法访问属性 C. 在赋值和取值方法中,加入对属性的存取限制 D. 编写方法创建对象,调用赋值和取值方法访问属性 8) 分析如下所示的代码,其中关键字的意思是()。 { ; () { ;

java面向对象练习题

java面向对象练习题 1定义了一个函数来接收一年并确定它是否是闰年什么是闰年?可以除以4而不是100,或者可以除以400,那么今年是闰年 2年,使用do-while重写猜谜游戏(希望比老师更完美) 3定义了一个接收数组的函数,找到数组中的最大值,并计算数组中所有奇数的和4定义一个函数来接收数组,并将数组中元素的最大值放在数组的第一个位置练习5:输出1-150个奇数并计数 6练习:计算1-100的和。奇数和偶数是什么?练习7:用“边做边做”来计算1到100之间的偶数练习8:用边做边猜数字的游戏9打印99 10的乘法计算1-100个奇数的和 11定义一个函数来执行加法函数操作,而不向调用者返回值 12要求:定义一个函数来比较两个数字的大小,并将最大的数字返回给呼叫者要求:定义一个函数,根据学生的分数将相应的分数返回给调用者。 14要求:定义一个函数做加法函数,直接打印,不需要返回结果给调用者要求1:定义一个函数来接收数组并取出数组中的最大值 16要求2:定义一个接收数组的函数,并将数组中的最大值放在数组的第一个位置17要求3:定义一个接收数组的函数,并将数组中的最大值放在数组的最后一个位置定义一个函数来接收数组并翻转数组中的元素例如:国际[] arr = {1,2,3,4}-{4,3,2,1 }; 19练习:定义接收二维数组的函数,计算二维数组中所有元素的和,并计算奇数

XXXX年龄的方法 29练习:首先编写一个Person类,并计算创建Person的对象的数量练习:描述一种动物。鸟类和动物有名字和年龄属性,而且会移动。鸟类也有名称、年龄、颜色、属性和移动行为。31定义接收无序数组的方法。要对数组进行排序,请使用二分法来查找指定的元素 32描述了三种类型的汽车,宝马和奔驰,它们都有颜色、名称它还具有运行功能定义一个方法可以接收任何汽车对象,定义一个方法可以返回任何汽车对象描述动物、蛇、鱼和三类。编写一个可以接收任何动物对象的方法,定义一个可以接收任何动物类型对象 的方法,并调用该动物类型对象的特定方法34动物、狗和鱼的描述。动物有名字和颜色两种属性,动物有移动的行为。 199狗的一个独特方法是咬人。鱼特有的行为:吹泡泡 35练习:描述三类图形,矩形和圆形。每张图表都有计算面积和周长的方法。 清楚地描述了三类之间的关系 36描述了一类学生,它有两个属性id和name。学生有学习行为功能,但有些学生也在学习过程中赚钱。普通学生:不能通过学习赚钱的学生 可以通过学习赚钱的学生 37描述了图形、矩形、圆形和三个类。定义接收所有图像对象并打印图形对象的周长和面积的方法。定义一个返回任何图形对象的方法38描述了三类汽车,宝马和奔驰。汽车有颜色和名称它还具有运行

2012-2013java面向对象期末测试题(带答案)

济南大学2009~2010 学年第二学期课程考试试卷 课 程 java 面向对象程序设计 授课教师 考试时间 考试班级 学 号 姓 名 题号 一 二 三 四 五 总 分 审核人 得分 一、填空题(每空2分,共20分) 1.Java 源程序的扩展名是 .java ,经过编译后的程序的扩展名是 .class 。 2.Socket 通常也称为 套接字 ,用于描述 IP 地址 和 端口 。3.线程的优先级在 1 至 10 之间,数值越大 优先级越高 4.构造方法是一种特殊的成员方法,构造方法名与 类名 相同 5.Java 语言只允许单继承,指每个类只能有一个 父类或子类 。 二、选择题(每题2分,共50分) 1.下列哪个概念是面向对象和面向过程程序设计所共有的 ( B ) A 、继承 B 、流程控制 C 、抽象 D 、封装 2.以下关于执行Java 小程序的论述错误的是: ( C ) A 、可以通过浏览器调用嵌入了Java 小程序的HTML 文档 B 、可以通过appletviewer .exe 调用嵌入了Java 小程序的HTML 文档 C 、可以通过java.exe 调用嵌入了Java 小程序的HTML 文档 D 、可以在Java 集成开发环境中调用嵌入了Java 小程序HTML 文档 3.符合对象和类关系的是: ( D ) A 、人和老虎 B 、书和汽车 C 、楼和土地 D 、松树和植物 4.关于选择结构下列哪个说法正确? (B ) A .if 语句和 else 语句必须成对出现 B .if 语句可以没有else 语句对应 … … …… …… …… …… …… … …… …装 …… …… …… … …… …订 …… …… …… … …… …线 …… …… …… … …… …… …… …… …

Java面向对象知识测试__A卷_答案分析

面向对象部分测试题 考试宣言: 同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷! 我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业! 本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。 1.下面描述函数重写错误的是 A. 要有子类继承或实现 B. 子类方法的权限必须大于等于父类的权限 C. 父类中被private权限修饰的方法可以被子类重写 D. 子类重写接口中的抽象方法,子类的方法权限必须是public的//接口所有方法前面都是默认public abstract 2.下面关于类的设计思路描述错误的是 ( ) A. 根据需求定义类所包含的字段(成员变量) B. 根据面向对象的思想要求,隐藏属性和实现细节之后,可以提供公共的访问方式 C. 封装之后的字段在本类内也必须使用get/set方法//private修饰之后可以 在本类中直接使用,不需要通过get/set方法调用 D. 按需求可以在类中定义若干构造方法

3.分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在主函数应填 入()。 class A { public void test() { System.out.println("A类的test()方法"); } } class B extends A { public void test() { System.out.println("B类的test()方法"); } public static void main(String args[]) { } } A. A a = new B(); a.test(); B. A a = new A(); a.test(); C. B b = new A(); b.test(); D. new B().test(); 4.关于封装下面介绍错误的是()。 A. 封装隐藏实现细节 B. 封装提高重用性。 C. 封装提高安全性 D. 只有被private修饰才叫做封装//仅仅是封装的一种

《JAVA面向对象程序设计》练习题-参考答案

《JA V A语言程序设计》练习题1 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A. .java B. .class C. .html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 5、给定java 代码如下,编译运行后,输出结果是( )(选择一项)。 public class test { static int i; public int aMethod() { i++; return i; } public static void main (String args[]) { Test test=new Test() ; test.aMethod () ; System.out.println (test.aMethod()) ; } } a) 0 b) 1 c) 2 d) 3 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用2字节内存空间,这样,无论是中文字符还是英文字符,都是占 用2字节内存空间。 3、设x = 2 ,则表达式( x + + )/3 的值是0 。

Java面向对象试题集

1、面向对象编程的三大特性是() A) 封装,继承,多态B) 封装,重用,继承 C) 继承,抽象,多态D) 封装,灵活,抽象 2、下面关于构造方法的说法正确的是()(多选) A. 构造方法不能被继承 B. 构造方法不能被重写 C. 构造方法不能被重载 D. 构造方法不能声明为private 3、下面关于类的说法,不正确的是() A) 类是同种对象的集合和抽象B) 类属于Java语言中的引用数据类型 C) 对象是类的实例D) 类就是对象 4、封装性可以对类的成员进行访问级别控制,其中限制最严格的是() A) public B) private C) default D) protected 5、以下哪种类成员修饰符可以在不同包的子类中访问() A) static B) private C) default D) protected 6、Java语言中哪个包是被自动导入的() A) java.util B) https://www.360docs.net/doc/6113610101.html,ng C) java.default D) java.io 7、有一个类MyClass,它的构造方法声明正确的是() A) void MyClass(int x) {...} B) Myclass(int x){...} C) public MyClass(int x){…} D) public void MyClass(int x){…} 8、对下列程序说法正确的是() public class Test7{ public static void main(String args[]){ String s1 = "Hello world"; String s2 = "Hello"; s2 = s2 + " world"; System.out.println(s1 == s2); } } A) true B) false C) 编译错误D) Hello world 9、在Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用 ()关键字来声明父类的这些方法 A) final B) abstract

Java面向对象试题

Java面向对象试题 共30道题,每题3分,满分90分,60分算及格,不及格的要补考。

1) 在Java中,如果父类中的某些方法不包含任何逻辑,并且需要有子类重写,应该使用()关键字来申明父类的这些方法。(选择一项) a) Final b) Static c) Abstract d) Void 2) 给定两个java程序,如下: public interface Face{ int counter = 40; } public class Test implements Face{ private static int counter; public static void main(String[]args){ System.out.println(++counter); } } Test.java 的编译运行结果是()。(选择一项) a) 40 b) 41 c) 0 d) 1 3) 给定java代码,如下: public class Test{

static int i; public int aMethod( ){ i++; return i; } public static void main(String [] args){ Test test = new Test( ); test.aMethod( ); System.out.println(test.aMethod( )); } }编译运行后,输出结果是()。(选择一项) a) 0 b) 1 c) 2 d) 3 4) 给定java代码,如下: abstract class Shape { abstract void draw( ); } 要创建Shape类的子类Circle,以下代码正确的是()。(选择二项) a) class Circle extends Shape{ int draw( ){} }

java面向对象试题

OOP考试题 考试时间:120分钟 考试总分:100分 一、选择题(不定项选择)(2分/题*37 = 74分) 1.类A,B的定义如下: class A { private int a = 100; A() { "A()"); } } class B extends A { private int a = 200; B() { "B()"); } } 运行下面的代码: new B(); 输出的结果是:()。 A. A() 100 B() 200 B. A() 200 B() 200 C. B() 200 A() 100 D. B() 200 A() 200 2. 程序执行的结果是:()。 public class Point{ int y = 7;

public void step(int y) { y += y; } public static void main(String[] args) { Point p = new Point(); (10); } } 3.下面代码运行的结果是() class F{ String name = “name_F”; private int age; public F(){} } class C extends F{ String name = “name_C”; public C(){} public static void main(String[] args){ F f = new C(); C c = new C(); +”“+; } } name_C name_F name_C name_F 4.(单选题)程序的执行结果是:()。 public class Question { private int num; public static void main(String [] args){ Question q = new Question();

Java面向对象程序设计复习题附答案

Java面向对象程序设计复习题 一、选择题 1、下列哪个是Java中的关键字(C )。 A、run B、Integer C、default D、implement 2、下面关于Java.applet.Applet和其祖先类的描述语句哪个不对(B )。 A、Applet是Container的一种 B、Applet是Window的一种 C、Applet是Component的一种 D、Applet是Panel的一种 3、下列类DataOutputStream的构造方法正确的是(A )。 A、new dataOutputStream(new FileOutputStream(“out.txt”)); B、new dataOutputStream(“out.txt”); C、new dataOutputStream(new writer(“out.txt”)); D、new dataOutputStream(new FileWriter(“out.txt”)); 4、在switch(表达式)语句中,表达式的类型不能为(C )。 A、byte B、char C、long D、int 5、在接口MouseMotionListener中方法正确的是(A )。 A、Public void mouseDragged(MouseEvent) B、Public boolean mouseDragged(MouseEvent) C、Public void mouseDragged(MouseMotionEvent) D、Public boolean MouseDragged(MouseMotionEvent) 6、下面是一些异常类的层次关系 https://www.360docs.net/doc/6113610101.html,ng.Exception https://www.360docs.net/doc/6113610101.html,ng.RuntimeException https://www.360docs.net/doc/6113610101.html,ng.IndexOutOfBoundsException https://www.360docs.net/doc/6113610101.html,ng.ArrayIndexOutOfBoundsException https://www.360docs.net/doc/6113610101.html,ng.StringIndexOutOfBoundsException 假设有一个方法X,能够抛出两个异常,Array Index和String Index异常,假定方法X中没有try-catch语句,下面哪个答案是正确的。(B ) A、方法X应该声明抛弃ArrayIndexOutOfBoundsException和StringIndexOutOfBounds Exception。 B、如果调用X的方法捕获IndexOutOfBoundsException,则ArrayIndexOutOfBounds Exception和StringIndexOutOfBoundsException都可以被捕获。 C、如果方法X声明抛弃IndexOutOfBoundsException,则调用X的方法必须用Try-catch 语句 捕获。 D、方法X不能声明抛弃异常。 7、现有一变量声明为boolean aa;下面赋值语句中正确的是( D )。 A、aa=0 B、aa=True C、aa="true" D、aa=false 8、某类Example的main()方法参数为args,当输入数据Java Example cat时,args[0]的值为(A )。 A、cat B、Java C、example D、null 9、String s1=new String(“Java”);String s2=new String(s1)则下列哪个说法是正确的(C )。 A、表达式s1==s2为真 B、s1和s2是同一个对象

Java面向对象选择测试试题

Java面向对象选择试题

————————————————————————————————作者:————————————————————————————————日期:

选择正确的答案 1) 在Java中,如果父类中的某些方法不包含任何逻辑,并且需要有子类重写,应该使用(c)关键字来申明父类的这些方法。 a) Final b) Static c) Abstract d) Void 2) 给定两个java程序,如下: public interface Face{ int counter = 40; } public class Test implements Face{ private static int counter; public static void main(String[]args){

System.out.println(++counter); } } Test.java 的编译运行结果是(D )。 a) 40 b) 41 c) 0 d) 1 3) 给定java代码,如下: public class Test{ static int i; public int aMethod( ){ i++; return i; }

public static void main(String [] args){ Test test = new Test( ); test.aMethod( ); System.out.println(test.aMethod( )); } }编译运行后,输出结果是(C)。 a) 0 b) 1 c) 2 d) 3 4) 给定java代码,如下: abstract class Shape { abstract void draw( ); }

Java面向对象选择试题

选择正确的答案 1) 在Java中,如果父类中的某些方法不包含任何逻辑,并且需要有子类重写,应该使用(c)关键字来申明父类的这些方法。 a) Final b) Static c) Abstract d) Void 2) 给定两个java程序,如下: public interface Face{ int counter = 40; } public class Test implements Face{ private static int counter; public static void main(String[]args){

System.out.println(++counter); } } Test.java 的编译运行结果是(D )。 a) 40 b) 41 c) 0 d) 1 3) 给定java代码,如下: public class Test{ static int i; public int aMethod( ){ i++; return i; }

public static void main(String [] args){ Test test = new Test( ); test.aMethod( ); System.out.println(test.aMethod( )); } }编译运行后,输出结果是(C)。 a) 0 b) 1 c) 2 d) 3 4) 给定java代码,如下: abstract class Shape { abstract void draw( ); }

要创建Shape类的子类Circle,以下代码正确的是(BD)。 a) class Circle extends Shape{ int draw( ){} } b) abstract class Circle extends Shape{ } c) class Circle extends Shape{ void draw( ); d) class Circle extends Shape{ void draw( ){} } 5) 给定java代码,如下: class Parent{ public void count( ){

java面向对象考题和答案

1.下面代码的输出结果是: public class Main { public static void main(String[] args) { int n = 100; int m = 200; System.out.println(f(n,m)); System.out.println(n); } public static int f(int m, int n) { n = m+n; return n; } } A.300 300 B.100 100 C.300 100 D.100 300 2.程序执行的结果是: public class Test { public static void main(String[] args) { int x = 6; Test p = new Test(); p.doStuff(x); System.out.println(" main: x = " + x); } void doStuff(int x) { System.out.println(" doStuff:x =" + x++); } } A.doStuff:x =7 main: x = 7 B.doStuff:x =7 main: x = 6 C.doStuff:x =6 main: x = 7 D.doStuff:x =6 main: x = 6

3.下列关于JVM的内存结构描述正确的是: A.类的各种信息在方法区中保存 B.堆用于存放程序运行过程当中所有的局部变量 C.栈用于存储使用new关键字创建的对象 D.数组属于JVM的内存结构 4.下列代码的输出结果是: public class Test { public void print(char c) { System.out.println("c"); } public void print(int i) { System.out.println("i"); } public void print(double d) { System.out.println("d"); } public void print(String s) { System.out.println("s"); } public static void main(String[] args) { Test test=new Test(); test.print('5'); } } A.c B.i C.d D.s 5.程序执行的结果是: public class Test { String name="Tom"; public Test(String name){ name=name; } public static void main(String [] args){ Test t = new Test("Jack"); System.out.println(https://www.360docs.net/doc/6113610101.html,); } } A.null B.Tom C.Jack D." "

《Java面向对象程序设计》考试卷及答案带注释

一、单选题(每小题1分,共30分) 1.在MyEclipse中,()视图可以将项目中包含的文件及层次结构展示出来。C A) Package B)Declaration C)Navigator D) Console 2.下列标识符中,正确的是()。C A)class B) 123_rr C) _lei D) test&12 3.下列的()选项可以正确用以表示八进制值8。0x代表16进制,0代表8进制 D A)0x8 B)0x10 C)08 D)010 4.以下哪个不是Java的原始数据类型()D A) int B) boolean C) float D) Char引用数据类型 5.下列有关Java布尔类型的描述中,正确的是()A A)一种基本的数据类型,它的类型名称为boolean B)用int表示类型 C)其值可以赋给int类型的变量 D)有两个值,1代表真,0代表假 6.在Java中,不属于整数类型变量的是( ) A A) double 浮点型B) long C) int D) byte 7.以下do-while语句构成的循环执行次数是()。B int k=0; do { ++k ;}while(k<1); A) 一次也不执行B) 执行1次C) 无限次D) 有语法错误,不能执行 8.表达式(1/0<1)&& (12==0) 的值为()。逻辑运算结果只有true和false两种 B A) true B) false C) 0 D) 运行时抛出异常 9.以下()表达式不可以作为循环条件 A A) i=5 B )i<3 C) count==i D) bEqual=str.equals("q") 10.下列数组初始化正确的是() D A) int score[5] = {90,12,34,77,56}; B) int[5] score = new int[]; C) int[] score = new int[5]{90,12,34,77,56}; D) int score[] = new int[]{90,12,34,77,56}; 11.若有定义:byte[] x={11,22,33,-66}; 其中0≤k≤3,则对x数组元素错误的引用是() C A) x[5-3] B) x[k] C) x[k+5] D) x[0] 12.以下代码的输出结果是()。 D public static void main(String[] args){ for(int i=1;i<=10;i++){ if(i%2==0||i%5==0){ continue; } System.out.print(i + "\t"); } } A) 1 B) 1 3 4 C) 1 3 5 7 9 D) 1 3 7 9 13.下列()选项的java源文件代码片段是不正确的。 B A) package testpackage; B) import java.io.* ; public class Test{} package testpackage;

Java面向对象编程练习题

【练习题】01.类的成员变量: 猜数字游戏:一个类A有一个成员变量v,有一个初值100。定义一个类,对A 类的成员变量v进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。 【练习题】02.类的成员变量: 请定义一个交通工具(Vehicle)的类,其中有: 属性:速度(speed),体积(size)等等 方法:移动(move()),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等. 最后在测试类Vehicle中的main()中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。 【练习题】03.类的成员变量与方法、构造方法 在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。 定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second),为了保证数据的安全性,这三个成员变量应声明为私有。 为MyTime类定义构造方法,以方便创建对象时初始化成员变量。 再定义diaplay方法,用于将时间信息打印出来。 【练习题】04.构造方法 编写Java程序,模拟简单的计算器。 定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。编写构造方法,赋予n1和n2初始值,再为该类定义加(addition)、减(subtration)、乘(multiplication)、除(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Number类的对象,调用各个方法,并显示计算结果。 【练习题】05.构造方法: 编写Java程序,用于显示人的姓名和年龄。 定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age)。定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年龄打印出来。 在main方法中创建人类的实例,然后将信息显示。 【练习题】06.get方法和set方法 定义一个类,该类有一个私有成员变量,通过构造方法将其进行赋初值,并提供该成员的getXXX()和setXXX()方法 【练习题】07.构造方法与重载

Java面向对象习题

选择题 1、下列关于变量的叙述哪个是错的?() A. 实例变量是类的成员变量。 B. 在方法中定义的局部变量在该方法被执行时创建。 C. 实例变量用关键字static声明。 D. 局部变量在使用前必须被初始化。 2、在Java语言中,下列哪个包是编译器自动导入的?() A. java.applet B. https://www.360docs.net/doc/6113610101.html,ng C. java.io D. java.awt 3、当类的成员未用访问权限修饰符时,Java认为此成员的访问权限为()。 A. private B. protected C.friendly D.public 4、下面哪个关键字不是用来控制对类成员的访问的?() A. public B. protected C. default D. private 5、下面哪一个特性不是面向对象编程主要体现的()。 A. 封装性 B. 继承 C. 多态 D. 类 6、不允许作为类及类成员的访问控制符的是()。 A. public B. private C. static D. protected 7、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为()。 A、static void method( ) B、public void method( ) C、final void method( ) D、abstract void method( ) 8、可以在下面代码段point x处写入的是?() //point x public class Interesting{ //do something } A. String str; B. static int PI=3.14; C. public class MyClass{//do other thing…} D. import java.awt.*; 9、下列关于变量的叙述哪个是错的?() A、实例变量是类的成员变量。 B、在方法中定义的局部变量在该方法被执行时创建。 C、实例变量用关键字static声明。 D、局部变量在使用前必须被初始化。 10、下列哪个类声明是正确的?() A、abstract final class HI{} B、abstract private move(){} C、protected private number; D、public abstract class Car{}

java面向对象考试题

public static void main (String[] args){ String[] fileNames = { "abc.txt", "bcd.exe", "cde.exe","def.dat","efg.exe" }; for (String fileName : fileNames) { if (fileName.endsWith(".exe")) { System.out.print(fileName.substring(0, https://www.360docs.net/doc/6113610101.html,stIndexOf(".exe"))+" "); } } } fileName.endsWith(".exe") 判断是否已".exe"结尾 substring(0,4) 截取0-3的字符串,不包含4 lastIndexOf(".exe") 获取".exe"最后一次出现的位置 答案:bcd cde efg 第二题: public static void go(Long n) { System.out.println("Long"); } public static void go(Short n) { System.out.println("Short"); } public static void go(int n) { System.out.println("int"); } public static void main(String[] args) { short y = 6; long z = 7; go(y); go(z); } 虽然y是short型的,但是编译器把它转换为int型 答案:int Long

Java面向对象基础试题汇总

一、【必做题】 Ⅰ.选择题 1、列选项中哪个是类public class Test { }的默认构造方法___?(知识点:构造器) A. Test(; B. Test(void; C. public Test(; D. public Test(void; E. public void Test(; 2、给定下列代码的执行结果是____?(知识点:构造器) public class A { void A( { System.out.println(“Class A”; } public static void main(String[] args { new A(; } } A. Class A B. 在第2行处抛出异常 C. 编译错误 D. 在第6行处抛出异常 E. 代码执行后没有输出 3、给定以下代码:(知识点:构造器) 1. public class ConstOver { 2. public ConstOver (int x, int y, int z { 3. }

4. } 下列选项中,哪些可以在ConsOver类中定义成重载的构造方法____: A. ConstOver ( { } B. int ConstOver ( { } C. ConstOver (int z, int y, byte x { } D. Object ConstOver (int x, int y, int z { } E. void ConstOver (byte x, byte y, byte z { } 4、以下代码的执行结果是_____?(知识点:static使用) A. 编译失败 B. 编译成功,输出“0” C. 编译成功,输出“1” D. 编译成功,输出“2” 5、以下代码的执行结果是____?(知识点:类的成员及方法中的变量) A. 代码编译成功,并且打印“s=” B. 代码编译成功,并且打印“s=null” C. 代码编译失败,因为s为被初始化 D.代码编译失败,因为s不可以被引用

相关文档
最新文档