JAVA程序设计.docx

上传人:b****5 文档编号:8356882 上传时间:2023-01-30 格式:DOCX 页数:21 大小:24.61KB
下载 相关 举报
JAVA程序设计.docx_第1页
第1页 / 共21页
JAVA程序设计.docx_第2页
第2页 / 共21页
JAVA程序设计.docx_第3页
第3页 / 共21页
JAVA程序设计.docx_第4页
第4页 / 共21页
JAVA程序设计.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

JAVA程序设计.docx

《JAVA程序设计.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计.docx(21页珍藏版)》请在冰豆网上搜索。

JAVA程序设计.docx

JAVA程序设计

《JAVA程序设计》练习题

一、单选择题

1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。

A.javaB..classC.htmlD..exe

2、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)。

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

3、不允许作为类及类成员的访问控制符的是(C)。

A.publicB.privateC.staticD.protected

4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。

A.staticvoidmethod()B.publicvoidmethod()

C.finalvoidmethod()D.abstractvoidmethod()

5、关于选择结构下列哪个说法正确?

(B)

A.if语句和else语句必须成对出现

B.if语句可以没有else语句对应

C.switch结构中每个case语句中必须用break语句

D.switch结构中必须有default语句

6、while循环和do…while循环的区别是:

(D)

A.没有区别,这两个结构任何情况下效果一样

B.while循环比do…while循环执行效率高

C.while循环是先循环后判断,所以循环体至少被执行一次

D.do…while循环是先循环后判断,所以循环体至少被执行一次

7、关于for循环和while循环的说法哪个正确?

(B)

A.while循环先判断后执行,for循环先执行后判断。

B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果

C.两种循环任何时候都不可以替换

D.两种循环结构中都必须有循环体,循环体不能为空

8、下列修饰符中与访问控制无关的是(D)

A.privateB.publicC.protectedD.final

9、void的含义:

(A)

A.方法没有返回值B方法体为空

C.没有意义D.定义方法时必须使用

10、return语句:

(C)

A.只能让方法返回数值B.方法都必须含有

C.方法中可以有多句returnD.不能用来返回对象

11、关于对象成员占用内存的说法哪个正确?

(B)

A.同一个类的对象共用同一段内存

B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间

C.对象的方法不占用内存

D.以上都不对

12、下列说法哪个正确?

(C)

A.不需要定义类,就能创建对象

B.对象中必须有属性和方法

C.属性可以是简单变量,也可以是一个对象

D、属性必须是简单变量

13、下列说法哪个正确?

(A)

A、一个程序可以包含多个源文件

B、一个源文件中只能有一个类

C、一个源文件中可以有多个公共类

D、一个源文件只能供一个程序使用

14、关于方法main()的说法哪个正确?

(C

A.方法main()只能放在公共类中

Bmain()的头定义可以根据情况任意更改)

C.一个类中可以没有main()方法

D.所有对象的创建都必须放在main()方法中

15、构造函数何时被调用?

(A

A、创建对象时        B、类定义时 

C、使用对象的方法时        D、使用对象的属性时 

16、抽象方法:

(C)

A、可以有方法体

B、可以出现在非抽象类中

C、是没有方法体的方法

D、抽象类中的方法都是抽象方法

)D、使用对象的属B、类定义

17、关于继承的说法正确的是:

(B)

A、子类将继承父类所有的属性和方法。

B、子类将继承父类的非私有属性和方法。

C、子类只继承父类public方法和属性

D、子类只继承父类的方法,而不继承属性

18、关于构造函数的说法哪个正确?

(C)

A、一个类只能有一个构造函数

B、一个类可以有多个不同名的构造函数

C、构造函数与类同名

D、构造函数必须自己定义,不能使用父类的构造函数C

19、this和super:

(C)

A、都可以用在main()方法中

B、都是指一个内存地址

C、不能用在main()方法中

D、意义相同

20、关于super的说法正确的是:

(C)

A、是指当前对象的内存地址

B、是指当前对象的父类对象的内存地址

C、是指当前对象的父类

D、可以用在main()方法中

21、覆盖与重载的关系是(A)

A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中

B.覆盖方法可以不同名,而重载方法必须同名

C.final修饰的方法可以被覆盖,但不能被重载

D.覆盖与重载是同一回事

22、关于接口哪个正确?

(A)

A、实现一个接口必须实现接口的所有方法

B.一个类只能实现一个接口

C.接口间不能有继承关系

D.接口和抽象类是同一回事

23、异常包含下列哪些内容?

(A)

A.程序执行过程中遇到的事先没有预料到的情况

B.程序中的语法错误

C.程序的编译错误

D.以上都是

24、对于已经被定义过可能抛出异常的语句,在编程时:

(A)

A、必须使用try/catch语句处理异常,或用throws将其抛出

B.如果程序错误,必须使用try/catch语句处理异常

C.可以置之不理

D.只能使用try/catch语句处理

25、当某一线程正处于休眠状态,而另一个线程用Thread类中的interrupt()方法中断它时,抛出的异常类型是

(C)。

A)IOExceptionB)RuntimeException

C)InterruptedExceptionD)

ClassNotFoundException

26、下面的程序段的功能是(D)。

Filefile1=newFile("d:

\\xxx\\yyy\\zzz");

file1.mkdirs();

A)在当前目录下生成子目录:

\xxx\yyy\zzzB)生成目录:

e:

\xxx\yyy\zzz

C)在当前目录下生成文件xxx.yyy.zzzD)以上说法都不对

27、应用程序的main方法中有以下语句,则输出的结果是(B)。

Strings=

"xxxxxxxxxxxxxxx#123#456#zzzzz";

intn=s.indexOf("#");

intk=s.indexOf("#",n+1);

Strings2=s.substring(n+1,k);

System.out.println(s2);

A)123456B)123C)xxxxxxxxxxxxxxxD)zzzzz

28、关于下面的程序Test.java说法正确的是(D)。

publicclassTest{

Stringx="1";

inty;

publicstaticvoidmain(Stringargs[])

{

intz=2;

System.out.println(x+y+z);

}

}

A)3B)102C)12D)程序有编译错误

29、应用程序的main方法中有以下语句,则输出的结果是(A)。

intb[][]={{1,1,1},{2,2},{3}};

intsum=0;

for(inti=0;i

for(intj=0;j

sum+=b[i][j];

}

}

System.out.println("sum="+sum);

A)10B)6C)9D)13

30、应用程序的main方法中有以下语句,则执行后输出的结果是(B)。

int[]x={125,21,5,168,98};

intmin=x[0];

for(inti=1;i

if(x[i]

min=x[i];

}

System.out.println(min);

A)125B)5C)98D)168

31、应用程序的main方法中有以下语句,则输出的结果是(D)。

Hashtablehashtable=newHashtable();

hashtable.put("100","aaa");

hashtable.put("200","bbb");

hashtable.put("300","ccc");

System.out.println(hashtable.get("300").toString()

+hashtable.g

et("200").toString()

+

hashtable.get("100").toString());

A)aaaB)bbbC)cccD)cccbbbaaa

32、以下关于java异常说法不正确的是(D)。

A)Throwable类是Java语言中Error类和Exception类的父类。

B)当异常对象是Exception类(或其子类)的实例时,能通过Java虚拟机或者throw语句抛出该异常对象,并能通过try…catch…finally处理。

C)如果只用一个catch块捕捉多个异常对象,则catch中的参数类型应是所有异常对象的父类。

D)以上说法都不对。

33、下列程序段执行后的结果是(A)。

Strings=newString("abcdefg");

for(inti=0;i

System.out.print(s.charAt(i));

}

A)acegB)ACEGC)abcdefgD)abcd子句

34、有整型数组:

int[]x={12,35,8,7,2};,则调用方法

Arrays.sort(x)后,数组x中的元素值依次是(A)。

A)2781235B)1235872

C)3512872D)8712352

35、应用程序的main方法中有以下语句,则输出的结果是(A)。

Strings1=newString("abc");

Strings2=newString("abc");

booleanb1=s1.equals(s2);

booleanb2=(s1==s2);

System.out.print(b1+""+b2);

A)truefalseB)falsetrueC)

truetrueD)falsefalse

36、应用程序的main方法中有以下语句,则输出的结果是(B)。

Hashtablehashtable=newHashtable();hashtable.put("x","12345");

hashtable.put("y","67890");

hashtable.put("a","abcde");

System.out.println(hashtable.get("a"));

A)aB)abcdeC)12345D)67890

37、应用程序的main方法中有以下语句,则输出的结果是(B)。

Strings="12345#aaa#bbb#67890";

intn=s.indexOf("#");

intk=s.indexOf("#",n+1);

intm=s.indexOf("#",k+1);

Strings2=s.substring(m+1);

System.out.println(s2);

A)123456B)67890C)aaaD)bbb

38、下面程序段执行后b的值是(B)。

Integerinteg=newInteger(9);

booleanb=integinstanceofObject;

A)9B)trueC)1D)false

39、应用程序Test.java的源程序如下,在命令行键入:

javaTestaaabbc

回车后输出的结果是(A)。

publicclassTest{

publicstaticvoidmain(Stringargs[]){

intk1=args.length;

intk2=args[1].length();

System.out.print(k1+""+k2);

}

}

A)32B)12C)13D)33

40、应用程序的main方法中有以下语句,则输出的结果是

(A)。

intb[][]={{1},{2,2},{2,2,2}};

intsum=0;

for(inti=0;i

for(intj=0;j

sum*=b[i][j];

}

}

System.out.println("sum="+sum);

A)32B)11C)2D)3

41、应用程序的main方法中有以下语句,则执行后输出的结果是(D)。

int[]x={125,21,5,168,98};

intmax=x[0];

for(inti=1;i

if(x[i]>max)

max=x[i];

}

System.out.println(max);

A)125B)5C)98D)168

42、程序Test.java编译运行后输出的结果是(A)。

publicclassTest{

Strings1="java";

publicstaticvoidmain(Stringargs[])

{

intz=2;

Testt=newTest();

System.out.println(t.s1+z);

}

}

A)java2B)2C)没有输出结果D)java

43、应用程序的main方法中有以下语句,则输出的结果是(A)。

Strings1="0.5",s2="12";

doublex=Double.parseDouble(s1);

inty=Integer.parseInt(s2);

System.out.println(x+y);

A)12.5B)120.5C)12D、“12.5”

44、如下哪个是Java中的标识符(A)

A、publicB、superC、3numberD、width

45、如下哪个是Java中的标识符(A)

A、fieldnameB、superC、3numberD、#number

46、已知如下定义:

Strings="story";下面哪个语句不是合法的(A)

A、s+="books";B、s=s+100;

C、intlen=s.length;D.t=s+“abc”;

47、如下哪个是Java中有效的关键字(C)

A、nameB、helloC·falseD、good

48、下面的代码段执行之后count的值是什么(

intcount=1;

for(inti=1;i<=5;i++){

count+=i;

}

、StringC、D)D

System.out.println(count);

A、5B、1C、15D、16

49、定义一个类,必须使用的关键字是(B)

A、publicB、classC、interfaceD、static

50、定义一个接口必须使用的关键字是(C)

A、publicB、classC、interfaceD、static

51、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是(C)

A、p.add(b);B、p.add(b,"North");

C、p.add(b,"South");D、b.add(p,"North");

52、声明并创建一个按钮对象b,应该使用的语句是(A)

A、Buttonb=newButton();B、buttonb=newbutton();

C、Buttonb=newb();D、b.setLabel(“确定”);

53、Frame对象默认的布局管理器是(B)

A、FlowLayoutB、BorderLayoutC、CardLayoutD、null

 

 

三、判断题  25

分 

1.在Java中一个类不能同时继承一个类和实现一个接口。

F

 2.Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。

3. 构造方法是类的一种特殊方法,它的方法名必须与类名相同。

4.在一个Java源程序文件中,可以有多个public类。

5. Java语言含有指针。

6. Java程序编译之后所生成文件的扩展名为“.java”。

7. 假设有一个Java源程序文件,它只定义了一个具有public属性的类Hello,那么编译

该文件的命令是“javac Hello”。

8.构造方法一般不允许返回任何值,但也不允许标注void。

9. 抽象类可以实例化,但不能被继承;最终类不能实例化,可以被继承。

10. Java语言不含有指针与析构方法,所以Java程序只有在结束运行时,才能释放所占用

的内存。

11. Java语言是不区分大小写的。

12. Java程序源文件的扩展名为“.jar”。

13.以//开始的是多行注释语句。

14. 在Java语言中,每个ASCII码英文字符占用8个二进制位,而每个中文汉字字符则占

用16个二进制位。

15. 在Java中一个类只能实现一个接口。

16. 在同一个类中,允许存在具有相同方法名和相同参数列表的方法,只要这些方法的返回类型不相同。

17.对于数组int [][]t={{1,2,3},{4,5,6}};来说,t.length等于3,t[0].length等于3.F 

18.抽象方法不能含有方法体,并且必须在抽象类中。

F

 19.Math类中的方法round()的功能是返回与参数最近的整数即:

四舍五入后取整。

20.已知int  t=64000在语法上正确,则short  s=640000呢?

21.Java数组中可以放入任何类型的数据。

T

 22.Java程序分成应用程序和小程序两类,一个Java程序有可能既是应用程序,又是小程序。

23.java.lang包是Java程序自动导入的,因此可以直接用其中的类和接口;位于类继承关

系层次结构的根部的类Object就在此包中。

24.有时候为了避免引起混淆,构造方法名可以不与所属的类名同名。

25.以/*开始,*/结束的是单行注释。

1、简述Java中异常处理的机制?

答:

首先Java的异常是面向对象的。

一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,一个Exception对象就产生了,并放到异常的成员函数里。

Java的异常处理是通过5个关键词来实现的:

try,catch,throw,throws和finally。

1.异常处理:

在Java语言的错误处理结构由try,catch,finally三个块组成。

其中try块存放将可能发生异常的Java语言,并管理相关的异常指针;catch块紧跟在try块后面,用来激发被捕获的异常;finally块包含清除程序没有释放的资源,句柄等。

不管try块中的代码如何退出,都将执行finally块。

2.抛出异常:

Java语言可以不在方法中直接捕获,而用throw语句将异常抛给上层的调用者。

Throw语句就是来明确地抛出一个异常;首先你必需得到一个Throwable的实例句柄,通过参数传到catch中,或者采用new操作符来创建一个。

2、什么是继承?

答:

通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。

3、请简述重载和重写的区别?

答:

方法的重写Overriding和重载Overloading是Java多态性的不同表现。

重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。

如果在子类中定义某方法与其父类有相同的名称和参

数,我们说该方法被重写(Overriding)。

子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。

如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载

(Overloading)。

Overloaded的方法是可以改变返回值的类型。

四、写出下面程序的运行结果

1、importjava.io.*;

publicclassabc

{

publicstaticvoidmain(Stringargs[]){

ABs=newAB("Hello!

","IloveJAVA.");System.out.println(s.toString());}

}

classAB{

Strings1;

Strings2;

publicAB(Stringstr1,Stringstr2)

{

s1=str1;

s2=str2;

}

publicStringtoString()

{

returns1+s2;

}

}

运行结果:

Hello!

IloveJAVA

2、importjava.io.*;

publicclassabc

{

publicstaticvoidmain(Stringargs[])

{inti,s=0;

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

for(i=0;i

if(a[i]%3==0)s+=a[i];

System.out.println("s="+s);}

}

运行结果:

3、importjava.io.*;

publicclassabc

{

publicstaticvoidmain(Stringargs[]){

System.out.println("a="+a+"\nb="+b);}

}

classSubClassextendsSuperClass{intc;

SubClass(intaa,intbb,intcc)

{

super(aa,bb);

c=cc;

}

}

classSubSubClassextendsSubClass

{i

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1